Programmer (Engine)

Mar 22, 2024
Montréal, Canada
... Not specified
... Senior
Full time
... Office work

Ubisoft Montreal strives to offer gamers an impressive visual experience, as well as incomparable level of immersion. The fluidity and vitality of our worlds make this experience even richer for our audience.

At Ubisoft, developing, optimizing and maintaining our game engines is an important task to stay on the forefront of technology. As an engine programmer, you'll be responsible for maintaining and optimizing the engine of one of our AAA games like For Honor, Rainbow 6 or Assassin's Creed, as well as developing future technologies.

What you'll do

  • Maintain and optimize the game engine to stay on the cutting edge of technology.
  • Compile and understand the project purpose, identify development needs, and assess technical feasibility.
  • Work with many teams to optimize interaction between various game engine systems.
  • Master low-level systems such as loading/streaming, memory management and platform-specific systems.
  • Share your knowledge with various studio teams and be a resource contact for programmers.
  • Analyze and debug simple and complex performance problems + propose well-adapted optimizations.

What you bring

  • General understanding of modern game engine architecture
  • Knowledge of different hardware architectures (ex. Intel, AMD, Xbox, PlayStation, etc.)
  • Experience in C++ programming and knowledge of assembly language
  • Solid knowledge of multi-threaded programming and synchronization mechanisms
  • Can analyze and synthesize existing systems
  • Ability to solve complex problems in an optimal way
  • Computer science or computer engineering degree or equivalent training
  • Skillful debugging complex problems and optimizing memory and performance
  • Attention to detail
  • Team spirit and good communicator

What to send our way 

  • Your CV highlighting your education, experience, and skills

What you bring

  • General understanding of modern game engine architecture
  • Knowledge of different hardware architectures (ex. Intel, AMD, Xbox, PlayStation, etc.)
  • Experience in C++ programming and knowledge of assembly language
  • Solid knowledge of multi-threaded programming and synchronization mechanisms
  • Can analyze and synthesize existing systems
  • Ability to solve complex problems in an optimal way
  • Computer science or computer engineering degree or equivalent training
  • Skillful debugging complex problems and optimizing memory and performance
  • Attention to detail
  • Team spirit and good communicator

What to send our way 

  • Your CV highlighting your education, experience, and skills