Description
We are 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 are looking for a C++ Software Engineer with strong experience in modern C++ and solid general software engineering practices. You will work on core robotics software while also contributing to tooling, build systems, and CI infrastructure that keep our development process fast and reliable.
This role is ideal for someone who enjoys both architecting clean C++ systems and owning the engineering environment around them.
Responsibilities
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 development environments (Linux-based)
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; support automated testing workflows
Collaborate closely with robotics, controls, and hardware engineers
Participate in code reviews and help raise overall code quality
Requirements
Required Qualifications
Strong proficiency in C++ (C++17 or newer)
Experience with modern C++ concepts:
- ย RAII, smart pointers, move semantics
- Templates and generic programming
- Concurrency primitives and thread safety
- Clean API and library design
Solid understanding of software design principles and patterns
Experience working in Linux development environments
Hands-on experience with Git and collaborative workflows
Experience setting up or maintaining CI pipelines (GitLab CI preferred)
Familiarity with build systems such as CMake
Strong debugging skills and attention to detail
Preferred Qualifications
Experience in robotics, embedded systems, or real-time software
Familiarity with ROS / ROS 2
Experience with cross-compilation or embedded Linux
Knowledge of performance profiling and optimization
Experience with Docker or containerized development environments
Exposure to Python or other scripting languages for tooling