At a Glance
- Tasks: Design and maintain robust test infrastructure for complex machine learning software.
- Company: Join Graphcore, a leader in AI compute backed by SoftBank.
- Benefits: Flexible working, generous leave, private medical insurance, and a vibrant office culture.
- Why this job: Make a real impact in AI while collaborating with top tech minds.
- Qualifications: Strong software engineering skills, especially in Python and CI/CD systems.
- Other info: Inclusive environment with excellent growth opportunities and mentorship.
The predicted salary is between 48000 - 72000 £ 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'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. We require applicants to have the right to work in the UK; visa sponsorship or support is not provided at this time.
Senior Staff Software Engineer New Bristol, UK employer: graphcore
Contact Detail:
graphcore Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Senior Staff Software Engineer New Bristol, UK
✨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. Personal connections can make a huge difference!
✨Tip Number 2
Prepare for technical interviews by brushing up on your coding skills and understanding the software stack you'll be working with. Practice common algorithms and data structures, and don't forget to review Python and CI/CD practices!
✨Tip Number 3
Showcase your passion for AI and software engineering during interviews. Share your personal projects or contributions to open-source initiatives that align with Graphcore's mission. This will demonstrate your commitment and expertise!
✨Tip Number 4
Apply through our website for the best chance of getting noticed! Tailor your application to highlight your experience with machine learning frameworks and CI/CD systems, as these are key areas for the role.
We think you need these skills to ace Senior Staff Software Engineer New Bristol, UK
Some tips for your application 🫡
Tailor Your CV: Make sure your CV is tailored to the role at Graphcore. Highlight your experience with software design, architecture, and any relevant machine learning frameworks. We want to see how your skills align with our needs!
Showcase Your Projects: Include specific projects that demonstrate your proficiency in Python and CI/CD systems. We love seeing real examples of your work, especially if they relate to complex systems or automation.
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you’re passionate about AI and how you can contribute to our team. Let us know what excites you about working at Graphcore.
Apply Through Our Website: Don’t forget to apply through our website! It’s the best way for us to receive your application and ensures you’re considered for the role. We can’t wait to hear from you!
How to prepare for a job interview at graphcore
✨Know Your Stuff
Make sure you brush up on your software design and architecture skills. Be ready to discuss your experience with large or complex systems, especially in Python. Graphcore values code quality, so be prepared to share examples of how you've maintained production codebases.
✨Showcase Your Automation Skills
Since the role focuses on testing and validating a complex ML software stack, highlight your experience with CI/CD systems and automated testing. Talk about specific tools you've used, like GitHub workflows, and any challenges you've overcome in building robust test infrastructure.
✨Be a Team Player
Graphcore is all about collaboration, so demonstrate your ability to work closely with other software development teams. Share experiences where you've supported a culture of quality and mentored junior engineers, as this will show you're a great fit for their team-oriented environment.
✨Prepare for Technical Questions
Expect to dive deep into technical discussions, especially around machine learning frameworks and distributed workload management systems. Brush up on your knowledge of tools like PyTorch, Kubernetes, and any hardware simulators you've worked with. Being able to discuss these topics confidently will set you apart.