Senior Software Engineer, Persistent Disk – IPU, Storage Offloads

Google•Sunnyvale, CA
•$174,000 - $252,000

About The Position

As a Senior Software Engineer for Google’s IPU Storage Offloads team, you will design and implement low-level software and firmware for Google’s next-generation Infrastructure Processing Unit (IPU). The role focuses on the Persistent Disk (PD) data path, including high-performance NVMe emulation, hardware compression and decompression, and hardware-accelerated cryptography. You will connect ASIC capabilities with core block-storage services to deliver high IOPS and low latency while ensuring end-to-end data integrity and confidentiality. Google software engineers develop technologies and products used at massive scale. In this role, you will manage project priorities, deadlines, and deliverables, and design, develop, test, deploy, maintain, and enhance software solutions. The position is part of the Technical Infrastructure team, which builds and maintains the data centers and platforms that support Google’s products.

Requirements

  • Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or equivalent practical experience.
  • At least 5 years of software development experience in C or C++, focused on systems programming.
  • Experience with low-level systems architecture, including PCIe, DMA, IOMMU, memory-mapped I/O (MMIO), and interrupt handling.
  • Experience debugging on pre-silicon or early bring-up platforms using hardware emulators (such as P3 or CSS models) or physical logic analyzers/JTAG.

Nice To Haves

  • Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
  • Experience with custom SoC storage virtualization technologies, such as NVMe/SCSI controller emulation or VirtIO.
  • Familiarity with storage data protection protocols, including block cryptography and data integrity validation such as LBA mapping and cryptographic hashes.
  • Understanding of hardware-level security architectures.

Responsibilities

  • Develop low-level drivers and kernel-level modules.
  • Develop embedded C++ services running natively on ARM CPU cores to manage storage queues, ring buffers, and PCIe/DMA controllers.
  • Optimize the data path for microsecond-level latency and millions of IOPS using hardware features such as physical doorbells and direct cache routing.
  • Manage project priorities, deadlines, and deliverables.
  • Design, develop, test, deploy, maintain, and enhance software solutions.

Benefits

  • 15% bonus target
  • Equity
  • Benefits (details not specified in the posting)
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service