Software Engineer, Planning and Control (Autonomy)
At Lyft, community is what we are and it’s what we do. It’s what makes us different. To create the best ride for all, we start in our own community by creating an open, inclusive, and diverse organization where all team members are recognized for what they bring.
From day one, Lyft’s mission has been to improve people’s lives with the world’s best transportation. And self-driving cars are critical to that mission: they can make our streets safer, cities greener, and traffic a thing of the past. That’s why we started Level 5, our self-driving division, where we’re building a self-driving system to operate on the Lyft network.
Level 5 is looking for doers and creative problem solvers to join us in developing the leading self-driving system for ridesharing. Our team members come from diverse backgrounds and areas of expertise, and each has the opportunity to have an outsized influence on the future of our technology. Our world-class software and hardware experts work in brand new garages and labs in Palo Alto, California, and offices in London, England and Munich, Germany. And we’re moving at an incredible pace: we’re currently servicing employee rides in our test vehicles on the Lyft app. Learn more at lyft.com/level5.
- Work on core planning and control algorithms such as routing, behavior planning, trajectory planning, feedback controllers, etc.
- Develop state-of-the-art algorithms for planning under uncertainty using stochastic optimization techniques with linear and non-linear objective functions
- Develop behavioral reasoning framework to support navigation in complex traffic scenarios, such as lane changes, merges, double-parked vehicles, and blind turns
- Develop functionally safe systems that fail gracefully and safely exit traffic when difficult situations arise
- Implement real-time algorithms on CPU/GPU in C++
- Build tools and infrastructure to verify and evaluate the performance of the planner/controller over time
Experience & Skills:
- Ability to produce production-quality C++
- Strong background in artificial intelligence, robotics, algorithms, and data structures
- Ability to build applications for robot path planning using a broad range of tools such as numerical optimization, feedback control, system modeling, etc
- Ability to develop safety critical navigation systems for low-latency compute platforms
- Bachelor's degree or higher in Computer Science, Electrical Engineering, or related field
- Ability to work in a fast-paced environment and collaborate across teams and disciplines
- Openness to new / different ideas. Ability to evaluate multiple approaches and choose the best one based on first principles
Nice to Have:
- 2+ years experience working in a related role
- 5+ years developing in C++
- Hands on experience with building a navigation stack for mobile robots, from high-level route planning on road graphs and behavioral reasoning to trajectory generation and low-level feedback control
- Experience with robot path planning techniques like energy functions, behavior trees, jerk minimization, stochastic optimization, etc.
- Experience with traffic agent intention modeling
- Experience with GPU programming in CUDA or OpenCL
Lyft is an Equal Employment Opportunity employer that proudly pursues and hires a diverse workforce. Lyft does not make hiring or employment decisions on the basis of race, color, religion or religious belief, ethnic or national origin, nationality, sex, gender, gender-identity, sexual orientation, disability, age, military or veteran status, or any other basis protected by applicable local, state, or federal laws or prohibited by Company policy. Lyft also strives for a healthy and safe workplace and strictly prohibits harassment of any kind. Pursuant to the San Francisco Fair Chance Ordinance and other similar state laws and local ordinances, and its internal policy, Lyft will also consider for employment qualified applicants with arrest and conviction records.
Back to top