Waymo Onboard Infrastructure is responsible for low-level software and infrastructure on various components of the Waymo self-driving system. The team's scope covers everything from low-level system software to high-bandwidth data logging, IPC (low-latency and high-throughput), performance analysis, and full-system debugging. We work with the Hardware, Compute, Sensor, Perception, Behavior and Machine Learning teams to build the most performant and low-latency self-driving solution in the industry.
You will join the System Software Team and focus on the Telematics unit-the critical Linux-based gateway responsible for all data flow in and out of the autonomous vehicle. This includes vital functions like real-time diagnostics, over-the-air (OTA) software updates, and high-bandwidth telemetry. You will be essential in developing, securing, and maintaining the connectivity infrastructure that enables Waymo's fleet to operate and improve continuously.
In this role you will:
- System Software Development: Work on a small team of System Software and Linux Kernel Engineers to design, develop, and deploy production-grade system software components for driverless vehicles, from initial prototyping through launch.
- Linux OS Ownership: Maintain and upgrade the operating system of the Telematics unit, including Linux kernel, device drivers, and core OS services.
- Networking & Connectivity: Design and implement robust, high-performance networking solutions, focusing on reliable data transfer over wifi and cellular modems.
- Infrastructure & Testing: Design and implement comprehensive testing methodology and infrastructure to ensure the reliability and security of low-level software and seamless deployment of updates across the fleet. Leverage automated testing of hardware to exercise low-level hardware-software systems.
- Cross-Functional Problem Solving: Collaborate effectively with hardware partners (SoC vendors, ODMs) and internal engineering teams to tackle ambiguous, cross-disciplinary system challenges.
- Network Topology: Contribute to the design and implementation of depot network topologies for efficient vehicle servicing.
At a minimum, we'd like you to have:
- Education: BA/BS degree in Computer Science, Electrical Engineering, or a relevant technical field, or equivalent practical experience.
- Programming: Proficiency in C and C++ is required.
- Linux Expertise: 3+ years of experience developing, debugging, and deploying software in a Linux environment.
- Networking Fundamentals: A strong understanding of the IP-based networking stack and experience with its configuration and debugging in a Linux context.
It's preferred if you have experience with:
- Embedded Linux: Experience with Embedded Linux build systems such as Yocto or Buildroot.
- Low-Level Software: Experience in Linux kernel and device driver development.
- Wireless Technologies: Working knowledge of Wi-Fi (especially in congested environments), cellular and Bluetooth protocols.
- Hardware Debugging: Working knowledge of hardware bring-up and debugging, including the ability to read schematics/datasheets and use common tools (oscilloscopes, multimeters, logic analyzers).
- Testing Infrastructure: Experience building and maintaining testing infrastructure for OS, kernel, and other low-level code, including HIL testing stations.
- Vendor Collaboration: Experience successfully collaborating with diverse industry partners (CM, ODM, OEM, or ISV).