Staff Software Engineer, Accelerator Platform Software

Google Google · Big Tech · Sunnyvale, CA +1

Staff Software Engineer on the accelerator platforms team, focusing on engineering foundational hardware and low-level software for accelerator-to-host connectivity and onboarding new domain-specific accelerators into Google data centers. The role involves complex issues in low-level software and hardware interaction, with a focus on ML accelerators.

What you'd actually do

  1. On-board emerging co-accelerators into Google's ML accelerator families to enable new use cases with improved performance and efficiency.
  2. Collaborate with internal teams to design and implement new features in system software, including firmware or daemons running on baseboard management controller/hosts and kernel drivers.
  3. Design and develop tests, tools, telemetry, and dashboards to generate insights to monitor and debug potential issues.
  4. Analyze, debug, and resolve complex system-level challenges related to kernel, virtualization (input-output memory management unit), and input/output (peripheral component interconnect express/compute express link) stacks.
  5. Provide technical leadership to help formulate and drive software development plans and identify dependencies in cross-functional teams.

Skills

Required

  • software development
  • testing, and launching software products
  • embedded operating systems
  • software design and architecture
  • C
  • C++
  • linux kernel
  • virtualization
  • computer architecture

Nice to have

  • data structures and algorithms
  • technical leadership role leading project teams and setting technical direction
  • complex, matrixed organization involving cross-functional, or cross-business projects
  • pcie
  • iommu
  • vfio/iommufd
  • dma-buf
  • hardware-accelerated compute pipelines (GPUs, ML accelerators, DSPs) and its system integration (boot flow, firmware, telemetry)

What the JD emphasized

  • complex issues in low-level software and hardware interaction
  • emerging co-accelerators
  • ML accelerator families
  • system software, including firmware or daemons running on baseboard management controller/hosts and kernel drivers
  • kernel, virtualization (input-output memory management unit), and input/output (peripheral component interconnect express/compute express link) stacks
  • hardware-accelerated compute pipelines (GPUs, ML accelerators, DSPs) and its system integration (boot flow, firmware, telemetry)