Enable job alerts via email!

Software Engineer II, TPU Compiler

WeAreTechWomen

United Kingdom

On-site

GBP 40,000 - 70,000

Full time

Today
Be an early applicant

Job summary

A leading technology company in the United Kingdom is seeking a Software Engineer to develop next-generation technologies and work on projects critical to its needs. Responsibilities include writing code, reviewing peer submissions, and optimizing performance. Ideal candidates have a Bachelor's degree in Computer Science, experience with C++, and a passion for machine learning architecture.

Qualifications

  • 1 year of experience with software development in one or more programming languages.
  • Experience with compiler construction and performance optimization.
  • Understanding of debugging correctness and performance issues.

Responsibilities

  • Write product or system development code.
  • Review code developed by other developers.
  • Triage product or system issues and debug.

Skills

Software development
Data structures and algorithms
C++ performance optimization
Machine Learning architecture

Education

Bachelor’s degree or equivalent
Master's degree in Computer Science or related
Job description
Minimum qualifications
  • Bachelor’s degree or equivalent practical experience.
  • 1 year of experience with software development in one or more programming languages (e.g., Python, C, C++, Java, JavaScript).
  • 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 workplace and is an affirmative action employer. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity or Veteran status. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. See also Google’s EEO Policy and EEO is the Law. If you have a disability or special need that requires accommodation, please let us know by completing our Accommodations for Applicants form.

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