Software Engineer, Compute Infrastructure

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:

At Uber, we're building an advanced simulation system - a key component to the development of our autonomous vehicle technology. Come join our growing team and help us build dynamic, high-fidelity, simulated driving environments that will be used in the training and testing of our self-driving cars and trucks.

As an infrastructure engineer, you will be building a simulation system which can run millions of simulations each day. Come help us build the software that powers our simulation pipelines, utilizing Uber's multiple data centers, as well as cloud compute and storage. You'll be creating the tools our autonomy developers use every day to predict the real-world behavior of our autonomous vehicles as well as measuring our progress towards a fully autonomous, safe, self-driving Uber.

What You'll Do / What You'll Need / Bonus Points / About the Team

What You'll Do:

  • Deploy a scalable, fast, distributed simulation system which can run hundreds of thousands of simulations every hour
  • Instrument and monitor our simulation infrastructure and ensure a high level of reliability
  • Build automated regression testing frameworks used to test self-driving vehicle software
  • Deploy large-scale metrics analysis tools used to measure our autonomy progress

What You'll Need:

  • BS, MS, or PhD in computer science or equivalent
  • Strong coding skills in C++, Python, or Go in a Linux or other Unix environment
  • Experience working with AWS, Google Cloud, Azure or similar products

Bonus Points If You Have:

  • Worked with Elasticsearch, Kibana, or other analytics platforms
  • Worked with high-scale distributed datastores (like HDFS, Compute, DynamoDB, etc)
  • Experience with containerized software development and deployment, storage framework and scheduling systems
  • Have an excellent understanding of optimization techniques to overcome CPU and GPU bottlenecks

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 infrastructure tools team develops the core technology used for running software in a large scale distributed environment.

Back to top