At a Glance
- Tasks: Ensure software quality by designing and executing test strategies for AI compute libraries.
- Company: Join Graphcore, a leading innovator in AI technology and part of the SoftBank Group.
- Benefits: Enjoy flexible working, generous leave, private medical insurance, and a vibrant office culture.
- Why this job: Be at the forefront of AI breakthroughs and make a real impact in technology.
- Qualifications: Strong C++ and Python skills, with a passion for testing and performance optimisation.
- Other info: Dynamic team environment with opportunities for mentorship and career growth.
The predicted salary is between 30000 - 42000 £ per year.
Graphcore is one of the world's leading innovators in Artificial Intelligence compute. It develops hardware, software and systems infrastructure to unlock the next generation of AI breakthroughs and power widespread adoption of AI solutions across every industry. As part of the SoftBank Group, Graphcore is a member of an elite family of companies responsible for transformative technologies. The goal is to enable Artificial Super Intelligence and make its benefits accessible to everyone. Graphcore's teams are drawn from diverse backgrounds and bring a broad range of skills and perspectives, including AI research specialists, silicon designers, software engineers and systems architects. The culture emphasizes continuous learning and constant innovation.
As a Software Engineer in Test you will be responsible for safeguarding the correctness, reliability, and performance of numerical libraries. You'll design and own end-to-end test strategies across native C++ components and validate low-level kernels.
This role is an opportunity to join an expanding Kernel Engineering team responsible for delivering high-performance compute libraries to help customers gain the maximum performance from AI hardware.
Responsibilities And Duties
- Own existing tests coverage and contribute towards improving it
- Improve correctness of existing microbenchmarks, regression tests, and validation techniques
- Mentor colleagues within the team, sharing knowledge and providing guidance where appropriate
- Actively engage in and support Agile ways of working within the team
- Debug issues, resolve bugs and generally improve the quality and functionality of the product
Candidate Profile
Essential
- Strong C++ and Python coding skills and solid Linux fundamentals
- Experience testing numerical/performance-sensitive code
- Understanding of processor architectures and profiling on Linux
- Hands-on with reproducibility/determinism, tolerance design, and benchmarking
- Excellent written and oral communication skills, good work ethics, strong teamwork
Desirable
- Experience benchmarking and optimising algorithmic performance with a deep understanding of memory hierarchy (cache/NUMA), multithreading (synchronisation, work partitioning)
- Experience testing mixed-precision policies (FP32/BF16/FP16/FP8) and stochastic rounding
- Property-based testing with tensor-shape/dtype/layout generators
- Experience testing HPC kernels, ML runtimes/kernels, or similar
- ABI/API stability and packaging for Linux distros, manylinux, wheels
- Hands-on testing for ML frameworks - custom operators/extensions, seeds/determinism, and debugging dispatcher issues
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 (health, mental wellbeing, and bereavement support). We offer healthy food and snacks at our Bristol office and have a barista bar. We are committed to an inclusive work environment and an equal opportunity process, with flexible interview arrangements and adjustments on request.
Applicants for this position must hold the right to work in the UK. Visa sponsorship or visa applications support is not available at this time.
Seniority level: Entry level
Employment type: Full-time
Job function: Engineering and Information Technology
Industries: Semiconductor Manufacturing
Software QA in Bristol employer: graphcore
Contact Detail:
graphcore Recruiting Team
StudySmarter Expert Advice 🤫
We think this is how you could land Software QA in Bristol
✨Tip Number 1
Network like a pro! Reach out to folks in the industry, especially those at Graphcore. LinkedIn is your best mate here – drop them a message, ask about their experiences, and express your interest in the Software QA role.
✨Tip Number 2
Prepare for those interviews! Brush up on your C++ and Python skills, and be ready to discuss your experience with testing numerical code. We want to see how you think and solve problems, so practice coding challenges and mock interviews.
✨Tip Number 3
Show off your passion for AI and performance testing! When you get the chance, share your thoughts on recent advancements in AI or any personal projects related to benchmarking. It’ll help you stand out as someone who’s genuinely interested in the field.
✨Tip Number 4
Don’t forget to apply through our website! It’s the best way to ensure your application gets noticed. Plus, set up job alerts for the Software Engineer in Test roles so you never miss an opportunity!
We think you need these skills to ace Software QA in Bristol
Some tips for your application 🫡
Tailor Your CV: Make sure your CV highlights your C++ and Python skills, as well as any experience with testing numerical or performance-sensitive code. We want to see how your background aligns with the role, so don’t be shy about showcasing relevant projects!
Craft a Compelling Cover Letter: Your cover letter is your chance to shine! Use it to explain why you’re excited about the opportunity at Graphcore and how your skills can contribute to the team. Keep it concise but impactful – we love a good story!
Show Off Your Communication Skills: Since excellent written and oral communication is key for this role, make sure your application reflects that. Use clear language and structure in your CV and cover letter, and don’t forget to proofread for any typos!
Apply Through Our Website: We encourage you to apply directly through our website. It’s the best way to ensure your application gets into the right hands. Plus, it shows us you’re genuinely interested in joining our team!
How to prepare for a job interview at graphcore
✨Know Your C++ and Python Inside Out
Make sure you brush up on your C++ and Python skills before the interview. Be ready to discuss your coding experience, especially in testing numerical or performance-sensitive code. Practising coding problems related to these languages can really help you stand out.
✨Understand the Hardware
Familiarise yourself with processor architectures and how they impact performance. Being able to talk about profiling on Linux and how it relates to your testing strategies will show that you’re not just a coder but someone who understands the bigger picture.
✨Show Off Your Testing Knowledge
Be prepared to discuss your experience with benchmarking, multithreading, and testing mixed-precision policies. If you have hands-on experience with HPC kernels or ML frameworks, make sure to highlight that. It’s all about demonstrating your depth of knowledge in these areas.
✨Communicate Clearly and Collaboratively
Since teamwork is key in this role, practice articulating your thoughts clearly. Be ready to share examples of how you've mentored others or contributed to team projects. Good communication skills can set you apart from other candidates.