Job Description
We are seeking an Advanced Mid-level C++ Software Engineer with 4+ years of experience to help develop the software stack powering our autonomous vehicles. You’ll work on a variety of subsystems including fleet management, simulation, and system configuration, with increasing ownership and influence on architectural decisions. You don’t need to be a robotics expert, but you should be excited to learn and apply robotics principles and ROS2.
Key Responsibilities:
- Design, develop, and optimize C++ systems in simulation and real-time environments
- Improve and extend internal tools used for testing, simulation, and monitoring
- Implement software that interacts with real and virtual robotic systems
- Take ownership of modules, ensuring scalability and reliability
- Work with cross-functional teams including robotics, backend, and QA
- Help mentor junior engineers through reviews and technical guidance
- Write and maintain documentation and tests for new systems
Qualifications
- 4+ years of professional experience with modern C++ (C++ 17/20 or newer)
- Proficiency in object-oriented and generic programming
- Strong understanding of software design principles and system architecture
- Experience working with multi-threaded applications and low-level system concepts
- Comfort with Linux, shell scripting, and performance profiling tools
- Exposure to cross-language integration (e.g., using Python, Bash, or scripting for tools)
- Curious mindset and eagerness to learn robotics and ROS2
Preferred Qualifications:
- Experience with simulation frameworks (Gazebo, Ignition, Unity, etc.)
- Familiarity with ROS2 or other robotics middleware
- Working knowledge of networking, inter-process communication (IPC), or DDS
- Experience with containerization (Docker) and CI systems (GitHub Actions, Jenkins, etc.)
- Contributions to open-source or internal developer tooling