2027 Summer Intern, PhD, Machine Learning - Simulation & Closed-Loop Training
Required skills
- Machine Learning
- Simulation
- Closed-Loop Training
- Reinforcement Learning
- post-training
- distillation algorithms
- flow policy optimization
- diffusion policy optimization
- off-policy importance sampling
- constrained multi-objective RL
Nice to have
- first-author publications
- NeurIPS
- ICML
- ICLR
- CVPR
- CoRL
Role summary
Waymo is seeking PhD interns for Summer 2027 to work on Machine Learning for Simulation & Closed-Loop Training. This role involves designing, implementing, and scaling Reinforcement Learning algorithms and generative models for autonomous driving simulation. You will develop learned reward models, run large-scale ablation studies on TPUs, and write JAX code. The ideal candidate is pursuing a PhD in a related technical field, has strong Python and JAX/Flax or PyTorch skills, and deep research expertise in either Reinforcement Learning or Generative Modeling. Preferred qualifications include publications at top-tier venues, experience with multi-agent simulation, and distributed training.
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.
Software Engineering builds the brains of Waymo's fully autonomous driving technology. Our software allows the Waymo Driver to perceive the world around it, make the right decision for every situation, and deliver people safely to their destinations. We think deeply and solve complex technical challenges in areas like robotics, perception, decision-making and deep learning, while collaborating with hardware and systems engineers. If you’re a software engineer or researcher who’s curious and passionate about Level 4 autonomous driving, we'd like to meet you.
Waymo interns partner with leaders in the industry on projects that create impact to the company. We believe learning is a two-way street: applying your knowledge while providing you with opportunities to expand your skill-set. Interns are an important part of our culture and our recruiting pipeline. Join us at Waymo for a fun and rewarding internship!
You will:
You have:
We prefer:
Note: This will be a hybrid onsite internship position. We will accept resumes on a rolling basis until the role is filled. To be in consideration for multiple roles, you will need to apply to each one individually - please apply to the top 3 roles you are interested in.
The expected hourly rate for this full-time position is listed below. Interns are also eligible to participate in the Company’s generous benefits programs, subject to eligibility requirements.Hourly PhD Pay$85—$85 USDSample Waymo interview questions
- 1
Design a data ingestion system
system designmedium - 2
Design a simulation-based regression detection system for code changes
system designhard - 3
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 - 4
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 - 5
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
Get started to unlock a personalized interview prep pack for this role.
Similar roles
- Full Stack Engineering Intern - Summer 2027Raft Company Website · Mclean, VA · Onsite
Science & Technology - HPC DevOps Engineer Intern - Summer 2027Corning · Corning, NY · Onsite
Markets - Sales and Trading, Summer Analyst, New York City - US, 2027Citi · New York, NY · Hybrid
Summer 2027 Intern-P&C Actuarial & Underwriting Modeling - Data ScientistState Farm Insurance · Bloomington, IL · Hybrid
Summer '27 Intern - IT Support AnalystWelltower™ Inc. · Dallas, TX · Onsite
Service Technician (Summerly at Zanjero)Mark-Taylor · Glendale, AZ · Onsite
