System Software Engineer
Job description
About the role
Graphcore is seeking a System Software Engineer in Test to focus on the validation of hardware and software infrastructure. You will manage hardware resources while designing and automating integration tests for device drivers and firmware. In this capacity, you will own the end to end test flow for critical system components, ensuring that software and hardware interact as intended under real world conditions. You will be responsible for creating robust test environments that simulate production scenarios and validate system reliability. The role demands close collaboration with hardware and software teams to resolve issues that span multiple layers of the stack. You will contribute to the definition of test standards and best practices that uphold the quality of Graphcore products. This position is integral to reducing integration risk and accelerating the delivery of stable system builds. Your work will directly influence the stability and performance of the infrastructure that powers Graphcore solutions.
Key facts
What you'll do
- Create and execute test suites for complex system components, covering functionality, performance, and error handling.
- Build packaging solutions to support integration workflows, ensuring artifacts are versioned and traceable across environments.
- Manage and improve CI/CD pipelines to optimize test execution speed, reliability, and feedback loops for the team.
- Partner with cross-functional teams to define acceptance and integration test strategies that align with product and infrastructure goals.
- Participate in technical design reviews and team discussions to evaluate testability, observability, and system resilience.
- Develop and maintain test frameworks and utilities that abstract hardware complexity and enable efficient test authoring.
- Drive the automation of regression testing for device drivers and firmware to minimize manual effort and human error.
- Investigate and isolate failures in system integrations, collaborating with engineers to implement fixes and preventive measures.
- Monitor test infrastructure health, capacity, and performance, identifying opportunities for scaling and optimization.
- Contribute to documentation for test procedures, environment setup, and troubleshooting guides to support knowledge sharing.
- Ensure compliance with internal quality standards and traceability requirements for test artifacts and results.
- Support the creation of test plans that address risk areas, edge cases, and interoperability between hardware and software layers.
- Collaborate with operations and platform teams to validate firmware and driver updates in pre production scenarios.
- Act as a technical owner for test assets, ensuring continuity, maintainability, and clarity in testing practices.
Requirements
- Minimum of 3 years of professional experience in low-level system testing and integration, with a focus on hardware software interaction.
- Proficiency in C, C++, and Python for test development, enabling the creation of efficient and maintainable test code.
- Practical knowledge of CI/CD, build systems, and modern testing methodologies to design scalable and reliable test processes.
- Strong documentation and communication skills, allowing clear articulation of test results, issues, and recommendations to diverse audiences.
- Demonstrated ability to work independently and as part of a cross functional team in a fast paced engineering environment.
- Understanding of software development practices, including version control, code reviews, and debugging techniques.
- Aptitude for learning new hardware technologies, system architectures, and testing tools in a short time frame.
- Willingness to engage with detailed technical discussions and contribute to the improvement of test frameworks and processes.
Nice to have
- Background working with server-class hardware, providing insight into performance, scalability, and reliability constraints.
- Familiarity with Qemu or similar emulation platforms, supporting early validation and prototyping of system behavior.
- Experience with RTOS or openBMC, aiding in the testing of embedded management and control software.
Practical notes
Graphcore provides a competitive salary and benefits package. The company maintains an inclusive hiring process and is open to discussing reasonable adjustments for candidates during the interview stage. Applicants should note that the role is based in Bengaluru, India, and requires full time on site engagement within the specified team. No specific travel requirements are outlined for this position, and the hiring process is designed to evaluate skills and cultural fit in a structured manner. The compensation details are not specified in the available source information, and candidates are encouraged to clarify terms during the recruitment process. This job description is derived solely from the provided source content and reflects the responsibilities, requirements, and context as stated.