Serverobotics
Sr. Embedded Software Engineer, Robotics Platform
USA (remote). Posted a month ago
The role
This person will design, develop, test, and maintain robotics middleware and application frameworks using modern C++ on embedded Linux. They will own platform components from design through deployment across the robot fleet.
What you will do
- 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.
- Partner with software teams to identify reliability, performance, and developer experience problems.
- Collaborate with Autonomy and Systems Engineering on risk assessments, failure analysis, and software architecture.
- Translate system-level safety and reliability requirements into software behavior and verification strategies.
- Develop instrumentation, benchmarks, logging, tracing, and fleet-level metrics.
- Diagnose and resolve complex system-level issues involving concurrency, scheduling, and networking.
- Evaluate technical tradeoffs and contribute to architectural decisions.
- Lead technical design and code reviews and contribute to engineering standards.
- Provide technical guidance and mentorship to other engineers.
Required 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 to diagnose complex issues across software and hardware boundaries.
- Strong written and verbal communication skills and the ability to collaborate effectively across teams.
Nice to have
- 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.
About the company
Serve Robotics is reimagining how things move in cities with a personable sidewalk robot. The team consists of tech industry veterans in software, hardware, and design.