
Sr. Embedded Software Engineer, Robotics Platform
About the role
Who We Are
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
Not included in the source posting: benefits.
Skills
Who can apply
The employer didn't state any visa, work authorization, citizenship or clearance requirements in this posting. Confirm with the employer before applying.
Read automatically from the employer's posting text. Always confirm with the employer — requirements can change after a job is published.