Senior Software Engineer
Job description
About the role
Graphcore is seeking a Senior Software Engineer to validate the software stack powering large scale AI compute. In this role, you will own the design and implementation of the testing infrastructure and automation tools that ensure the reliability and performance of our hardware and software systems. You will be responsible for building robust frameworks that exercise the full stack, from low level interactions to high level machine learning workloads. The position requires a deep partnership with software teams to identify gaps and drive improvements in testing methodologies and engineering practices. You will mentor team members and establish best practices that elevate the overall quality and maintainability of the codebase. Your work will directly influence the stability and performance of systems used by researchers and developers worldwide. This is an opportunity to shape the quality standards for a critical piece of AI infrastructure. You will operate at the intersection of software engineering and hardware validation, ensuring that Graphcore systems meet rigorous production criteria.
Key facts
What you'll do
- Design and build testing frameworks that target the simulation, emulation, and silicon environments to verify core functionality.
- Implement automation and tooling to manage the complexity of large codebases and streamline CI pipeline execution.
- Execute validation of machine learning workloads and subgraphs to confirm system stability and performance characteristics.
- Analyze software stacks to identify gaps in test coverage and collaborate with engineers to refine testing strategies.
- Drive the establishment of best practices by mentoring team members and promoting high standards in engineering workflows.
- Develop tools that enable efficient debugging and diagnosis of issues across the hardware and software interface.
- Create scalable infrastructure that supports the execution of complex tests across distributed and heterogeneous compute resources.
- Partner with software developers to reproduce issues and integrate fixes into the broader quality assurance process.
- Maintain and evolve existing test suites to keep them aligned with the rapid development cycle of AI compute systems.
- Contribute to the definition of quality metrics that provide insight into the reliability of the platform.
- Implement logging and reporting mechanisms that deliver clear visibility into test outcomes and system behavior.
- Support the integration of new features by ensuring that testing strategies keep pace with architectural changes.
- Optimize test execution times to improve developer productivity and accelerate release cycles.
- Act as a technical leader in the QA space, guiding the direction of testing tools and methodologies.
Requirements
- Demonstrate proficiency in Python for building production grade, testable software that integrates with complex systems.
- Bring experience with CI/CD workflows and automated testing within Linux environments to ensure robust validation processes.
- Show familiarity with C or C++ and the ability to debug low level code to investigate issues that span the software stack.
- Possess a solid understanding of machine learning frameworks and model execution to accurately validate software behavior.
- Exhibit experience designing maintainable systems within large codebases to support long term scalability and reliability.
- Hold a strong grasp of software development principles to write clean, efficient, and well-documented code.
- Apply analytical thinking to diagnose failures and determine root causes in intricate distributed systems.
- Communicate effectively with both technical and non-technical stakeholders to align on quality goals and priorities.
Skills & tools
- Python
- C / C++
- CI/CD
- Linux
- Machine Learning frameworks
Practical notes
Benefits include unlimited annual leave, up to 5% matched pension, and phantom equity. The package also features a health cash plan, income protection, life assurance, and optional private medical or dental insurance. The office provides free food and an on-site barista. Graphcore is part of the SoftBank Group and is an equal opportunity employer that provides interview adjustments upon request.