G
source · wttj·req · jb_d8ff84c346·listed 2d ago
Senior Software Engineer
Graphcore·Cambridge, United Kingdom·Hybrid·Full-time
Sourced listing · wttjNo salary disclosed
compensation · not disclosed
Salary not shared
Sign up to see our estimate based on role, location, and seniority.
source · estimate pending
Summary
the pitchJoin Graphcore, a leading AI hardware and software company, as a Senior Software Engineer. In this role, you will design, implement, and maintain robust test infrastructure and automation for a complex machine learning software stack. You will work closely with all software development teams, support a culture of quality, security, and maintainability, and mentor junior engineers. Enjoy a flexible work-life balance, private medical insurance, a pension plan, and opportunities for progression and development.
Role
posted by company- Familiarity with C or C++, with the ability to read, debug, and reason about low-level code when needed
- Strong proficiency in Python, including experience building and maintaining production codebases
- Strong software design and architecture skills, with experience working on large or complex systems
- Bachelor/Master's/PhD or equivalent experience in Computer Science, Maths, Machine Learning, Data Science, or related field
- Solid experience with CI/CD systems and automated testing (preferably GitHub-based workflows)
- Strong problem-solving skills and a proactive, self-directed approach to work
- Experience in production-quality software engineering roles
- Proven ability to mentor junior engineers and influence engineering practices within a team
- Experience working in Linux environments
- Exposure to machine learning frameworks such as PyTorch, JAX, Triton, TensorFlow
- Experience working with hardware simulators or emulators (e.g. QEMU)
- Experience with distributed workload management systems such as Kubernetes, VLLM, Keras or MLOps pipelines
- Experience developing for or working with FPGA-based systems
- Experience with people management or mentoring
Key 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.