3D Programmer

  • Québec City, Canada
  • Full-time

Company Description

Ubisoft Québec is a leader in the video game industry and is located in the heart of Quebec City’s Saint-Roch neighbourhood. Involved in many of Ubisoft’s flagship franchises, the studio gained a strong expertise, leading to its implication in the development of AAA games. The 500 talented people are united by the desire of pushing boundaries, building high quality worlds and creating memorable gaming experiences.

Job Description

The 3D programmer will be responsible for the features that render the 3D game universe (e.g. render architecture, texture, SFX, lighting, etc.).


The main and routine tasks of the 3D programmer are to:

* Compile and understand the 3D intentions of the project, document development needs and assess technical feasibility;

* Analyze existing 3D functions in the engine and see if they are in line with intentions;

* Suggest improvements whenever necessary by designing and implementing new systems;

* Collaborate with the graphic design technical director to establish constraints and communicate the technical possibilities of the various 3D features to the artistic teams;

* Suggest innovations inspired by other from the games industry;

* Validate and verify whether the newly developed and integrated 3D systems meet the specific and general project intentions and are coherent with existing code;

* Optimize whenever necessary;

* Support the 3D features and systems designed for production;

* Determine and correct the 3D bugs identified by other working units and the quality control team;

* Document the work to transfer knowledge and enable users (other working units) to understand how to use the 3D systems and functions;

* Carry out all other related tasks.



Bachelor’s degree in computer science, computer engineering or equivalent training.

Relevant Experience

3 years’ experience minimum in 3D programming, ideally in the video game sector, or any other relevant experience.

Skills and Knowledge

* Good analytical and synthesis skills;

* Problem-solving skills;

* Autonomy and resourcefulness;

* Attention to detail;

* Results oriented;

* Good interpersonal and communication skills;

* Ability to work as part of a team;

* Ability to adapt to change;

* Knowledge of API 3D and Shader languages;

* Knowledge of factorial algebra;

* Knowledge of best practices in software design and memory compromises vs CPU vs GPU;

* Knowledge of multiplatforms and tools an asset.