At a Glance
- Tasks: Design and maintain high-quality software systems for machine learning applications.
- Company: Join a leading tech firm focused on innovation and quality.
- Benefits: Competitive salary, flexible work options, and opportunities for professional growth.
- Other info: Dynamic team environment with a focus on collaboration and continuous improvement.
- Why this job: Make an impact in the ML space while mentoring the next generation of engineers.
- Qualifications: Strong Python skills and experience with CI/CD and automated testing.
The predicted salary is between 60000 - 80000 £ per year.
Requirements
- 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 (Desirable)
- Experience with distributed workload management systems such as Kubernetes, VLLM, Keras or MLOps pipelines (Desirable)
- Experience working with hardware simulators or emulators (e.g. QEMU) (Desirable)
- Experience developing for or working with FPGA-based systems (Desirable)
- Experience with people management or mentoring
What the job involves
- 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
- 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
Senior Software Engineer (ML Quality Assurance) employer: graphcore
As a Senior Software Engineer (ML Quality Assurance) at our company, you will thrive in a dynamic and innovative environment that prioritises quality and collaboration. We offer a supportive work culture that encourages mentorship and professional growth, alongside competitive benefits and opportunities to work on cutting-edge machine learning technologies. Located in a vibrant tech hub, our team is dedicated to fostering an inclusive atmosphere where your contributions are valued and impactful.
StudySmarter Expert Advice🤫
We think this is how you could land Senior Software Engineer (ML Quality Assurance)
✨Tip Number 1
Network like a pro! Reach out to your connections in the industry, attend meetups, and engage in online forums. You never know who might have the inside scoop on job openings or can refer you directly.
✨Tip Number 2
Show off your skills! Create a portfolio showcasing your projects, especially those involving Python, CI/CD, or ML frameworks. This gives potential employers a taste of what you can do and sets you apart from the crowd.
✨Tip Number 3
Prepare for interviews by brushing up on your problem-solving skills and technical knowledge. Practice coding challenges and be ready to discuss your past experiences with software design and architecture.
✨Tip Number 4
Don’t forget to apply through our website! We love seeing candidates who are genuinely interested in joining our team. Plus, it streamlines the process and gets your application in front of the right people faster.
We think you need these skills to ace Senior Software Engineer (ML Quality Assurance)
Some tips for your application 🫡
Show Off Your Skills:Make sure to highlight your experience in production-quality software engineering and your strong proficiency in Python. We want to see how you've tackled complex systems and what you've built, so don’t hold back!
Tailor Your Application:Take a moment to customise your application for the Senior Software Engineer role. Mention your experience with CI/CD systems and automated testing, especially if you’ve worked with GitHub-based workflows. We love seeing how your background aligns with our needs!
Be Proactive:We’re looking for someone with strong problem-solving skills and a self-directed approach. In your application, share examples of how you’ve taken initiative in past projects or mentored junior engineers. Show us your proactive side!
Apply Through Our Website:Don’t forget to submit your application through our website! It’s the best way for us to keep track of your application and ensure it gets the attention it deserves. We can’t wait to hear from you!
How to prepare for a job interview at graphcore
✨Know Your Tech Stack
Make sure you’re well-versed in Python and any other languages mentioned, like C or C++. Brush up on your experience with CI/CD systems and automated testing, especially GitHub workflows. Being able to discuss your past projects and how you’ve implemented these technologies will show your expertise.
✨Showcase Your Problem-Solving Skills
Prepare to discuss specific challenges you've faced in previous roles and how you tackled them. Use the STAR method (Situation, Task, Action, Result) to structure your answers. This will demonstrate your strong problem-solving skills and proactive approach.
✨Emphasise Mentorship Experience
Since mentoring junior engineers is a key part of this role, be ready to share examples of how you've supported others in their development. Talk about any initiatives you've led to improve team practices or how you've influenced engineering standards.
✨Understand the Role's Focus
Familiarise yourself with the specifics of testing and validating machine learning software stacks. Be prepared to discuss your experience with test infrastructure and automation, as well as how you ensure code quality and maintainability in large codebases.