Software Engineer - Core Libraries, Self-Driving

Uber Overview

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.

Job Description

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 / What You'll Need / Bonus Points / About the Team

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.

See Inside the Office of Uber

Back to top