Uber logo
Uber Verified
Transportation, Logistics, Food Delivery, Technology

Staff Software Engineer - ML Michelangelo

Sunnyvale, California, United StatesOnsiteFull TimeStaff$232,000–$258,000 /yrPosted 2 months agoVisa sponsorship available

Is this role right for you?

Upload your resume and get a skill-by-skill breakdown — see exactly where you match, where you're close, and what to highlight. Not a mystery percentage.

Get a tailored resume highlighting what this role needs.

Role summary

Uber is seeking a Staff Software Engineer specializing in Machine Learning to design, build, and maintain scalable deep learning training systems and frameworks. This role involves empowering production teams to innovate and deploy state-of-the-art models, ensuring the reliability and efficiency of distributed training tools. The engineer will collaborate with cross-functional teams to deliver robust ML solutions, requiring expertise in Python, PyTorch, and distributed deep learning systems. The position is based in Sunnyvale, CA, with a competitive salary range and benefits.

About The Role
Partners with stakeholders and leads team efforts to build and maintain Machine Learning backend services and solutions to support user-facing products, downstream services, or infrastructure tools and platforms used across Uber.
What the Candidate Will Do ----

  • Design and build tools to empower production teams to innovate and productionize state-of-the-art deep learning models at Uber.
  • Develop and maintain scalable, end-to-end deep learning training systems and frameworks.
  • Ensure distributed training tools are reliable, efficient, flexible to use for new production use cases.
  • Collaborate with cross-functional teams including machine learning engineers, backend engineers, data scientists, and data engineers to deliver robust ML solutions for Uber.

Basic Qualifications

  • Master in relevant fields (CS, EE, Math, Stats, etc.) AND 8+years full-time Software Engineering work experience in deep learning
  • Proficiency in Python and PyTorch
  • Expertise in designing, debugging, and optimizing distributed deep learning systems.
  • Working experience of distributed training in PyTorch at Scale (e.g., data parallelism, model parallelism).
  • Strong ability to translate complex DL requirements and problems into scalable solutions.

Preferred Qualifications

  • Expertise in distributed training frameworks such as DDP, DeepSpeed, FSDP, or TorchRec.
  • Familiarity with C++, Go or CUDA programming.
  • Expertise in optimizing GPU/TPU training performance and data loading efficiency.
  • Familiarity with large-scale distributed infrastructure tools like Ray, OpenAI Triton, PyTorch Lightning.
  • Built and deployed end-to-end machine learning systems in production.
  • Experience training large models (10B+ parameters), such as large recommendation systems or large language models (LLMs)
  • PhD in relevant fields (CS, EE, Math, Stats, etc.)

For Sunnyvale, CA-based roles: The base salary range for this role is USD$232,000 per year - USD$258,000 per year. You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. All full-time employees are eligible to participate in a 401(k) plan. You will also be eligible for various benefits. More details can be found at the following link https://jobs.uber.com/en/benefits., For Sunnyvale, CA-based roles: The base salary range for this role is USD$232,000 per year - USD$258,000 per year. You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. All full-time employees are eligible to participate in a 401(k) plan. You will also be eligible for various benefits. More details can be found at the following link https://jobs.uber.com/en/benefits.

Sample Uber interview questions

  • 1

    Design a truck tracking system that supports filtering by truck number and includes an interface

    system designmedium
  • 2

    Design Uber Eats

    system designmedium
  • 3

    Given a sorted array of integers (which may include negatives), return the squares of the numbers

    codingmedium
  • 4

    Find the minimum characters to insert to make a string a palindrome

    codingmedium
  • 5

    Given an array of integers and a number N, find the length of the longest contiguous subarray such

    codingmedium

Sign up for a personalized interview prep pack tailored to this role.

Ready to apply?
You'll be redirected to Uber's application page.