Stay in Touch



Software Engineer - Core Libraries, Self-Driving






San Francisco, CA, US


About Uber

We’re changing the way people think about transportation. Not that long ago we were just an app to request premium black cars in a few metropolitan areas. Now we’re a part of the logistical fabric of more than 600 cities around the world. Whether it’s a ride, a sandwich, or a package, we use technology to give people what they want, when they want it.

For the people who drive with Uber, our app represents a flexible new way to earn money. For cities, we help strengthen local economies, improve access to transportation, and make streets safer.

And that’s just what we’re doing today. We’re thinking about the future, too. With teams working on autonomous trucking and self-driving cars, we’re in for the long haul. We’re reimagining how people and things move from one place to the next.

About the Role

As an engineer focused on core libraries you will develop and improve the fundamental C++ libraries which are the foundation of our self driving software. You work efficiently and establish relationships with distributed teams located at Uber ATG offices in Pittsburgh, San Francisco, Phoenix, and Toronto. Occasional travel to Uber ATG locations is expected.

What You’ll Do

Maintain and develop a set of 40+ diverse libraries used for messaging, configuration, serialization, math, testing, logging, and more
Develop, support and enable the best software engineering practices across a large software engineering team
Improve the performance of the core systems which autonomy software relies on
Work with machine learning engineers to improve the autonomous vehicle stack
What You’ll Need

Modern C++ (11/14/17) expertise
Comfortable working on a Linux environment
Thorough understanding of multi-threaded programming
Experience designing and coding unit tests
Familiarity with developing test plans, stress-testing software, and designing large-scale integration tests
Proficiency in communicating with vehicle technicians, software engineers, and executives
You think a working proof-of-concept is the best way to make a point. You flourish with the belief that quality doesn't have to be compromised to achieve speed
In addition to having an intimate knowledge of core engineering fields, you understand how all the pieces fit together into integrated systems, and how they impact performance
Bonus Points If

Experience with Clang tooling
Experience with Bazel
Proficiency in Python
About the Team

At the Advanced Technologies Group (ATG), we are building technologies that will transform the way the world moves. Our teams in Pittsburgh, San Francisco, Phoenix, and Toronto are dedicated to mapping, software and hardware development, vehicle safety, and operations for self-driving technology. Our teams are passionate about developing a self-driving system that will one day move people and things around more safely, efficiently, and cost effectively.

The Onboard Integration team is responsible for developing the core APIs and libraries and for each self-driving platform so that our teams can develop on top of it in a seamless and scalable way.

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup