# Software Engineer

**Company**: Graphcore
**Location**: Gdańsk, Pomeranian Voivodeship
**Salary**: PLN 196,000 - 265,000
**Category**: Engineering
**Industry**: Technology

**Apply**: https://job-boards.greenhouse.io/graphcore/jobs/8547739002?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_a864634d-3cc

## Description

As a Software Engineer in the Collectives Team, you'll help develop the Collectives Communication Library for new AI hardware accelerators.

The library enables users to utilise large computing clusters, making communication an important part of running workloads at scale.

You'll implement, test and document library features, working with other teams to design and test new functionality.

You'll also troubleshoot complex technical issues and help integrate new hardware with the existing AI ecosystem.

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

- Experience developing software in C++, with experience using Python and C

- Good problem-solving skills and the ability to debug and resolve complex technical issues

- Experience with unit testing frameworks such as Boost.Test and Google Test

- Experience with build tools including CMake, Make and Ninja

- Strong understanding of version control systems, preferably Git

- Knowledge of multithreading, parallel computing and inter-process communication for efficient concurrent applications

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

## Skills

### Required
- C++
- Python
- C
- Boost.Test
- Google Test
- CMake
- Make
- Ninja
- Git
- multithreading
- parallel computing
- inter-process communication

### Nice to have
- RDMA networking libraries
- libibverbs
- libfabric
- Parallel algorithms
- optimisation for AI/ML and HPC systems
- Continuous Integration/Continuous Delivery pipelines
- GitHub Actions
- GitLab CI
- Communication libraries
- NCCL
- MPI
- Machine learning frameworks
- PyTorch
- Modern C++ standards
- C++17
- C++20

---

Source: [Apply at job-boards.greenhouse.io](https://job-boards.greenhouse.io/graphcore/jobs/8547739002?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
