Software Engineer, Planning and Control - Autonomy

Lyft, Palo Alto, CA

Lyft is your friend with a car, whenever you need one

At Lyft 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 founding member of the Autonomous Tech group, you will have the opportunity to develop and deploy tomorrow’s hardware & software solutions and thereby revolutionizing transportation.

The Role
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 focus on planning and control, your work will initially involve taking output from the perception, localization, and prediction systems to determine a short, medium, and long-term course of action. For this position, we are looking for a software engineer with the ability to understand autonomous vehicles in general and a strong level of expertise in AI or robotics.


  • 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 EEO employer that actively pursues and hires a diverse workforce, and pursuant to the San Francisco Fair Chance Ordinance, we will consider for employment qualified applicants with arrest and conviction records.

About Lyft

Wherever you’re headed, count on Lyft for rides in minutes. The Lyft app matches you with local drivers at the tap of a button. Just request and go.

Ride by ride, we’re changing the way our world works.

Want to learn more about Lyft? Visit Lyft's website.