- Software Engineering in the Hardware organization is where software meets the physical world. The Waymo Embedded Software Engineering team develops the critical, safety-critical software running at the edge of the Waymo driver, interfacing directly with steering, braking, propulsion, power distribution, and vehicle sensors
- You will develop the abstractions and business logic to safely control and manage autonomous vehicles across different vehicle platforms and OEMs
- Operating under stringent real-time, deterministic, and fail-operational constraints, the team builds high-reliability onboard firmware and off-vehicle simulation tooling, having a direct and material impact on Waymo’s ability to scale safely to more vehicles and cities
- 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!
- Develop high-quality vertically-integrated C++ software systems (on-vehicle firmware and off-vehicle simulation/tooling) running at the edge of the Waymo driver
- Contribute directly to the bring-up, validation, and debugging of next-generation compute platforms, peripheral drivers, and hardware-software interfaces for new vehicle platforms
- Write robust unit tests (such as gTest) and Software-in-the-Loop (SIL) simulation fixtures to validate edge-case handling, system robustness, and fault containment
- Analyze field data logs, vehicle telemetry, and simulation results to identify root causes and improve firmware performance
- Participate in cross-functional engineering workflows, design discussions, and code reviews alongside experienced embedded and systems engineers
- This will be a hybrid onsite internship position
Benefits
- Medical, dental, and vision insurance for employees and dependents
- Employee assistance programs focused on mental health
- Personalized workplace adjustments for diverse needs and abilities, including physical, mental, and neurodivergent considerations
- Access to mental health apps
- Onsite wellness centers
- Support programs including menopause benefit
- Medical advocacy program for transgender employees
- Second medical opinion for you and your loved ones
- Counseling services
- Competitive compensation
- Regular bonus and equity performance grant opportunities
- Generous 401(k) and regional retirement plans
- 1-on-1 financial coaching
- Annual cross-company compensation review and pay equity analysis
- Fertility and growing family assistance
- Parental leave and baby bonding leave
- Elder care and support
- Backup childcare
- Survivor income benefit
- Caregiver leave
- Paid time off, including vacation, bereavement, sick leave, parental leave, disability, and holidays
- Jury duty leave
- Military leave
- Hybrid work model with remote work opportunities also available
- Educational reimbursement
- Peer learning and coaching platform
- Donation matching programs
- Volunteer hours
- Employee resource groups
- Internal community groups and local culture clubs
- Inspiring spaces to work, recharge, and collaborate with fellow Waymonauts
- On-site meals and snacks
- Fitness centers, massage programs, and ergonomic support
- On-demand fitness, wellbeing, and cooking classes
- Commuter benefits
Strong programming foundation in C or C++, with a solid understanding of data structures, pointers, and memory managementFamiliarity with Linux development environments, command-line tools, and version control systems (e.g., Git)Demonstrated problem-solving ability, debugging skills, and comfort navigating ambiguity when working with evolving platforms or prototypesHigh curiosity, a continuous learning mindset, and the enthusiasm to explore unfamiliar hardware architectures, tools, and codebasesEnrolled in a BS or MS program in Computer Science, Computer Engineering, Software Engineering, Information Systems, or a related technical fieldEmbedded Systems and Real-Time Programming: Hands-on experience developing software for microcontrollers (such as ARM Cortex-M or Cortex-R), bare-metal environments, or RTOS with resource-constrained executionHardware Bring-Up and Lab Debugging: Practical experience with board bring-up, hardware-software integration, and lab instrumentation such as oscilloscopes, logic analyzers, and multimetersTesting and Quality: Experience with C++ unit testing frameworks like Google Test (gTest) and test-driven development methodologiesOpen Source and Student Team Experience: Active involvement in collegiate engineering teams (such as Formula SAE, Formula Electric, Baja SAE, robotics clubs) or open-source projects demonstrating dedication to crafting high-quality modern C++ softwareScripting and Tooling: Proficiency in Python for test automation, telemetry data analysis, or build scripting