Description
Graphcore is seeking Senior System Software Engineers to join their team in Bengaluru, India. As a Senior System Software Engineer, you will be responsible for designing, developing, automating, and reporting on integration and system tests spanning across firmware and device drivers.
You will be part of a new team responsible for integrating different system software deliverables and developing system tests spanning all components. You will contribute to shaping the test strategy, guide best practices, and solve complex problems while maintaining a strong hands-on focus.
Responsibilities and Duties:
- Act as a technical authority for designing test infrastructure and features.
- Design, implement, execute, and report on high-quality tests to ensure the team has a high-quality gate for the system software release package.
- Develop reusable and scalable pipeline solutions to support component teams.
- Design, implement, and maintain internal tools.
- Take ownership of technically challenging areas and ensure near 100% feature coverage.
- Perform initial triage and debugging of both internal and external issues.
- Review and improve design, coding, and implementation processes across the team.
Cross-Functional Interactions:
- Collaborate with component developers and QA to understand interactions between different components.
- Consult stakeholders of the package to understand their use-cases to develop robust system tests.
- Develop acceptance pipelines covering tests across teams using the system software package.
- Communicate complex technical concepts clearly to both expert and non-expert audiences.
Quality, Reliability, and System Thinking:
- Ensure correctness, robustness, security, scalability, and maintainability of tools and pipeline solutions.
- Contribute to improvement in validation framework, CI/CD systems, testing methodologies, and packaging pipelines.
- Drive root-cause investigations and long-term corrective actions along with component teams for all incoming issues.
Mentorship:
- Mentor junior engineers within the team.
- Raise quality and coding standards through guidance, best practices, and setting an example.
- Contribute to long-term improvements in culture and team ceremonies.
Candidate Profile Essentials:
- 10+ years of experience in low-level system testing and integration.
- Experience working with RTOS and complex boot logic.
- Experience working with Linux and device drivers.
- Experience in test development using Python and C/C++.
- Experience with CI/CD pipelines using GitHub/GitLab/Jenkins or similar.
- Experience with build and integration tools and modern testing practices.
- Excellent problem-solving skills and a track record of working with complex cross-layer issues.
- Strong communication skills and proven ability to document.
Desired:
- Experience working with server-class systems.
- Experience either with openBMC or Zephyr.
- Experience with Qemu or similar emulation environment.