Software Engineer, Perception - 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. A strong awareness of our environment will allow us to operate respectfully in our neighborhoods. Simply put: to be considerate of our communities.
Naturally, we are also embracing the powerful positive impact autonomous transportation will bring to our everyday lives and it is our ambition to 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 and Artificial Intelligence a safe reality.
By joining the Autonomous Tech group, you will have the opportunity as a founding team member to develop and deploy tomorrow’s hardware & software solutions enabling the revolution of transportation and information.

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 perception, your work will initially involve turning our constant flow of sensor data into a model of the world. 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 computer vision and / or machine learning.


  • Work on core perception algorithms such as objection detection, tracking, segmentation, and state space estimation
  • Build segmentation and classification algorithms on LiDAR point cloud data
  • Implement state-of-the-art detectors and tracking for vision
  • Develop sensor fusion algorithms for radar, LiDAR, and vision modalities
  • Implement real-time algorithms (< 10 milliseconds) on CPU/GPU in C++
  • Build tools and infrastructure to evaluate the performance of perception stack and track it over time

Experience & Skills:

  • Ability to produce production-quality C++
  • Strong background in mathematics, linear algebra, geometry, and probability
  • Ability to build machine learning applications using a broad range of tools such as decision trees, Hidden Markov Models, deep neural networks, etc.
  • 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++ / Python
  • Hands on experience with applying deep learning to computer vision or other sensor data
  • Experience with GPU programming in CUDA
  • Experience with classical computer vision techniques like structure from motion, RANSAC, Hough transformations, camera calibration, pinhole projection models, etc.
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.