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.
As a programmer in the engine team, you know you’ve done great work when the tools you’ve created are stable, up and running and effective for members of the production team.
You develop systems on a particularly large spectrum, from game engines to game editors, or any middleware used in production. You might also work on a specific system (AI, 3D, sound, animation, etc.) for a mandate or depending on your team’s size and needs.
Your role is central to the health of a project as you nurture the systems that are the foundation of a game. You make it possible for content production teams to focus on creating the most fun and enriching experiences for our players.
Your main and regular tasks are to:
· Develop generic systems to support the functionalities of the specialist programmers (AI, 3D, sound, animation, etc.) and ensure their integration (engine, editor or middleware)
· Support the production team by making sure their tools are stable and effective
· Program in a clear and structured manner that is in keeping with performance, maintenance, modularity, scalability and compatibility requirements.
· Monitor performance and memory budgets.
· Debug and optimize already existing systems.
· Document your work to ensure knowledge transfer and help users understand the new systems and features;
· Carry out all other related tasks.
· A bachelor’s degree in computer science or computer engineering or equivalent.
· Experience in software programming, ideally in the video game industry or any other relevant experience.
· Excellent proficiency in various programming languages, especially C++.
· Good analytical and synthesis skills and attention to details.
· Ability to work as part of a team and good interpersonal and communication skills.
· Autonomy, curiosity and resourcefulness, that push you to go talk to people.
· Flexibility in the organization of your work, allowing you to adapt to changes.