Software Engineer, Generalist (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

As part of the Autonomy Team, you will be interacting on a daily basis with other software engineers to tackle highly advanced AI challenges. Eventually we expect all Autonomy Team members to work on a variety of problems across the autonomy space, however, with a generalist focus, your work will initially involve contributing across the different problems and sub teams to ensure extremely high-quality, high-performance code is used in all of our mission critical AI systems. For this position, we are looking for a software engineer with a strong interest in developing the next generation of autonomous vehicles and a deep knowledge of C++ and computational thinking, but without a specific background in AI or Machine Learning.


  • Work with artificial intelligence and machine learning engineers to develop core algorithms that will power Lyft's self-driving cars

  • Raise the bar across Level 5 on C++ code quality, design, and architecture

  • Implement high-performance, mission-critical C++ code that will run on the car and in the cloud

  • Profile, optimize, and debug new and existing C++ code in Linux-based environments

  • Drive software engineering direction of small to medium-sized projects and mentor junior engineers

Experience & Skills:

  • Ability to produce production-quality C++

  • Advanced working knowledge of C++11 and STL

  • Ability to deal with complex algorithms and datastructures

  • Ability to write testable, modular code for safety-critical systems

  • 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:

  • 5+ years developing production quality C++

  • Experience with multi-threading and concurrency in complex software

  • Experience with GPU programming in CUDA or OpenCL

  • Deep knowledge of Linux operating system

  • Advanced understanding of debugging, profiling, and monitoring complex C++ software

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