Waymo is looking to improve the performance of its autonomous driving systems, ensuring that onboard systems meet strict latency targets and optimize compute resource utilization (CPU/GPU/TPU/RAM) for driving quality and scalability. This involves addressing performance bottlenecks across the software stack and collaborating on hardware/software co-design.
Requirements
- 5 years of experience in C++
- 3 year of experience optimizing software using profile guided techniques
- 2 years in infrastructure/systems/performance domain optimizing end-to-end systems
- 2 years of experience working on a large-scale/high complexity system (supported by hundreds of engineers)
- Experience in robotics
- Experience in low-level optimization techniques, frameworks (SIMD/CUDA) and ML performance/frameworks
- Experience in evaluation techniques
Responsibilities
- Develop ADV's modular architecture improvements and frameworks that maximize performance and compute use and ROI for driving quality
- Evolve our compute usage on the car and simulation to promote continued scaling where the system runs fast on the car and in our data center
- Collaborate with onboard teams to identify and improve compute performance bottlenecks across the stack to improve performance/driving quality
- Collaborate with hardware teams to codesign hardware/software and improve the software for best performance on our hardware platform
- Ensure reaction latency for collision avoidance with and help design novel system/architecture for extremely fast nominal performance
- Develop necessary high scale performance evaluation, debugging and software change management processes
- Improve system resource usage to simulation at scale in Cloud datacenters: minimizing CPU use and latency, minimizing RAM usage, intelligently determining which computations should happen on CPU, GPU, and TPU.
Other
- BS in Comp Sci, EE, Robotics, Physics, Math, or related field (or equivalent experience)
- 5 years of experience as a software engineer or similar roles
- This is a hybrid remote/in-office role.