Enable job alerts via email!

Software Engineer II, TPU Compiler

Google Inc.

City Of London

On-site

GBP 50,000 - 80,000

Full time

2 days ago
Be an early applicant

Job summary

A leading technology company in London seeks a skilled Software Engineer to develop next-generation technologies in machine learning using C++. The ideal candidate has significant experience in C++ and data structures. Responsibilities include writing code, leading design reviews, and contributing to TPU compiler development. This role requires collaboration across teams and offers opportunities for impactful work in an innovative environment.

Qualifications

  • 1 year of experience with data structures or algorithms.
  • Experience with C++, compiler construction and performance optimization.
  • Understanding of accelerators, e.g., GPUs or DSPs.

Responsibilities

  • Write product or system development code.
  • Review code developed by other developers.
  • Triage product or system issues.
  • Contribute to the TPU compiler.

Skills

C++
Data structures
Algorithms
Machine Learning
Debugging

Education

Bachelor's degree or equivalent practical experience
Master's degree in Computer Science or a related technical field
Job description
  • Bachelor’s degree or equivalent practical experience.
  • 1 year of experience with data structures or algorithms.
  • Experience with C++, compiler construction and performance optimization.
Preferred qualifications:
  • Master's degree in Computer Science or a related technical field.
  • Experience with Machine Learning architecture and infrastructure.
  • Understanding of accelerators, for example, VLIW, Vector machines, GPUs or DSPs.
  • Understanding of debugging correctness and performance issues at all levels of the stack.
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.

The TPU Backend and NPI team is at the crux of Machine learning, Compilers and TPU hardware. We collaborate with teams across hardware and software, and enable Google to have the industry's most performant machine learning chip (TPU) at the hands of machine learning (ML) modeling teams. The vast majority of all machine learning at Google flows through tools that the TPU backend and NPI team is creating, so impact is both immediate and massive. Enable a novel processor to accelerate machine learning workloads. This hardware will be deployed at scale and will power some of Google's most critical production workloads. Opportunities include performance optimization, programmability, usability and co-design of next generation hardware.

Behind everything our users see online is the architecture built by the Technical Infrastructure team to keep it running. From developing and maintaining our data centers to building the next generation of Google platforms, we make Google's product portfolio possible. We're proud to be our engineers' engineers and love voiding warranties by taking things apart so we can rebuild them. We keep our networks up and running, ensuring our users have the best and fastest experience possible.

Responsibilities
  • Write product or system development code. Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  • Review code developed by other developers and provide feedback to ensure best practices (e.g., style guidelines, checking code in, accuracy, testability, and efficiency).
  • Triage product or system issues and debug/track/resolve by analyzing the sources of issues and the impact on hardware, network, or service operations and quality.
  • Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  • Contribute to the TPU compiler for a novel processor designed to accelerate machine learning workloads. Target and compile high-performance implementations of operations at a distributed scale.

Google is proud to be an equal opportunity and affirmative action employer. We are committed to building a workforce that is representative of the users we serve, creating a culture of belonging, and providing an equal employment opportunity regardless of race, creed, color, religion, gender, sexual orientation, gender identity/expression, national origin, disability, age, genetic information, veteran status, marital status, pregnancy or related condition (including breastfeeding), expecting or parents-to-be, criminal histories consistent with legal requirements, or any other basis protected by law. See also Google's EEO Policy , Know your rights: workplace discrimination is illegal , Belonging at Google , and How we hire .

Google is a global company and, in order to facilitate efficient collaboration and communication globally, English proficiency is a requirement for all roles unless stated otherwise in the job posting.

To all recruitment agencies: Google does not accept agency resumes. Please do not forward resumes to our jobs alias, Google employees, or any other organization location. Google is not responsible for any fees related to unsolicited resumes.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.