# Senior C++ Programmer - Machine Learning

**Company**: Ubisoft
**Location**: Montreal, QC
**Experience**: senior
**Job type**: full-time
**Category**: Game Development
**Industry**: Technology

**Apply**: https://jobs.smartrecruiters.com/Ubisoft2/744000151049982-senior-c-programmer-machine-learning?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_f66d0fa1-bb9

## Description

Ubisoft is seeking a Senior C++ Programmer to play a key role in building cutting-edge applications powered by Machine Learning.

Main responsibilities:

- Provide and support ML systems based on business requirements and objectives.

- Develop, integrate, and maintain inference engines, ML libraries, and frameworks.

- Leverage the best hardware (NPU, GPU, CPU) to accelerate ML-related computations.

- Build systems to evaluate, optimize, and measure model performance.

- Integrate and maintain ML systems within game engines and games.

- Write unit tests and integration tests.

- Collaborate with the data science team, specialized programmers, the research team, and other stakeholders.

- Write clear and structured code that meets performance, maintainability, modularity, scalability, and compatibility requirements.

Other responsibilities:

- Create proof-of-concepts, which may involve model training, fine-tuning, and experimenting with different techniques and architectures.

- Suggest improvements when needed by designing and implementing new systems or enhancing existing ones.

- Conduct research to stay up to date with the latest advancements.

- Prepare documentation, presentations, and knowledge-sharing materials to communicate complex AI concepts to both technical and non-technical collaborators.

Qualifications:

- Bachelor’s degree in computer science or computer engineering or equivalent.

- A master’s degree in Machine Learning or any other relevant field is a strong asset.

- Minimum 10 years of experience in C++ programming.

- Minimum 5 years of experience in AI/ML.

- In-depth knowledge of C++ required.

- Strong architecture skills.

- Good understanding of hardware to leverage multithreading and optimize memory management.

- Solid knowledge of machine learning and deep learning fundamentals.

## Skills

### Required
- C++
- Machine Learning
- Deep Learning
- Multithreading
- Memory Management

### Nice to have
- Python
- Game Engines

---

Source: [Apply at jobs.smartrecruiters.com](https://jobs.smartrecruiters.com/Ubisoft2/744000151049982-senior-c-programmer-machine-learning?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
