C++ Software Engineer – Motion PlanningAustin, TexasAbout the TeamOur 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 RoleWe 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 DoDesign, 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 environmentsAnalyze and debug system performance using simulation, log playback, and on-vehicle testing dataCollaborate closely with engineers from Perception, Prediction, and Control teams to build a cohesive and reliable self-driving systemWrite clean, maintainable, and optimized production-quality codeProfile and optimize algorithms to meet real-time performance constraintsWhat You'll NeedExceptional proficiency in modern C++ and a deep understanding of object-oriented design principlesStrong 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 reviewsNice to HaveProven success in competitive programming contests such as Google Code Jam, Hash Code, Topcoder Open, ICPC, or similar eventsProfessional or academic experience in robotics, specifically with motion planningExperience with performance-critical software development, including multi-threading and memory optimizationKnowledge of machine learning techniques (e.g., reinforcement learning, imitation learning) applied to planning or decision-making problemsSolid mathematical background, including linear algebra and probability theoryKnowledge of GPU programming (e.g., CUDA, OpenCL) for accelerating algorithmsCandidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.Avride is an equal opportunity employer and committed to providing reasonable accommodations to qualified applicants and employees with disabilities to ensure they have equal access to employment opportunities. Avride complies with the Americans with Disabilities Act (ADA), if you need a reasonable accommodation to assist with the application or hiring process, or to perform the essential functions of a job, please email