Who we are
Ubisoft Winnipeg is a technology studio with a unique mission: develop new technologies that will change the way we build video game worlds. We are the only Ubisoft studio focused on exploring the unknown to develop technology that empowers game creators—at all Ubisoft Canadian studios—to build even better, more immersive worlds across our major brands such as Far Cry, Assassin’s Creed and Watch Dogs. Our vanguard studio is on the hunt for passionate and experienced innovators to lead our inspired team in the creation of leading-edge technology in one of Canada’s fastest growing cities for game and tech development. Join the family!
Who you are
The C++ Programmer will develop and maintain low-level systems and the overall architecture of new and existing game engines to enable our game developers to create larger, more immersive open worlds for our AAA games. The C++ Programmer will work collaboratively with teams in Ubisoft's studios to fully develop the potential of our game engines and improve the efficiency of the production teams. You will be working on multiple platforms and in areas such as memory management, loading, streaming, physics, audio, platform specific systems, and more.
What you’ll do
- Analyze and understand the requirements of the game development teams in order to define the required functionalities and engine systems that must be developed to support them;
- Adapt or replace game engine systems as required to support and enhance the efficiency of game development;
- Analyze innovations and features from external tools and other Ubisoft pipelines to determine where they can be applied to our own pipelines;
- Collaborate with game developers in other Ubisoft teams to examine the constraints of the existing engines;
- Analyze and maintain CPU and loading performance by optimizing algorithms to ensure high efficiency and minimize the impact on game developers;
- Diagnose and repair the most complex defects, including creating systems to help in debugging;
- Document work to transfer knowledge and enable users.
What you bring
- Experience in low-level programming using C/C++;
- Experience with programming and debugging of complex applications;
- Experience with object-oriented programming;
- Experience with multi-platform programming;
- Solid proficiency in multi-threading, performance and optimization techniques;
- Strong understanding of software development processes;
- Strong 3D math;
- Knowledge of refactoring techniques;
- Game industry experience or personal video game projects are a plus.
- Problem solving skills;
- Driven by complex challenges;
- Strong communicator;
- Team player;
- Flexible and able to adapt to changes;
- Experience with Direct3D and OpenGL.
What to send our way
Your CV, highlighting your education, experience, and skills.