Senior Staff Engineer, TPU Machine Learning Supercomputers - Google
Sunnyvale, CA
About the Job
Minimum qualifications:
- Bachelor's degree or equivalent practical experience.
- 8 years of experience in software development, and with data structures/algorithms.
- 5 years of experience with design and architecture; and testing/launching software products.
- 5 years of experience working with common ML algorithms and how they map to software and hardware operations.
- 5 years of experience building Network Architecture along with routing algorithms and topologies.
- 5 years of experience with software development in C++.
Preferred qualifications:
- Master’s degree or PhD in Engineering, Computer Science, or a related technical field.
- 5 years of experience in a technical leadership role leading project teams and setting technical direction.
- 5 years of experience with High Performance Computing (HPC).
- 3 years of experience working in a complex, matrixed organization involving cross-functional, or cross-business projects.
About the job
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.
Google TPUs are custom-designed AI accelerators, which are optimized for training and inference of large AI models.As a Software Engineer in the TPU Accelerator Software team, you will lead the TPU inter-chip interconnect (ICI) software capabilities. The ICI is a custom interconnect for communicating across multiple TPUs and is essential to scaling Machine Learning (ML) workloads.
Google Cloud accelerates every organization’s ability to digitally transform its business and industry. We deliver enterprise-grade solutions that leverage Google’s cutting-edge technology, and tools that help developers build more sustainably. Customers in more than 200 countries and territories turn to Google Cloud as their trusted partner to enable growth and solve their most critical business problems.
The US base salary range for this full-time position is $237,000-$337,000 + bonus + equity + benefits. Our salary ranges are determined by role, level, and location. The range displayed on each job posting reflects the minimum and maximum target salaries for the position across all US locations. Within the range, individual pay is determined by work location and additional factors, including job-related skills, experience, and relevant education or training. Your recruiter can share more about the specific salary range for your preferred location during the hiring process.
Please note that the compensation details listed in US role postings reflect the base salary only, and do not include bonus, equity, or benefits. Learn more about benefits at Google.
Responsibilities
- Drive the development of ICI topology, TPU slice builder, resilient routing, and control plane for ICI over Ethernet. Own the ICI roadmap from the Software standpoint. Collaborate with TPU chip developers on features and roadmap for future products.
- Design and maintain software across different layers of the software stack and support various capabilities to accelerate ML training and inference performance and reliability.
- Provide technical leadership to help formulate and drive software development plans. Identify commonalities between different supercomputer generations and accelerator types and to create well abstracted and flexible software.
- Help identify dependencies in cross-functional teams and drive common execution with a peculiar focus on development velocity and quality.