Staff Software Engineer, GPU Embedded Systems
Google · Sunnyvale, CA, USA
Google's software engineers develop the next-generation technologies that change how billions of users connect, explore, and interact with information and one another. Our products need to handle information at massive scale, and extend well beyond web search. We're looking for engineers who bring fresh ideas from all areas, including information retrieval, distributed computing, large-scale system design, networking and data storage, security, artificial intelligence, natural language processing, UI design and mobile; the list goes on and is growing every day. As a software engineer, you will work on a specific project critical to Google’s needs with opportunities to switch teams and projects as you and our fast-paced business grow and evolve. We need our engineers to be versatile, display leadership qualities and be enthusiastic to take on new problems across the full-stack as we continue to push technology forward.
The GPU Data Plane team within Google's Platforms Engineering organization is responsible for delivering the GPU host stack and next-generation virtualization system software. As a GPU Data Plane Software Lead, you will define the system software running on our bleeding-edge compute systems that power large-scale internal AI/ML infrastructure. In this highly impactful role, you will help bridge the gap between traditional containerization and lightweight, secure hypervisor-based Virtual Machines across our data center fleet.
The AI and Infrastructure team is redefining what’s possible. We empower Google customers with breakthrough capabilities and insights by delivering AI and Infrastructure at unparalleled scale, efficiency, reliability and velocity. Our customers include Googlers, Google Cloud customers, and billions of Google users worldwide.
We're the driving force behind Google's groundbreaking innovations, empowering the development of our cutting-edge AI models, delivering unparalleled computing power to global services, and providing the essential platforms that enable developers to build the future. From software to hardware our teams are shaping the future of world-leading hyperscale computing, with key teams working on the development of our TPUs, Vertex AI for Google Cloud, Google Global Networking, Data Center operations, systems research, and much more.
Individual pay is determined by factors including job-related skills, experience, and relevant education or training.
US: $207000 - $300000 (USD) + 20% bonus target + equity + benefits
Learn more about benefits at Google.
- Drive the design and development of next-generation GPU accelerator systems from concept to deployment, optimizing the hardware and software stack for data plane workloads.
- Identify value-added features for bare-metal, virtualized, and container-based use cases, and design in-band telemetry and control daemons to securely bridge host and guest environments.
- Integrate bleeding-edge vendor hardware security features into production software pipelines, evaluate architectural challenges across different CPU architectures, and recommend optimal system balance requirements.
- Anticipate the performance implications of continuous software advancements—such as in the Linux Kernel, VMs, containers, and networking—and adapt GPU systems accordingly.
- Define the GPU roadmap by collaborating with Google product teams and external partners, and derive a common architecture by strategically influencing vendors and standards committees.
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience in software development.
- 5 years of experience testing, and launching software products.
- 5 years of experience working with embedded operating systems.
- 3 years of experience with software design and architecture.
- Experience with system development, device drivers and Kernel programming.
Preferred qualifications:
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- 8 years of experience with data structures and algorithms.
- 3 years of experience in a technical leadership role leading project teams and setting technical direction.
- 3 years of experience working in a complex, matrixed organization involving cross-functional, or cross-business projects.
- Experience with PCI express, GPU programming, Linux internals, Linux Kernel, Virtualization, C or C+.