Machine Learning Compiler Software Engineer, TPU Horizontal Scaling

Machine Learning Compiler Software Engineer, TPU Horizontal Scaling

Bachelor 60000 - 80000 £ / year (est.) No working from home possible
Google

At a Glance

  • Tasks: Develop and optimise software for large-scale machine learning models using cutting-edge technology.
  • Company: Join Google, a leader in tech innovation and digital transformation.
  • Benefits: Competitive salary, health benefits, flexible work options, and opportunities for growth.
  • Other info: Dynamic team environment with opportunities to switch projects and grow your career.
  • Why this job: Make a real impact on the future of technology while working with brilliant minds.
  • Qualifications: Experience in software development, data structures, and algorithms; C++ knowledge preferred.

The predicted salary is between 60000 - 80000 £ per year.

Minimum qualifications:

  • Bachelor’s degree or equivalent practical experience.
  • Typically 2 years of experience with software development in one or more programming languages, or 1 year of experience with an advanced degree.
  • Typically 2 years of experience with data structures or algorithms.

Preferred qualifications:

  • Master's degree or PhD in Computer Science, or a related technical field.
  • Experience in Machine Learning and High Performance Computing (HPC).
  • Experience optimizing programs at distributed scale.
  • Experience in C++.
  • Experience in compilers.
  • Ability to debug and program concurrent/parallel computations.

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. With your technical expertise you will manage project priorities, deadlines, and deliverables. You will design, develop, test, deploy, maintain, and enhance software solutions.

Our team develops the Accelerated Linear Algebra (XLA) TPU/GPU parallelizing compiler used to partition, optimize, and run large-scale machine learning models across multiple TPU/GPU accelerators for internal and external customers. The XLA Horizontal Scaling team’s software stack includes the XLA Single Program Multiple Data (SPMD) partitioner, collective and scheduling optimizations, and code generation.

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.

Responsibilities:

  • Write product or system development code.
  • Participate in, or lead design reviews with peers and stakeholders to decide amongst available technologies.
  • Contribute to a compiler which scales-out machine learning models across accelerators such as Tensor Processing Unit (TPU)/Graphics Processing Unit (GPU) at Google and Cloud.
  • Conduct static and runtime performance analysis of important large-scale production models.
  • Design and implement performance optimizations and critical features, which increase the velocity of important production teams.

Machine Learning Compiler Software Engineer, TPU Horizontal Scaling employer: Google

At Google, we pride ourselves on being an exceptional employer, offering a dynamic work culture that fosters innovation and collaboration. Our employees benefit from unparalleled growth opportunities, working on cutting-edge technologies that impact billions globally, all while enjoying a supportive environment that encourages creativity and problem-solving. Located in a vibrant tech hub, our team thrives on the excitement of tackling complex challenges in machine learning and high-performance computing, making every day at Google a rewarding experience.

Google

Contact Details:

Google Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Machine Learning Compiler Software Engineer, TPU Horizontal Scaling

Tip Number 1

Network like a pro! Reach out to folks in the industry, attend meetups, and connect with people on LinkedIn. You never know who might have the inside scoop on job openings or can refer you directly.

Tip Number 2

Show off your skills! Create a portfolio showcasing your projects, especially those related to machine learning and compilers. This gives potential employers a taste of what you can do and sets you apart from the crowd.

Tip Number 3

Prepare for technical interviews by practicing coding challenges and system design problems. Use platforms like LeetCode or HackerRank to sharpen your skills. Remember, confidence is key!

Tip Number 4

Apply through our website! It’s the best way to ensure your application gets seen. Plus, we love seeing candidates who are proactive about their job search. Don’t hesitate to follow up after applying!

We think you need these skills to ace Machine Learning Compiler Software Engineer, TPU Horizontal Scaling

Software Development
Programming Languages
Data Structures
Algorithms
Machine Learning
High Performance Computing (HPC)
C++

Some tips for your application 🫡

Show Off Your Skills:Make sure to highlight your programming experience, especially in C++ and any work with machine learning or HPC. We want to see how your skills align with the role, so don’t hold back!

Tailor Your Application:Customise your CV and cover letter to reflect the job description. Use keywords from the listing to show that you understand what we’re looking for. It helps us see you as a great fit right away!

Be Clear and Concise:When writing your application, keep it straightforward. We appreciate clarity, so avoid jargon unless it’s relevant. Make it easy for us to see your qualifications and experiences.

Apply Through Our Website:Don’t forget to submit your application through our website! It’s the best way for us to receive your details and ensures you’re considered for the role. We can’t wait to hear from you!

How to prepare for a job interview at Google

Know Your Tech Inside Out

Make sure you brush up on your knowledge of programming languages, especially C++. Be ready to discuss data structures and algorithms in detail, as these are crucial for the role. Practising coding problems can help you articulate your thought process during the interview.

Showcase Your Machine Learning Experience

Prepare to talk about any projects you've worked on that involved machine learning or high-performance computing. Highlight specific challenges you faced and how you optimised programs at scale. This will demonstrate your practical experience and problem-solving skills.

Understand the Role of Compilers

Since the position involves working with compilers, make sure you understand their role in optimising code for performance. Be ready to discuss any relevant experience you have, and consider brushing up on concepts related to parallel computations and distributed systems.

Be Ready for Design Discussions

Expect to participate in design reviews during the interview. Think about how you would approach designing a system or feature relevant to the job. Practise articulating your ideas clearly and be open to feedback, as collaboration is key in this role.