Machine Learning Engineer, Geometry Team
Role summary
Waymo's Perception team is seeking a Machine Learning Engineer specializing in Geometry to enhance the spatial-temporal understanding of autonomous vehicles. This role involves combining ML and geometric algorithms to solve 3D spatial reasoning problems, developing multi-modal sensor fusion architectures, and building large-scale model training systems on Alphabet's infrastructure. You will work with millions of miles of driving data to develop and optimize models for object detection, tracking, segmentation, and road understanding. The ideal candidate has a BS in Computer Science or equivalent experience, 3+ years in ML/Computer Vision, and proficiency in Python, with familiarity in C++ and ML frameworks like PyTorch, JAX, or Tensorflow.
Waymo is an autonomous driving technology company with the mission to be the world's most trusted driver. Since its start as the Google Self-Driving Car Project in 2009, Waymo has focused on building the Waymo Driver—The World's Most Experienced Driver™—to improve access to mobility while saving thousands of lives now lost to traffic crashes. The Waymo Driver powers Waymo’s fully autonomous ride-hail service and can also be applied to a range of vehicle platforms and product use cases. The Waymo Driver has provided over ten million rider-only trips, enabled by its experience autonomously driving over 100 million miles on public roads and tens of billions in simulation across 15+ U.S. states.
The Perception team builds the system which learns the spatial-temporal representation and their semantic meanings of the surrounding environment of the autonomously driving vehicle (ADV), i.e., the system that “perceives” the world around the car. We work jointly with downstream teams on the optimization and integration into the Waymo Driver. We conduct our own research to address real-world problems and collaborate with research teams at Alphabet. We have access to millions of miles of driving data from a diverse set of sensors, enabling engineers like you to (1) develop methods for efficiently and continuously learning from large scale real-world data, to (2) develop models and model training at scale, to (3) analyze real-world behavior and develop systems for handling the complexities of interacting with the real-world, and (4) optimize models for our onboard and offboard hardware.
The Geometry team’s mission is to provide an early layer of perception for background subtraction, ground segmentation, and obstacle generation. Projects on our team generally require a diverse skill set of ML and geometric algorithms, onboard sensing and offboard mapping, and the ability to write and maintain efficient robust code. For this role, we are looking for a strong Software Engineer with robotics and machine learning experience, who will help us to accelerate the transition of low-level Perception tasks from algorithms to machine learning.
You will:
You have:
We prefer:
In accordance with Washington state law, we are highlighting our comprehensive benefits package, which is available to all eligible US based employees. Benefits for this role include:
The expected base salary range for this full-time position across US locations is listed below. Actual starting pay will be based on job-related factors, including exact work location, experience, relevant training and education, and skill level. Your recruiter can share more about the specific salary range for the role location or, if the role can be performed remote, the specific salary range for your preferred location, during the hiring process.
Waymo employees are also eligible to participate in Waymo’s discretionary annual bonus program, equity incentive plan, and generous Company benefits program, subject to eligibility requirements.
Sample Waymo interview questions
- 1
Design a data ingestion system
system designmedium - 2
Longest Substring with Two Distinct Characters Find the longest substring with at most two distinct characters. Input: s = "ccaabbb" Output: 5 Explanation: The substring "aabbb" contains exactly two distinct characters and has a maximum length of 5.
codingmedium - 3
Alien Dictionary Order Derive the alien dictionary order from a sorted list of alien words. Input: words = ["z","x","z"] Output: "" (Empty String) Explanation: The letter 'z' cannot come before 'x' and then suddenly after 'x', creating a cycle and making the dictionary invalid.
codingmedium - 4
Palindrome After Deleting One Character Determine if a string can be a palindrome after deleting at most one character. Input: s = "abc" Output: FALSE Explanation: Deleting any single character leaves either "ab", "bc", or "ac", none of which result in a valid palindrome.
codingmedium
Sign up for a personalized interview prep pack tailored to this role.