Skip to main content
Uber CareersUber Careers

Software Engineer (Autonomy)

Software, Advanced Technologies Group
in Pittsburgh, Pennsylvania

About the Role

As an Autonomy Software Engineer, your code won't just change pixels on a screen--it will change outcomes in the real, physical world. You will work closely with experts in perception, motion planning, and machine learning to design and implement robust, real-time algorithms and software systems to control a self-driving vehicle. You will be joining at an exciting time for our company and for our software infrastructure, where you will have the opportunity to architect the next generation of our software stack in a modern C++ framework founded on functional paradigms.

What You'll Do

  • Design, implement, test, and maintain autonomy software
  • Integrate machine-learned models and algorithms
  • Analyze and improve system performance via large-scale simulations
  • Find creative solutions to performance bottlenecks to improve vehicle reaction time
  • Engineer new metrics to characterize system performance and suss out rare and important events

What You'll Need

  • Excellent programming and software design skills in C++
  • Comfort understanding and modifying systems involving mathematical concepts
  • Comfort working on large codebases
  • BS / MS / PhD degree in Computer Science or a related field
  • For non-CS majors or BS candidates, strong industry software experience (2-5 years)

Bonus

  • Experience with robotics, sensors, computer vision, or machine learning
  • Experience with real-time or embedded systems
  • Experience with distributed/cloud computing environments
  • Experience with large-scale data analysis tools (e.g., Spark)
  • Knowledge of performance optimization techniques, especially CUDA and GPU-accelerated software

About the Team

The Autonomy team is responsible for the core behavior of our self-driving vehicles. We employ a combination of techniques from machine learning and robotics to build up a complex system of geometric and probabilistic abstractions, combining state of the art research with rigorous engineering. We contribute to the research community with publications in major conferences. In our line of work, there isn't a single day that doesn't present an intriguing challenge in algorithms and systems engineering.

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.