C++ Software Engineer (Senior, Staff, or Lead)
We're a robotics company building reliable, high-performance systems that operate in the real world. Our work spans perception, control, and systems software, and we value clean design, maintainability, and engineering rigor as much as raw performance.
We're hiring a C++ Software Engineer with strong modern C++ skills and solid general software engineering practices. You'll work on core robotics software while also contributing to the tooling, build systems, and CI infrastructure that keep our development fast and reliable. This role suits someone who enjoys both architecting clean C++ systems and owning the engineering environment around them.
How leveling works This is one role, open at the Senior, Staff, or Lead level. The responsibilities below reflect the core of the role at every level. You don't need to decide which level fits you before applying. The selected candidate will be placed at the level commensurate with the skills, scope, and experience they demonstrate through the interview process, and the offer will align with that level. Senior and Staff are individual-contributor positions. Lead carries the same technical scope plus people-leadership responsibilities, for candidates who want them.
What you'll do (all levels)
- Design, implement, and maintain high-quality C++ code for robotics systems
- Apply modern C++ (C++17/20) design patterns and best practices
- Contribute to system architecture with a focus on performance, safety, and maintainability
- Set up and maintain Linux-based development environments
- Configure and maintain GitLab CI/CD pipelines for build, test, and deployment
- Improve build systems (e.g., CMake) and dependency management
- Write unit and integration tests, and support automated testing workflows
- Collaborate with robotics, controls, and hardware engineers
- Participate in code reviews and help raise overall code quality
Senior C++ Software Engineer
- Typically reached with 5+ years of relevant experience, or 3+ years following a PhD
- Owns a defined technical area and delivers independently end to end
- Mentors less-experienced engineers
- Track record of shipping production C++ in real systems
Staff C++ Software Engineer
- Typically reached with 8+ years of relevant experience
- Drives technical direction and architecture across the team's area
- Sets engineering standards and multiplies the output of others
- Demonstrated influence beyond their own deliverables, across teams or a whole codebase
Lead C++ Software Engineer
- Typically reached with 10+ years of relevant experience, including experience guiding engineers
- Staff-level technical scope plus people-leadership responsibilities: direct reports, hiring, performance, and team planning
- Demonstrated ability to grow engineers and run a healthy, productive team