Staff Software Engineer (ML QA)

Staff Software Engineer (ML QA)

Full-Time 60000 - 80000 £ / year (est.) No working from home possible
C

At a Glance

  • Tasks: Design and maintain robust test infrastructure for complex ML software.
  • Company: Join Graphcore, a leader in AI compute technology backed by SoftBank.
  • Benefits: Enjoy flexible working, generous leave, private medical insurance, and more.
  • Other info: Be part of an inclusive team that values diversity and personal growth.
  • Why this job: Make a real impact in the fast-growing AI field with cutting-edge technology.
  • Qualifications: Experience in software engineering, strong Python skills, and CI/CD knowledge required.

The predicted salary is between 60000 - 80000 £ 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. We are bringing together the brightest minds to solve the toughest problems, in a place where everyone has the opportunity to make an impact on the company, our products and the future of artificial intelligence.

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 MLQA 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 / 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.

UK Demographic Data

We take pride in our commitment to creating an inclusive and diverse workplace. As part of our recruitment process, we ask for confidential diversity data from all applicants. This data will be anonymised so that no personal identification information will be collected, and is retained for statistical purposes only and is not attached to your application. Your responses to the following three questions will remain confidential and will not impact or be used in any way in regards to your application. We are only using this data to improve our hiring process to be inclusive of all diversity backgrounds.

Staff Software Engineer (ML QA) employer: Cerebras

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 ample opportunities for mentorship and skill development, alongside competitive benefits such as flexible working arrangements, generous leave policies, and comprehensive health plans. Our commitment to inclusivity ensures that every team member can contribute meaningfully to the future of AI technology while enjoying a supportive and collaborative culture.

C

Contact Details:

Cerebras Recruitment Team

StudySmarter Expert Advice🤫

We think this is how you could land Staff Software Engineer (ML QA)

Tip Number 1

Network like a pro! Reach out to current employees at Graphcore on LinkedIn or other platforms. Ask them about their experiences and any tips they might have for landing a role in the ML QA team. Personal connections can make a huge difference!

Tip Number 2

Prepare for technical interviews by brushing up on your coding skills, especially in Python. Practice common algorithms and data structures, and be ready to discuss your past projects. We want to see how you think and solve problems!

Tip Number 3

Show off your passion for AI and machine learning! Be prepared to discuss recent advancements in the field and how they relate to Graphcore's work. This will demonstrate your enthusiasm and commitment to the industry.

Tip Number 4

Don’t forget to apply through our website! It’s the best way to ensure your application gets seen by the right people. Plus, it shows you’re genuinely interested in joining the Graphcore team!

We think you need these skills to ace Staff Software Engineer (ML QA)

Software Design
Software Architecture
Python
CI/CD Systems
Automated Testing
Linux Environments
C or C++

Some tips for your application 🫡

Tailor Your Application:Make sure to customise your CV and cover letter for the Staff Software Engineer (ML QA) role. Highlight your experience with software design, testing, and automation, as these are key aspects of the job. We want to see how your skills align with what we're looking for!

Showcase Your Projects:Include examples of your previous work that demonstrate your proficiency in Python and CI/CD systems. If you've worked on machine learning frameworks or complex systems, let us know! This helps us understand your hands-on experience and problem-solving skills.

Be Clear and Concise:When writing your application, keep it straightforward and to the point. Use clear language to describe your achievements and experiences. We appreciate a well-structured application that makes it easy for us to see your qualifications at a glance.

Apply Through Our Website:We encourage you 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. Plus, it’s super easy to do – just follow the prompts and you’ll be set!

How to prepare for a job interview at Cerebras

Know Your Tech Stack

Make sure you’re well-versed in the technologies mentioned in the job description, especially Python and CI/CD systems. Brush up on your knowledge of machine learning frameworks like PyTorch and TensorFlow, as well as any experience with hardware simulators or emulators. This will show that you’re not just a fit for the role but also genuinely interested in the tech they use.

Showcase Your Problem-Solving Skills

Prepare to discuss specific challenges you've faced in previous roles and how you tackled them. Graphcore values strong problem-solving skills, so think of examples where you’ve had to debug complex systems or improve software quality. Be ready to explain your thought process and the impact of your solutions.

Emphasise Collaboration and Mentoring

Since the role involves working closely with other teams and mentoring junior engineers, be prepared to share your experiences in these areas. Talk about how you’ve supported team culture, shared knowledge, and contributed to engineering best practices. This will highlight your ability to work in a collaborative environment.

Ask Insightful Questions

At the end of the interview, don’t forget to ask questions that show your interest in the company and the role. Inquire about their approach to software quality, how they handle testing in a fast-paced environment, or what tools they use for automation. This not only demonstrates your enthusiasm but also helps you gauge if the company is the right fit for you.