Remote Jobs RockRemote Jobs Rock

Sr. Embedded Software Engineer, Robotics Platform

📅 Sep 25
Modern C++Embedded LinuxRobotics MiddlewareMultithreaded Programming
Apply Now

📜 Description

  • Develop and maintain robotics middleware and application frameworks in modern C++ on embedded Linux.
  • Own platform components from design and implementation through validation, deployment, and fleet operation.
  • Partner with platform users and Autonomy and Systems Engineering to improve reliability, performance, safety, and developer experience.
  • Build instrumentation, benchmarks, logging, tracing, and fleet metrics to monitor software performance and system health.
  • Diagnose system-level issues involving concurrency, scheduling, interprocess communication, networking, and constrained compute.
  • Lead technical reviews and contribute to architecture, engineering standards, documentation, and mentorship.

🛠️ Requirements

  • Bachelor’s degree in Computer Science, Robotics, Computer Engineering, Electrical Engineering, or a related technical discipline, or equivalent practical experience.
  • 5+ years of professional software engineering experience, including significant experience developing production software in modern C++ (C++17 and newer).
  • Experience developing and debugging systems software in embedded Linux environments.
  • Strong understanding of multithreaded programming, concurrency, synchronization, interprocess communication, and systems-level software development.
  • Experience designing software for latency-sensitive, safety-related, real-time, or high-reliability systems.
  • Experience profiling and optimizing embedded software for performance, reliability, and resource utilization.
  • Experience independently owning complex software components through design, implementation, testing, and deployment.
  • Strong troubleshooting and problem-solving skills with demonstrated ability to diagnose complex issues across software and hardware boundaries.
  • Strong written and verbal communication skills and the ability to collaborate effectively across software, systems, and hardware engineering teams.
Full job description

At Serve Robotics, we’re reimagining how things move in cities. Our personable sidewalk robot is our vision for the future. It’s designed to take deliveries away from congested streets, make deliveries available to more people, and benefit local businesses.

The Serve fleet has been delighting merchants, customers, and pedestrians along the way in Los Angeles, Miami, Dallas, Atlanta and Chicago while doing commercial deliveries. We’re looking for talented individuals who will grow robotic deliveries from surprising novelty to efficient ubiquity.

Who We Are

We are tech industry veterans in software, hardware, and design who are pooling our skills to build the future we want to live in. We are solving real-world problems leveraging robotics, machine learning and computer vision, among other disciplines, with a mindful eye towards the end-to-end user experience. Our team is agile, diverse, and driven. We believe that the best way to solve complicated dynamic problems is collaboratively and respectfully.

Responsibilities

  • Design, develop, test, and maintain robotics middleware and application frameworks using modern C++ on embedded Linux.

  • Own significant platform components from technical design and implementation through validation, deployment, and operation across Serve’s robot fleet.

  • Partner with software teams using the robot platform to identify reliability, performance, and developer experience problems and deliver reusable solutions.

  • Collaborate with Autonomy and Systems Engineering on risk assessments, failure analysis, fault-handling strategies, and software architecture.

  • Translate system-level safety and reliability requirements into software behavior, interfaces, and verification strategies.

  • Develop instrumentation, benchmarks, logging, tracing, and fleet-level metrics to measure and improve software performance, reliability, and system health.

  • Diagnose and resolve complex system-level issues involving concurrency, scheduling, interprocess communication, networking, and constrained compute resources.

  • Evaluate technical tradeoffs and contribute to architectural decisions that improve the scalability, maintainability, and reliability of the robotics platform.

  • Lead technical design and code reviews and contribute to engineering standards, development practices, and technical documentation.

  • Provide technical guidance and mentorship to other engineers through design discussions, problem solving, and knowledge sharing.

Qualifications

  • Bachelor’s degree in Computer Science, Robotics, Computer Engineering, Electrical Engineering, or a related technical discipline, or equivalent practical experience.

  • 5+ years of professional software engineering experience, including significant experience developing production software in modern C++ (C++17 and newer).

  • Experience developing and debugging systems software in embedded Linux environments.

  • Strong understanding of multithreaded programming, concurrency, synchronization, interprocess communication, and systems-level software development.

  • Experience designing software for latency-sensitive, safety-related, real-time, or high-reliability systems.

  • Experience profiling and optimizing embedded software for performance, reliability, and resource utilization.

  • Experience independently owning complex software components through design, implementation, testing, and deployment.

  • Strong troubleshooting and problem-solving skills with demonstrated ability to diagnose complex issues across software and hardware boundaries.

  • Strong written and verbal communication skills and the ability to collaborate effectively across software, systems, and hardware engineering teams.

What Makes You Stand Out

  • Experience developing middleware for robotics, autonomous vehicles, or similar complex systems.

  • Experience developing and deploying production software on NVIDIA Jetson or similar embedded computing platforms.

  • Knowledge of Linux internals, scheduling, resource management, device interfaces, and interprocess communication mechanisms.

  • Experience with fault-tolerant architecture, failure-mode analysis, functional safety, or safety-related software development.

  • Experience with distributed systems, networking, RPC frameworks, or serialization technologies such as Protocol Buffers, FlatBuffers, or Cap’n Proto.

  • Experience developing telemetry, observability, health monitoring, or diagnostic capabilities for robotics or distributed device fleets.

  • Experience integrating software with sensors, embedded hardware, or other robotic system components.

Additional Information:

This role works across multiple engineering disciplines and balances hands-on software development with systems-level problem solving, technical design, and cross-functional collaboration. The position may occasionally require access to robotics hardware or onsite participation in integration, testing, troubleshooting, or validation activities.

Samsara

Sr. Firmware Engineer II

🕒 2 days ago
Samsara👥 1001 - 5000 employees🏢 Computer Software

Lead embedded firmware development for intelligent safety and video features, integrating camera systems and real-time edge computing while shaping architecture, technical direction, and cross-functional hardware programs.

Embedded Software DevelopmentEmbedded LinuxGolangC/C++
Waymo

Senior Systems Engineer, Vehicle Security

🕒 2 days ago
Waymo👥 1001 - 5000 employees🏢 Internet

Own vehicle platform security requirements and architecture, define secure interfaces and features with OEMs, and lead verification, testing, and issue resolution across vehicle platforms and prototypes.

Vehicle System SecurityAutomotive SecurityVehicle Network ArchitectureModule Security

Trusted by Remote Workers