Senior C++ Programmer - Machine Learning
At a glance
Senior Machine Learning Engineering role at Ubisoft. Montreal · full-time · no salary stated · we estimate CA$139,400–CA$200,000 across Canada.
Ubisoft has not published a salary for this role. The figure below is our estimate, not theirs.
aimlroles summary, based on the employer's posting.
What you'll do
- Build and maintain ML inference engines, libraries and frameworks, then connect them to game engines and games
- Use CPU, GPU and NPU hardware to speed up ML computations, and create ways to test and tune model performance
- Write unit and integration tests, while keeping code efficient, modular, maintainable and compatible
- Work with data science, research, gameplay and AI programmers, plus production and other stakeholders
- Prototype ML approaches, track new research, improve systems and share technical knowledge through documentation and presentations
What you bring
- At least ten years of C++ programming experience and deep command of the language
- At least five years working in AI and machine learning
- Strong software architecture skills and practical understanding of multithreading and memory optimization
- A computer science or computer engineering degree, or equivalent education
- Solid grounding in machine learning and deep learning fundamentals
Who this fits
This senior role suits an experienced C++ and machine learning programmer who builds performance-conscious systems and works across technical teams. The position is based on-site in Montreal.
From the employer
Ubisoft is a global leader in gaming with teams across the world creating original and memorable gaming experiences, from Assassin’s Creed, Rainbow Six to Just Dance and more. We believe diverse perspectives help both players and teams thrive. If you’re passionate about innovation and pushing entertainment boundaries, join our journey and help create the unknown!
We are looking for a Senior C++ Programmer to play a key role in building cutting-edge applications powered by Machine Learning. The role of the senior C++ Programmer with experience in AI/ML is to bring best practices and robust design principles, helping us deliver on an ambitious and innovative roadmap.
What you'll do
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 (gameplay, AI, etc.), the research team, and other stakeholders such as production teams.
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.
What you bring
Education:
- 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.
Relevant Experience:
- Minimum 10 years of experience in C++ programming.
- Minimum 5 years of experience in AI/ML.
Core Skills:
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.
Other Skills:
Proficiency in Python is an asset.
Experience working with game engines is an asset.