Ubisoft Winnipeg are on the lookout for an Engine Programmer to join their team! They're a technology studio with a unique mission; develop new technologies that will change the way video game worlds are built. The Winnipeg branch is the only Ubisoft studio focused on exploring the unknown, developing technology that empowers game creators, at all Ubisoft Canada studios, to build even better, more immersive worlds across their major brands (such as Far Cry, Assassin’s Creed and Watch Dogs).
Their vanguard studio is on the hunt for passionate and experienced innovators to lead their inspired team in the creation of cutting-edge technology in one of Canada’s fastest growing cities for game and tech development.
As their new Engine Programmer, you will develop and maintain low-level systems and the overall architecture of new and existing game engines, enabling their game developers to create larger, more immersive open worlds for their AAA games.
You will work collaboratively with teams across Ubisoft's studios to fully develop the potential of their 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.
As Ubisoft Winnipeg's new Engine Programmer, you will...
- Analyse 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
- Analyse innovations and features from external tools and other Ubisoft pipelines to determine where they can be applied to their own pipelines
- Collaborate with game developers in other Ubisoft teams to examine the constraints of the existing engines
- Analyse and maintain CPU and loading performance by optimising algorithms to ensure high efficiency and minimise 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
The skills and experience you'll need...
- Expertise in low-level programming using C/C++
- Confidence in programming and debugging complex applications
- Familiarity with object-oriented programming
- Specialisation with multi-platform programming
- Proficiency in multi-threading, performance, and optimisation techniques
- Understanding of software development processes
- Strong 3D maths dexterity
- Knowledge of refactoring techniques
- Games industry background or personal video game projects are a plus
- Problem solving skillets, being both flexible and able to adapt to changes
- Experience with Direct3D and OpenGL