Back to results

Senior C++ Programmer - Machine Learning

  • Montreal, QC, Canada

Full-time

Applications open in a new tab.

Job details

Job type
Full-time
Apply by
Posting language
English
Posted

Original job description

Company Description

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!

Job Description

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.


Qualifications

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.
More about this job

Responsibilities

The role involves developing and maintaining machine learning systems and inference engines integrated within game engines. You will collaborate with cross-functional teams to optimize model performance and ensure code scalability and maintainability.

Requirements

Candidates must have at least 10 years of C++ programming experience and 5 years of experience in AI/ML. A bachelor's degree in computer science or engineering is required, with a master's degree in a relevant field considered a strong asset.

Skills

  • C++
  • Machine Learning
  • Artificial Intelligence
  • Deep Learning
  • Inference Engines
  • Multithreading
  • Memory Management
  • Python
  • Game Engines
  • Unit Testing
  • Integration Testing
  • Software Architecture
  • Data Science
  • Hardware Optimization
  • GPU
  • CPU

Visa sponsorship

Not detected in the job text

Categories

  • Technology
  • Software
  • Engineering
  • Data & Analytics
  • Creative & Media

Keywords

  • C++
  • Machine Learning
  • Artificial Intelligence
  • Deep Learning
  • Inference Engines
  • Game Development
  • Python
  • Multithreading
  • Memory Management
  • Software Architecture
  • Data Science
  • Unit Testing
  • Integration Testing
  • NPU
  • GPU
  • CPU
  • Game Engines
  • Scalability
  • Modularity
  • Performance Optimization
  • Research
  • Documentation
  • Ubisoft
  • Computer Science
  • Computer Engineering

Report this job