Intern, Software Engineering, Embedded Systems
Mountain View, California, United States
Waymo is the self-driving technology company with a mission to make it safe and easy for people and things to move around. Building on software and sensor technology developed at Google, Waymo is now launching the world’s first fully self-driving transportation service that will take members of the public from A to B at the touch of a button.
Hardware Engineering is a diverse, innovative, and collaborative group of electrical, mechanical, reliability, software and vehicle engineers. We design, build, and perfect the products which are the eyes and ears of Waymo's self-driving systems, and integrate those products into vehicle platforms. We're seeking curious and talented teammates to keep us moving in the right direction.
Waymo’s Embedded Software team is responsible for building reliable, safety-critical systems that interface between our self driving system and OEM automotive platforms. We tackle a variety of problems including fault monitoring, command and control, sensor cleaning, and embedded simulation. We are seeking an intern at the BS/MS/PhD level who will design and implement hardware-in-the-loop profiling tools or analyze worst-case execution time of critical software components.
In this internship, you’ll:
- Design and implement a hardware-in-the loop data playback system
- Integrate this system into our continuous integration pipeline to collect profiling statistics and validate new changes
- Apply a third-party worst-case execution time static analyzer to our software
- Design a framework to generate a scheduler for a given set of tasks
- Formally verify or empirically validate the safety of the resulting schedule
At a minimum we’d like you to have:
- A solid command in using Linux
- A good understanding of Ethernet networking
- Proficient C++ programmer, experience in integrating tools
- Experience working with resource constrained embedded systems
It’s preferred if you have:
- Experience with continuous integration and scripting languages such as Python
- Familiarity or experience with CAN bus, Flexray, etc.
- A solid understanding of program analysis concepts and/or timed automata
- An interest in scheduling algorithms, theory and practice
At Waymo, we don’t just accept difference - we celebrate it, we support it, and we thrive on it for the benefit of our employees, our products and our community. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know.