
Senior C++ Programmer - Machine Learning
Required skills
- C++
- Machine Learning
- AI
- inference engines
- ML libraries
- frameworks
- model performance
- game engines
- unit tests
- integration tests
Nice to have
- Python
Role summary
We are seeking a Senior C++ Programmer with expertise in Machine Learning to develop cutting-edge, AI-powered applications. This role involves building and maintaining inference engines, ML libraries, and frameworks, optimizing computations using hardware acceleration (NPU, GPU, CPU), and evaluating model performance. You will integrate ML systems within game engines and games, write tests, and collaborate with data science, research, and production teams. The ideal candidate possesses a Bachelor's degree in computer science or engineering, a minimum of 10 years in C++ programming, and 5 years in AI/ML, with strong architecture skills and knowledge of hardware optimization and deep learning fundamentals. Proficiency in Python and experience with game engines are considered assets.
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.
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!
Sample Ubisoft interview questions
- 1
Design a distributed task scheduler.
system designmedium - 2
Design a recommendation system for an e-commerce website.
system designmedium - 3
Create a centralized logging system for microservices.
system designmedium - 4
Perform a vertical order traversal of a binary tree.
codingmedium - 5
Calculate the optimal meeting point for multiple people on a 2D grid.
codingmedium
Get started to unlock a personalized interview prep pack for this role.
Similar roles
Développeur.euse de Communauté Senior - For HonorUbisoft · Montreal, QC · Onsite
Développeur.euse de Communauté Senior - Far CryUbisoft · Montreal, QC · Onsite- Unreal Engine C++ ProgrammerEpoch Games · Remote · Remote
Mill-Turn ProgrammerDiamondback CNC · Cocoa, FL · Onsite- Oracle Application Developer/ProgrammerM9 Solutions · Remote · Remote
CNC Machinist-ProgrammerUnited Precision · Washougal, WA · Onsite
