C++ Software Engineer – Motion Planning
Position Summary & Responsibilities
About the team
Our team develops the core software and data processing systems that power motion planning and decision-making in autonomous vehicles. We work at the intersection of machine learning, large-scale data infrastructure, and real-time vehicle control, collaborating across engineering, analytics, and product teams to deliver safe and intelligent driving capabilities.
About the role
We are seeking a highly skilled C++ Software Engineer to join our core Motion Planning team. You will be at the forefront of developing the decision-making logic that enables our autonomous vehicles to navigate the complexities of the real world safely and efficiently. If you have a passion for solving hard algorithmic problems and writing high-performance code, this is the perfect opportunity for you.
What you'll do
- Design, implement, and optimize cutting-edge motion planning algorithms in modern C++ (C++17/20)
- Develop robust solutions for trajectory generation, pathfinding, and behavioral decision-making in dynamic environments
- Analyze and debug system performance using simulation, log playback, and on-vehicle testing data
- Collaborate closely with engineers from Perception, Prediction, and Control teams to build a cohesive and reliable self-driving system
- Write clean, maintainable, and optimized production-quality code
- Profile and optimize algorithms to meet real-time performance constraints
What you'll need
- Exceptional proficiency in modern C++ and a deep understanding of object-oriented design principles
- Strong foundational knowledge of algorithms and data structures, particularly those relevant to robotics (e.g., graph search, computational geometry, optimization techniques)
- Experience with software development tools and practices, including Git, CI/CD, and code reviews
Nice to have
- Proven success in competitive programming contests such as Google Code Jam, Hash Code, Topcoder Open, ICPC, or similar events
- Professional or academic experience in robotics, specifically with motion planning
- Experience with performance-critical software development, including multi-threading and memory optimization
- Knowledge of machine learning techniques (e.g., reinforcement learning, imita
Key Role Competencies & Evaluation Highlights
Focuses on safety-critical robotics engineering, edge-case autonomous driving resilience, and rigorous simulation-to-reality validation.
Apply for C++ Software Engineer – Motion Planning
Setup your contact terms & referral note to get recommended directly to the hiring lead at Avride.