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: Enjoy flexible working, generous leave, and health benefits.
- 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 60000 - 80000 € per year.
About Graphcore
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 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
Essential:
- 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.
Desirable
- 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.
Benefits
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 Software Engineer (ML QA) in Cambridge employer: graphcore
Graphcore is an exceptional employer that fosters a collaborative and innovative work culture, where every team member has the opportunity to make a significant impact on the future of AI technology. Located in the vibrant city of Bristol, we offer flexible working arrangements, a comprehensive benefits package including private medical insurance and generous parental leave, and a commitment to inclusivity and employee growth through mentorship and professional development. Join us to be part of a dynamic team dedicated to pushing the boundaries of machine learning and software engineering.
StudySmarter Expert Advice🤫
We think this is how you could land Staff Software Engineer (ML QA) in Cambridge
✨Tip Number 1
Network like a pro! Reach out to current employees at Graphcore on LinkedIn or other platforms. A friendly chat can give you insider info and might just get your foot in the door.
✨Tip Number 2
Show off your skills! Prepare a portfolio or GitHub repository showcasing your best projects, especially those related to ML and software engineering. This is your chance to shine beyond the CV!
✨Tip Number 3
Practice makes perfect! Get ready for technical interviews by brushing up on your coding skills and understanding ML frameworks. Use platforms like LeetCode or HackerRank to sharpen your problem-solving abilities.
✨Tip Number 4
Apply through our website! It’s the best way to ensure your application gets seen. Plus, it shows you’re genuinely interested in being part of the Graphcore team.
We think you need these skills to ace Staff Software Engineer (ML QA) in Cambridge
Some tips for your application 🫡
Tailor Your CV:Make sure your CV reflects the skills and experiences that match the job description. Highlight your experience with software design, architecture, and any relevant ML frameworks to show us you're the right fit!
Craft a Compelling Cover Letter:Use your cover letter to tell us why you're passionate about AI and how your background aligns with our mission at Graphcore. Share specific examples of your work in software engineering and automation to grab our attention.
Showcase Your Projects:If you've worked on any interesting projects, especially those involving CI/CD or machine learning, make sure to mention them! We love seeing real-world applications of your skills and how you approach problem-solving.
Apply Through Our Website:We encourage you to apply directly through our website for a smoother application process. It helps us keep track of your application and ensures you don’t miss out on any important updates from us!
How to prepare for a job interview at graphcore
✨Know Your Stuff
Make sure you brush up on your knowledge of machine learning frameworks like PyTorch and TensorFlow. Be ready to discuss your experience with CI/CD systems and how you've implemented automated testing in past projects.
✨Showcase Your Problem-Solving Skills
Prepare to share specific examples of complex problems you've tackled in software engineering. Highlight your approach to debugging and how you’ve improved code quality and maintainability in previous roles.
✨Be Ready to Mentor
Since mentoring junior engineers is a key part of the role, think about times you've supported others in their development. Share how you've influenced engineering practices and contributed to a culture of quality within your team.
✨Ask Insightful Questions
Prepare thoughtful questions about the team’s current challenges and future projects. This shows your genuine interest in the role and helps you understand how you can make an impact at Graphcore.