Company description
Ubisoft is a global leader in the video game industry, with teams around the world creating original and memorable experiences, from Assassin's Creed and Rainbow Six to Just Dance and much more. We are convinced that diversity of perspectives allows players and teams alike to thrive. If you are passionate about innovation and pushing the boundaries of entertainment, join us and help create the unknown!
Job description
What you will do:
We are looking for a senior C++ programmer who will contribute to the development of applications in the field of Machine Learning. The role of the senior C++ programmer with AI/ML experience is to bring best practices and design principles to help the team deliver our ambitious roadmap.
Main responsibilities:
-
Provide and support ML systems based on business requirements and objectives.
-
Develop, integrate and maintain ML inference engines, libraries and frameworks.
-
Leverage the best hardware (NPU, GPU, CPU) to accelerate ML computations.
-
Develop systems to evaluate, optimize and measure model performance.
-
Integrate and maintain ML systems in game engines and in 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 productions.
-
Program in a clear and structured way, meeting performance, maintenance, modularity, scalability and compatibility requirements.
Other responsibilities:
-
Create proofs of concept, which may require training models, fine-tuning, and experimenting with different techniques and models.
-
Suggest improvements where necessary by designing and implementing new systems or improving existing ones.
-
Conduct research to stay up to date with the latest advances.
-
Documentation, presentations and knowledge sharing to communicate complex AI concepts to technical and non-technical colleagues.
Qualifications
What you bring:
Education:
Bachelor's degree in computer science, computer engineering or equivalent.
A master's degree in machine learning or any other relevant master's degree is a real asset.
Relevant experience:
Minimum 10 years of C++ programming experience.
Minimum 5 years of AI/ML experience.
Core skills:
-
In-depth knowledge of C++ required.
-
Strong architecture skills.
-
Good knowledge of hardware, to take advantage of multithreading and optimize memory management.
-
Good knowledge of the fundamentals of machine learning and deep learning.
Other skills:
-
Proficiency in Python is an asset.
-
Experience working with game engines is an asset.
-
Knowledge or experience in Reinforcement Learning (apprentissage par renforcement).
