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
As a senior C++ engine programmer at Ubisoft Montreal, you will join the Core Services - Online Tech Foundations team. This team builds the technologies that support the online services of many Ubisoft productions. You will help design and evolve distributed systems and middleware used in games, notably for the game engine, low-level programming, networking, and the Web components integrated into the engine.
What you will do
- Develop and evolve reliable, high-performance, and easy-to-maintain C++ middleware.
- Contribute to technical direction and architectural choices.
- Improve code quality through best practices, code reviews, and continuous improvement.
- Solve complex technical problems and optimize performance.
- Reduce risk and technical debt to support the long-term sustainability of solutions.
- Collaborate with teams and other stakeholders.
- Share knowledge and keep up with technological developments.
Qualifications
What you bring to the team
-
Advanced mastery of modern C++ (C++17/20/23 and beyond).
-
Strong expertise in software architecture and complex systems.
-
Advanced low-level skills (memory, multithreading, CPU optimization).
-
Design of high-performance algorithms and optimized data structures.
-
Excellent debugging and profiling skills.
-
Proficiency in continuous integration and continuous deployment (CI/CD).
-
Effective analysis and resolution of complex problems.
-
Excellent communication and teamwork skills.
-
Autonomy, proactivity, and a strong sense of initiative.
-
Constant rigor and a culture of quality.
-
Ability to influence technical choices and directions.
Assets:
-
Console development (PlayStation, Xbox, Switch).
-
Expertise in C#.
-
Experience with one or more game engines (Snowdrop, Anvil, Unreal, Unity).
-
Knowledge of cloud infrastructure (AWS, Azure).
-
Experience on game productions with a strong online component.
-
Advanced technical mastery in areas such as online and networking.
