Staff Software Engineer
Design, develop, test, and document a Collectives Communication Library for new AI hardware accelerators while integrating hardware with the AI ecosystem and driving technical excellence.
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%