Senior/Staff Software Engineer - Motion Planning
Develop and implement algorithmic improvements for robot motion planning to enhance safe driving behaviors in complex urban environments. Requires Master's degree, 8+ years experience, C++ fluency, and expertise in planning techniques like A*, RRTs, PRMs.
About the job
Responsibilities
- Create principled algorithmic improvements to specific areas of driving behavior and implement those changes in our code base.
- Use our extensive backend tooling to test your changes across many different driving situations at the press of a button.
- Lead on-vehicle drive reviews to generate actionable feedback on driving performance. Use this experience to help the team learn and make improvements.
- Attend conferences and survey literature to stay informed on the most recent developments in the fields of Robotics and Motion Planning.
- Write and file patents for novel technologies you develop.
Qualifications
- Master's degree in Computer Science or related field and 8+ years of experience
- Fluency in C++
- Understanding of configuration spaces and a variety of planning techniques (A*, RRTs, PRMs, etc.)
- Demonstrated ability to create real-time motion planning algorithms
Bonus Qualifications
- Significant contributions to geometric- and/or sampling-based planning algorithms
- Experience with autonomous robots and machine learning or data-driven development processes
- Experience with ROS, pose estimation, SLAM, probabilistic filtering, 3D data, or CUDA
Skills
C++, A*, Rrt, Prm, ROS, Slam, CUDA, Motion Planning, Configuration Spaces, Real-Time Algorithms
Similar jobs
Embedded Engineering jobsDevelop and integrate embedded Linux software for cellular and wireless connectivity in autonomous vehicles, including modem vendor integration, protocol-stack debugging, telemetry, and performance optimization. Requires 10+ years of embedded wireless experience and strong C/C++ and Linux skills.
Leads the Linux kernel team’s technical direction while designing virtualization and low-level systems for GPU-accelerated AI and HPC workloads. Requires 10+ years of systems software experience, deep kernel expertise, strong C skills, and technical leadership experience.
Leads firmware architecture and a technical team developing real-time embedded control systems for smart hardware. The role requires 7+ years of firmware experience, strong C/C++ and Python skills, circuit-level debugging expertise, and technical leadership.
Leads the technical direction, integration, validation, and fielding of autonomy software across multiple unmanned-platform programs. The role requires 10+ years of related experience, strong C++ and Linux embedded-systems expertise, field-test experience, and the ability to lead cross-program initiatives.
Research and develop guidance, navigation, and control algorithms for high-performance aircraft, including vehicle dynamics modeling and control-system optimization. The role requires a relevant engineering degree, 7+ years of related experience, production C++, MATLAB, Simulink, and eligibility for a SECRET clearance.