Staff Software Engineer
Job description
About the role
Graphcore is developing advanced AI compute solutions as part of the SoftBank Group. We are seeking a senior technical lead to build communication libraries that power large-scale AI hardware clusters. The role requires ownership of the end to end lifecycle of critical communication infrastructure components. You will be responsible for translating high level system requirements into robust and efficient software implementations. The position demands close collaboration with hardware engineers and system architects to ensure software aligns with silicon capabilities. You will drive technical decisions that impact performance, scalability, and reliability of AI training clusters. The work involves debugging complex interactions between hardware and software layers in a fast paced environment. This role is central to enabling the next generation of AI compute platforms.
Key facts
What you'll do
- Architect, code, verify, and document the Collectives Communication Library for upcoming AI hardware.
- Partner with cross functional groups to integrate new features and hardware into the existing AI stack.
- Diagnose and fix intricate technical problems that arise in distributed and concurrent system scenarios.
- Guide junior staff and promote high engineering standards through code reviews and technical mentorship.
- Operate within a scrum framework as part of an agile development team delivering iterative value.
- Design and implement low latency communication primitives that meet the demands of high bandwidth AI workloads.
- Collaborate with research and product teams to prototype features and validate performance against real workloads.
- Optimize system level performance by analyzing traces, logs, and hardware metrics to identify bottlenecks.
- Ensure software reliability by implementing comprehensive error handling, monitoring, and diagnostic capabilities.
- Contribute to the definition of interfaces and protocols that enable interoperability across the AI hardware ecosystem.
- Maintain and evolve existing codebases to improve maintainability, scalability, and alignment with industry best practices.
- Support the integration of communication libraries into continuous integration and deployment pipelines.
Requirements
- Significant professional background in C++ software engineering with a proven track record in complex systems.
- Proficiency in C and Python to enable interaction with diverse software components and scripting needs.
- Deep expertise in IPC and multithreading for concurrent applications to manage parallel execution efficiently.
- Practical experience with unit testing tools like Google Test or Boost.Test to ensure code correctness and stability.
- Mastery of build systems including CMake, Ninja, and Make to manage complex compilation workflows.
- Experience using Git for version control to collaborate effectively in a distributed development environment.
- Ability to communicate effectively in English within a global team and with international clients to facilitate collaboration.
- Strong problem solving skills to tackle ambiguous and technically challenging problems in a dynamic setting.
- Comfort working in a fast paced agile environment where priorities may shift based on project demands.
- Willingness to engage with low level system code that directly interacts with hardware and operating system primitives.
- Commitment to writing clean, maintainable, and well documented code that adheres to strict quality standards.
- Readiness to participate in on call rotations and incident response when required to support production deployments.
Nice to have
- Familiarity with RDMA networking stacks such as libfabric or libibverbs.
- Background in parallel computing, parallel algorithms, and HPC optimization.
- Experience building CI/CD workflows using tools like GitLab CI or GitHub Actions.
- Knowledge of MPI or NCCL communication libraries.
- Understanding of PyTorch or other ML frameworks.
- Proficiency in C++17 or C++20 standards.
Practical notes
Benefits include an annual leave policy, dental and medical coverage, a gym membership, and a company pension scheme with a match of up to 4%. We conduct annual reviews of our compensation and benefits package. We support a flexible interview process and provide reasonable accommodations for candidates who need them.