Skip to main content
Uber

Tell us your location

Please enter your nearest city name to help us display the correct information for your area

Select your language

Robotics Infrastructure Software Engineer

Software, Advanced Technologies Group in Pittsburgh, PA

At the Advanced Technologies Group (ATG), we are building technologies that will transform the way the world moves. Our teams in Pittsburgh, San Francisco, Boulder, 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.

 

At Uber, we believe technology has the power to make transportation more efficient, accessible, and safer than ever before. Self-driving technology has the potential to make these benefits an everyday reality for our customers, but it’s not going to happen overnight.  Building best-in-class self-driving technology will take time, and safety is our priority every step of the way. Operating inclusively and transparently, while displaying responsible behavior in a structured development are critical to safety. We at ATG seek candidates who will role model these values.

 

At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.

 

 

We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let’s move the world forward, together.

About the Role

 

As a robotics infrastructure software engineer, you will build and integrate core software systems running on-board the fleet of self-driving vehicles. Your team is the first line of defense for thorny, emergent performance and reliability issues onboard. Your software systems are where autonomy algorithms, after vetting in simulation, hit the road and have to deal with real sensor data, freezing temperatures, and the realities of operating a test fleet.

 

This role is highly integrated with both autonomy engineering and test operations. This is the equivalent of a “full stack” position for robotics, ranging from low-level C++ performance optimization to building better tools to streamline track testing. You will be frequently asked to debug new systems to help solve the problems where all others have given up. You will interact directly with test engineers to inform the user interfaces for your software. You will also work closely with our hardware engineering teams to set the roadmap for next-generation vehicles: benchmarking new hardware and working with suppliers to design APIs for unreleased sensors.

 

What You’ll Do
  • Evolve the fleet from a collection of individual vehicles into a living, roving network with integrated metrics and monitoring
  • Squeeze CPU and GPU cycles out of our limited onboard hardware resources
  • Optimize and extend the custom Linux distribution used on the self-driving vehicles
  • Build the software and data deployment system, for automatically and efficiently distributing new software releases to the fleet and orchestrating process on the vehicle
  • Create abstract sensor and embedded device interfaces in C++
  • Work with autonomy engineers to meet latency requirements for sensor data
  • Scale onboard and offboard systems for transporting data to/from the vehicles
  • Build HIL (hardware-in-the-loop) test infrastructure to automatically verify onboard code changes and profile performance
  • Engineering support for field testing and fleet operations

 

What You’ll Need
  • 3 Minimum Years of Experience with Operating Systems, Device Drivers, Networking, Robotics Infrastructure

 

About the Team

This opening is for the Onboard Integration team, a part of Core Platforms. The goal of the team at the highest level is to provide low-latency, robust sensor data to autonomy algorithms. It's a simple mission but it involves every part of the stack. We are the first team of software engineers that get hands-on with new hardware, and are responsible for building the environment where we run code that has been tested offline with real hardware.

 

The team works in a middle layer between hardware and software, so one of the advantages is that you get to work with both sides of ATG. We are on the cutting edge evaluating next-gen hardware as well as making sure our existing fleet is as reliable as we can make it, and we're striving to provide better and easier to use APIs for autonomy engineers.

 

Our main focus areas include:

  • High-performance networking and time synchronization
  • E.g. optimizing the networking stack in Linux for low-latency, high bandwidth local connections
  • PTP and other time synchronization methods (e.g. PPS)
  • Network architecture, partitioning and security
  • Isolating infotainment traffic from sensor data, and maintaining Quality of Service
  • Wireless (e.g. LTE) networking
  • E.g. building redundancy into our networking at multiple levels
  • Software for fault management in safety-critical systems
  • Fault detection, response, containment and tolerance
  • Embedded device and sensor interfaces
  • Sensor data API design
  • Automated software updates and configuration management, in the style of invisible Chrome OS updates
  • Embedded Linux (e.g. kernel configuration and build)
  • Generally not writing code in the kernel itself. We would do so if necessary but if someone expected to come to this team and contribute to the Linux kernel they would be disappointed.
  • The “full stack” equivalent for robotics - able to solve performance issues in C++ and also understand the customer’s needs and build reasonable user interfaces (with pre-built frameworks - CSS and UX/UI expertise is not required)

See our Candidate Privacy Statement

At Uber we don’t just accept difference—we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status.