Staff Software Engineer
You will design, develop, test and document a Collectives Communication Library for new AI hardware accelerators. You will collaborate on new features, troubleshoot complex issues, integrate hardware with the AI ecosystem, participate in agile development, mentor junior engineers and drive technical excellence across the software.
Responsibilities
- Design, implement, test, and document the Collectives Communication Library
- Collaborate with other teams to design, implement, and test features
- Troubleshoot and resolve complex technical issues
- Integrate new hardware with the existing AI ecosystem
- Participate in agile development as part of a scrum team
- Mentor junior engineers
- Drive technical excellence
Requirements
- Extensive experience in C++ software development
- Experience with Python and C programming
- Problem-solving and debugging skills
- Knowledge of multithreading and inter-process communication techniques
- Experience with Boost.Test and Google Test
- Proficiency with CMake, Make, and Ninja
- Understanding of version control systems, preferably Git
- Ability to work with multinational teams and customers
- Written and verbal communication skills
- Experience with RDMA networking libraries is desirable
- Knowledge of parallel computing and optimization for AI/ML and HPC systems is desirable
- Experience with CI/CD pipelines is desirable
- Experience with NCCL or MPI is desirable
- Knowledge of PyTorch is desirable
- Knowledge of modern C++ standards 17/20 is desirable
Benefits
- Annual leave
- Medical health plans
- Dental health plans
- Gym card
- Employee pension matched up to 4%