At a Glance
- Tasks: Write C++ code for cutting-edge TPU compiler and optimise large-scale machine learning models.
- Company: Join Google, a leader in tech innovation and digital transformation.
- Benefits: Competitive salary, health benefits, remote work options, and career development opportunities.
- Other info: Dynamic team environment with opportunities to switch projects and grow your career.
- Why this job: Make a real impact on technology that connects billions of users worldwide.
- Qualifications: Bachelor's degree, 2 years of software development experience, and strong C++ skills.
The predicted salary is between 60000 - 80000 £ per year.
Minimum qualifications:
- Bachelor’s degree or equivalent practical experience.
- 2 years of experience with software development in one or more programming languages.
- 2 years of experience with computer architecture, performance analysis, and performance modeling.
- 2 years of experience with performance, large-scale systems data analysis, visualization tools, or debugging.
- 1 year of experience with ML infrastructure (e.g., model deployment, model evaluation, optimization, data processing, debugging).
Preferred qualifications:
- Master's degree or PhD in Computer Science or related technical fields.
- 2 years of experience with data structures and algorithms.
- Experience optimizing distributed programs at large-scale and experience with Compilers and Compiler construction.
- Experience in Machine Learning and high performance computing (HPC).
- Excellent debugging and programming concurrent/parallel computations, and working on accelerators including very long instruction word (VLIW) and Vector machines, GPUs, or digital signal processors (DSPs).
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.
In this role as Software Engineer in the Accelerated Linear Algebra (XLA TPU team involves developing the accelerated linear algebra (XLA) tensor processing units (TPU) parallelizing compiler, which partitions, optimizes, and runs large-scale machine learning models across multiple TPUs accelerators for internal Google, Google DeepMind, and external customers. You will have expertise in C++ programming, efficient data structures and algorithms, and outstanding technical communication skills.
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 C++ code for the Tensor Processing Unit (TPU) compiler, in collaboration with Google's software development AIs.
- Carry out design reviews with peers and stakeholders to make appropriate engineering choices, write design documentation and present technical material clearly to the team.
- Improve the compiler, scaling machine learning models across hardware accelerators like TPUs, Graphics Processing Units (GPUs) inside Google and Cloud customers.
- 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.
Software Engineer III, Tensor Processing Units Compiler in London employer: Google
At Google, we pride ourselves on being an exceptional employer, offering a dynamic work culture that fosters innovation and collaboration. Our Software Engineers enjoy unparalleled opportunities for professional growth, working on cutting-edge technologies that impact billions of users globally. With access to state-of-the-art resources and a commitment to employee well-being, Google is the ideal place for those looking to make a meaningful impact in the tech industry.
StudySmarter Expert Advice🤫
We think this is how you could land Software Engineer III, Tensor Processing Units Compiler in London
✨Join Local Tech Meetups
Get out there and mingle with fellow developers by joining local tech meetups. It’s a fantastic way to meet people who might be working at Google or know someone who does. Plus, you can pick up some trendy tech skills and trends while you're at it!
✨Contribute to Open Source Projects
Show off your coding chops by jumping into open-source projects. Not only does this give you practical experience, but it also gets you noticed in the dev community. You'll create a killer portfolio that speaks volumes about your skills to Google.
✨Tap into Online Developer Communities
Don’t underestimate the power of online developer communities like GitHub, Stack Overflow, and even Reddit. Participate in discussions, share your projects, and build your visibility. We can often find opportunities through these channels that can lead to a full-time gig at companies like Google.
✨Explore Job Boards Specifically for Tech Roles
Keep your eyes peeled on job boards that focus on tech roles. Sites like TechCareers or Stack Overflow Jobs can often have listings for companies like Google that might not show up on broader job sites. Make it a habit to check these regularly, and don’t hesitate to apply directly through our website!
We think you need these skills to ace Software Engineer III, Tensor Processing Units Compiler in London
Some tips for your application 🫡
Show off your coding skills:When applying for a software engineering role, it's super important to showcase your coding skills. Make sure your CV includes your tech stack, any relevant programming languages you’re comfortable with, and examples of projects you've worked on. If you have a GitHub profile, link it up! We love to see code in action.
Tailor your portfolio:For a full-time role, we’d expect to see some solid examples of your work in your portfolio. Make sure to include at least two or three projects that highlight your problem-solving skills and your ability to work with different technologies. Focus on the projects that are most relevant to the position at Google.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at Google and how your skills align with the role. Show us your passion for software development. We dig enthusiastic candidates who understand the value of collaboration and continuous learning!
Be clear and concise:When it comes to writing your CV and cover letter, clarity is key. Avoid jargon that could confuse us and stick to simple, direct language. Highlight your achievements with quantifiable results where possible, and keep everything easy to read. A well-organised application goes a long way!
How to prepare for a job interview at Google
✨Brush Up on Your Coding Skills
For a full-time software engineering role, it's crucial that we stay sharp with our coding abilities. Expect technical questions that might involve solving problems on the spot or discussing algorithms. Practise on platforms like LeetCode or HackerRank to get comfortable with the types of questions that often come up.
✨Know Your Tools and Frameworks
Make sure we’re well-acquainted with the tools and technologies listed in the job description. Familiarise ourselves with any specific frameworks or programming languages mentioned. If Google uses React or Node.js, for instance, be ready to discuss how we’ve used them in previous projects or coursework.
✨Showcase Your Projects
Bring along a portfolio that highlights our best work. This could be code samples, GitHub repositories, or any side projects we’ve built. Make sure we can talk through our thought process for each project, especially the challenges we faced and how we solved them—this shows our problem-solving skills in action.
✨Prepare for Behavioural Questions
While technical skills are key, full-time positions also require cultural fit. Be ready to discuss our previous experiences and how we handle teamwork, conflict, and deadlines. Brush up on the STAR method—Situation, Task, Action, Result—to clearly articulate our past experiences when discussing how we've contributed to a team.