Graphcore
Staff Software Engineer (ML QA)
4d ago
EuropeLeadsoftware architectureautomationci/cd
Experienced software engineer focusing on testing and validating complex machine learning software stack, emphasizing software architecture, automation, and engineering best practices.
Responsibilities
- 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.
Conditions
- 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
-
- 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
Other
- 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 datacenter 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
- 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 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.
- 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