Software Engineer, C++ (Visualization)

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.

Responsibilities:

The Level 5 Tools team powers the autonomy and related software systems aboard Lyft’s autonomous vehicles. This role is a chance to help design, implement, and maintain the in-vehicle and offboard software Tools and the overall UX that enables operators and engineers to iterate fast for developing a self driving car.



  • Analyze requirements and propose designs of the in-vehicle tools that is used by autonomous engineers and vehicle operators

  • Design, implement, and maintain efficient, reusable, and reliable C++ code

  • Drive the technical direction of the visualization platform that is used by the level 5 organization

  • Create and maintain the team C++ design and style guidelines

  • Work directly with Product, Design and Operation to deliver features on tooling

  • Take on a leadership role within the software team and mentor junior engineers

  • Collaborate closely with the autonomous software team


Experience & Skills:

  • Bachelor’s degree in Computer Science or related field with at least 3 years of relevant professional experience

  • Extensive programming experience in C++11 or 14

  • Thorough knowledge of the standard library, STL containers, and algorithms

  • Strong background in object oriented design, prioritizing testability, and reusability

  • Experience in at least one of the following areas:


    • Building native developer tools

    • Automotive software development or similar domains

    • Linux operating system or real-time operating systems


  • Proven track record of identifying bottlenecks and bugs, and devising solutions to these problems


Nice To Have:

  • Experience with QT/ImGUI or other visualization frameworks

  • Experience with OpenGL

  • Advanced degree (Master, PhD) in HCI (Human Computer Interaction)


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, Lyft will also consider for employment qualified applicants with arrest and conviction records.


 


Back to top