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.

We care deeply about delivering the best transportation experience; this means the best experience for the passenger and the best experience for the driver. We believe this quality of service can only be achieved with a deep understanding of our world, our cities, our streets… how they evolve, how they breathe. We embrace the powerful positive impact autonomous transportation will bring to our everyday lives and with our ambition, we will become a leader in the development and operation of such vehicles. Thanks to our network, with hundreds of millions of rides every year, we have the means to make autonomy a safe reality. As a member of Level5, you will have the opportunity to develop and deploy tomorrow’s hardware & software solutions and thereby revolutionize transportation.

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.

Responsibilities:


  • 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