Waymo

Senior Software Engineer, Linux Kernel

Warsaw, Poland
Machine Learning C++
Search for More Jobs Talk to a recruiter now 💪
Description

Waymo is an autonomous driving technology company with the mission to be the 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 One, a fully autonomous ride-hailing service, and can also be applied to a range of vehicle platforms and product use cases. The Waymo Driver has provided over one million rider-only trips, enabled by its experience autonomously driving tens of millions of miles on public roads and tens of billions in simulation across 13+ U.S. states.

Waymo Platforms 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), networking, scheduling, process management, performance analysis, full-system debugging, etc. We work closely 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.

In this role, you will work on the Core Platform Team. The Core Platform team owns the primary compute node of Waymo's on-vehicle compute platform – a highly integrated, high performance embedded system.If you enjoy building robust and high-performance embedded systems using state-of-the-art compute hardware and working closely with engineering teams that will be direct consumers of your work, you'll be a great fit for this role.

 

In this role you'll:

  • Work on a small team of System Software and Linux Kernel Engineers to design, implement and test system software components from early prototyping to production launch of driverless vehicles
  • Design, implement and test Linux Kernel device drivers and other components for high-performance embedded systems including custom ASICs and accelerators.
  • Take on complex and ambiguous problems and come up with clean and robust solutions.

 

At a minimum, we'd like you to have:

  • BA/BS degree in Computer Science, Computer Engineering or relevant technical field or equivalent practical experience
  • 8+ years of relevant work experience
  • Proficiency in C and C++
  • Strong understanding of programming in an asynchronous environment with multiple processes, threads, timers, interrupts, etc.
  • Experience with Linux kernel and device driver development
  • Excellent debugging skills

 

It’s preferred if you have:

  • Experience with common hardware protocols/interfaces (PCIe, Ethernet, I2C, etc)
  • Working knowledge of complex hardware-accelerated compute pipelines (GPUs, ML accelerators, image/data processors, etc.)
  • Performance optimization of systems and complex pipelines
  • Working knowledge of hardware bring-up and debugging

 

#LI-Hybrid

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

60,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 320 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

Cancel anytime / Money-back guarantee

Wall of love from fellow engineers