Description
As a Staff Software Engineer in the Collectives Team, you’ll drive the design and development of the Collectives Communication Library.
The library provides communication primitives optimised for high bandwidth and low latency at very high scale.
You’ll lead development of the library for new AI hardware accelerators, working across design, implementation, testing and documentation.
You’ll collaborate with other teams to develop new features, troubleshoot complex technical issues and integrate new hardware with the existing AI ecosystem.
You’ll also mentor engineers and help drive technical excellence across the team.
The team and culture
We value face-to-face interaction and make time to meet in the office frequently. The team works in two-week sprints, with three stand-ups each week, fortnightly sprint planning and a weekly team meeting.
Work is planned with input from the Technical Product Manager, covering both longer-term priorities and upcoming sprints. Engineers typically work in small groups on larger tasks or components, coordinating the work among themselves.
The team has a high level of technical expertise, with opportunities to attend thematic conferences and team outings roughly once a quarter.
What we're looking for
- Extensive experience developing software in C++, with experience using Python and C
- Strong problem-solving skills and the ability to debug and resolve complex technical issues
- Strong understanding of multithreading and inter-process communication for efficient concurrent applications
- Experience with unit testing frameworks such as Boost.Test and Google Test
- Proficiency with build tools including CMake, Make and Ninja, plus strong understanding of Git or similar version control systems
- Strong communication skills and experience working effectively with multinational teams and customers
Desirable experience
- RDMA networking libraries such as libibverbs or libfabric
- Parallel algorithms and optimisation for AI/ML and HPC systems
- Continuous Integration/Continuous Delivery pipelines, including GitHub Actions or GitLab CI
- Communication libraries such as NCCL or MPI
- Machine learning frameworks such as PyTorch
- Modern C++ standards, including C++17 and C++20
Benefits
- Flexible working: Balance your work and personal life with greater flexibility
- Comprehensive healthcare and dental cover: Premium medical and dental insurance, with the option to extend cover to your family
- Phantom equity: Share in Graphcore’s success
- Fitness and wellbeing support: A fully funded Medicover gym card, giving you access to a wide range of gyms, fitness classes and leisure centres
- Financial protection: Death and disability insurance, providing financial security for you and your loved ones
- Retirement savings: Build your financial future, with a 4% employer contribution from Graphcore, alongside your own contributions
- Employee Assistance Programme (EAP): Confidential advice and support for you and your family across a range of personal, financial and wellbeing matters