Job details

Job 1 of 1
Generalist programmer
Canada - Montreal
Ubisoft Montreal, an industry leading developer of video games, located in the heart of Montreal’s Mile-End, offers a unique environment where creativity, teamwork and cutting-edge technology bring to life critically acclaimed video games and iconic AAA franchises. You will benefit from a competitive compensation package, an open learning environment, and contribute to an international team driving innovation.
The generalist programmer will develop systems for a wide-range of elements including the game engine and editor or any middleware used by the production teams. The incumbent may also be called upon to work on a particular system (AI, 3D, physics, sound, animation, etc.) as part of a specific mandate.
The main and routine tasks of the generalist programmer are to:
-Program in a clear and structured manner that is in keeping with performance, maintenance, modularity, scalability and compatibility requirements;
-Analyze existing system features and determine whether they meet project intentions;
-Suggest improvements whenever necessary by designing and implementing new systems or enhancing existing ones;
-Develop generic systems that will support the features of the specialist programmers (AI, 3D, physics, sound, animation, etc.) and facilitate integration (engine, editor or middleware);
-Set out technical designs to meet system needs whenever necessary;
-Support the new systems and features;
-Determine and fix the bugs identified by working units and the quality control team;
-Document the work to ensure knowledge transfer and help users understand the new systems and features;
-Carry out all other related tasks. 
Bachelor’s degree in computer science or computer engineering or equivalent.
Relevant Experience
Minimum 1-3 years’ experience in software programming, ideally in the video game industry or any other relevant experience.
Skills and Knowledge 
-Expert level C++;
-Good analytical and synthesis skills;
-Ability to anticipate and resolve problems;
-Autonomy and resourcefulness;
-Attention to detail;
-Flexibility in organizing work;
-Good interpersonal and communication skills;
-Ability to work as part of a team;
-Ability to adapt to change;
-Results driven
-Ability to quickly learn to use new tools.