At a Glance
- Tasks: Design and maintain robust test infrastructure for complex ML software.
- Company: Join Graphcore, a leader in AI compute backed by SoftBank.
- Benefits: Flexible working, generous leave, private medical insurance, and more.
- Other info: Inclusive culture with opportunities for mentorship and career growth.
- Why this job: Make an impact in AI while working with cutting-edge technology.
- Qualifications: Experience in software engineering, Python proficiency, and CI/CD knowledge.
The predicted salary is between 70000 - 90000 £ per year.
At Graphcore, we're building the future of AI compute. We're a team of semiconductor, software and AI experts, with deep experience in creating the complete AI compute stack - from silicon and software to infrastructure at datacentre scale. As part of the SoftBank Group, backed by significant long-term investment, we are delivering key technology into the fast-growing SoftBank AI ecosystem. To meet the vast and exciting AI opportunity, Graphcore is expanding its teams around the world.
Job Summary
Applicants for this role should have strong experience designing, developing, and maintaining high-quality software systems. The role focuses on testing and validating a complex machine learning software stack, with particular emphasis on software architecture, automation, and engineering best practices. The ideal candidate is an experienced software engineer who values code quality, testability, and long-term maintainability, and enjoys building systems that other engineers rely on. This person will be comfortable working across large codebases, contributing to CI/CD infrastructure, and shaping technical direction through thoughtful design and mentoring in a technically demanding environment spanning ML frameworks, infrastructure, and AI accelerator hardware.
The Team
The ML QA team is composed of highly skilled software engineers with a strong focus on automation, software quality, and data-driven validation. The team works closely with industry-standard machine learning frameworks and models, contributing to upstream open-source projects and collaborating across the wider software organization. Operating in a fast-paced environment, the team plays a critical role in ensuring reliability, performance, and maintainability across the ML software stack, helping to deliver robust and high-quality products to customers.
Responsibilities and Duties
- Design, implement, and maintain robust test infrastructure and automation for a complex ML software stack.
- Architect and evolve test frameworks and tooling with a focus on scalability, maintainability, and developer experience.
- Build and maintain CI/CD pipelines targeting simulators, emulators (e.g. QEMU), and physical hardware.
- Create representative ML workloads and gain insights from their execution (Numerical accuracy, performance analysis and benchmarking).
- Work closely with all Software development teams, supporting a culture of quality, security and maintainability.
- Review code and designs, setting a high bar for software engineering best practices.
- Mentor and support junior engineers, helping raise the overall technical capability of the team.
- Evaluate existing test strategies and infrastructure, identifying gaps and driving improvements aligned with team and organizational goals.
Candidate Profile
- Experience in production-quality software engineering roles.
- Strong software design and architecture skills, with experience working on large or complex systems.
- Strong proficiency in Python, including experience building and maintaining production codebases.
- Solid experience with CI/CD systems and automated testing (preferably GitHub-based workflows).
- Experience working in Linux environments.
- Familiarity with C or C++, with the ability to read, debug, and reason about low-level code when needed.
- Proven ability to mentor junior engineers and influence engineering practices within a team.
- Strong problem-solving skills and a proactive, self-directed approach to work.
- Bachelor/Master's/PhD or equivalent experience in Computer Science, Maths, Machine Learning, Data Science, or related field.
- Exposure to machine learning frameworks such as PyTorch, JAX, Triton, TensorFlow.
- Experience with distributed workload management systems such as Kubernetes, VLLM, Keras or MLOps pipelines.
- Experience working with hardware simulators or emulators (e.g. QEMU).
- Experience developing for or working with FPGA-based systems.
- Experience with people management or mentoring.
In addition to a competitive salary, Graphcore offers flexible working, a generous annual leave policy, private medical insurance and health cash plan, a dental plan, pension (matched up to 5%), life assurance and income protection. We have a generous parental leave policy and an employee assistance programme (which includes health, mental wellbeing, and bereavement support). We offer a range of healthy food and snacks at our central Bristol office and have our own barista bar! We welcome people of different backgrounds and experiences; we're committed to building an inclusive work environment that makes Graphcore a great home for everyone. We offer an equal opportunity process and understand that there are visible and invisible differences in all of us. We can provide a flexible approach to interview and encourage you to chat to us if you require any reasonable adjustments.
Applicants for this position must hold the right to work in the UK. Unfortunately at this time, we are unable to provide visa sponsorship or support for visa applications.
Staff ML QA Engineer - Test Automation & CI/CD in London employer: graphcore
Graphcore is an exceptional employer, offering a dynamic work environment in the heart of Bristol where innovation thrives. With a strong focus on employee growth, we provide extensive mentoring opportunities and a culture that values collaboration and quality. Our comprehensive benefits package, including flexible working arrangements, generous leave policies, and health support, ensures that our team members are well taken care of while contributing to groundbreaking advancements in AI technology.
StudySmarter Expert Advice🤫
We think this is how you could land Staff ML QA Engineer - Test Automation & CI/CD 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 graphcore 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 graphcore.
✨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 graphcore.
✨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 graphcore 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 Staff ML QA Engineer - Test Automation & CI/CD 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 graphcore.
Craft a killer cover letter:Your cover letter is your chance to stand out—make it personal! Explain why you want to work at graphcore 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 graphcore
✨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 graphcore 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.