Staff Software Engineer, Switch Network Os

Google Google · Big Tech · Sunnyvale, CA +1

Staff Software Engineer role focused on building and optimizing switch software for Google's AI network infrastructure, supporting TPUs and GPUs. The role involves technical leadership in designing, developing, and deploying scalable and high-performing network software for data center fabrics, wide area networks, and peering edge infrastructure. It requires extensive experience in C++, large-scale infrastructure, distributed systems, and software architecture, with a focus on networking and embedded systems.

What you'd actually do

  1. Provide technical leadership in designing, developing, and deploying switch software that powers Google's large-scale AI networking infrastructure for TPUs and GPUs.
  2. Perform scalability and performance tuning of large-scale networks, including data center fabrics, wide area networks, and peering edge infrastructure.
  3. Influence, coach, and guide a distributed team of engineers on software design, coding standards, and technical direction.
  4. Facilitate alignment and clarity across cross-functional and cross-business teams on goals, outcomes, and timelines.
  5. Manage individual project priorities, deadlines, and deliverables while ensuring high-quality, tested, and maintained software solutions.

Skills

Required

  • C++
  • large-scale infrastructure
  • distributed systems
  • networking
  • software design
  • software architecture
  • testing
  • launching software products

Nice to have

  • Master’s degree or PhD in Engineering, Computer Science, or a related technical field
  • technical leadership
  • open source environment
  • Linux user space development
  • multi-threading development
  • embedded software development
  • network switch development
  • Layer 2/Layer 3 protocols
  • open-source SONiC

What the JD emphasized

  • 8 years of experience programming in C++
  • 5 years of experience testing, and launching software products
  • 5 years of experience building and developing large-scale infrastructure, distributed systems or networks, or experience with compute technologies, storage, or hardware architecture
  • 3 years of experience with software design and architecture