- Montreal, Canada
Generalist Programmer, Ubisoft Montréal
Ubisoft Montréal is looking for you, generalist programmers.
At Ubisoft Montréal, a preeminent developer of video games located in Montreal’s dynamic Mile-End neighbourhood since 1997, we offer a work environment unique in the industry for allowing you to build and cultivate games that are part of critically acclaimed, iconic AAA franchises of international repute.
When you join Ubi Montréal, you enter a community of passionate, extraordinary developers connected by their need to innovate, to be creative and to work with the latest technology. You’ll discover a world where employees enjoy constant career advancement, a supportive learning environment, and competitive compensation packages.
More than anything, at Ubi Montréal, you will regularly ship a variety of big, quality titles – Assassin’s Creed, Far Cry, Rainbow Six, Watch_Dogs, For Honor, and… well we can’t disclose all our secrets just yet… – and work with some of the most talented people in the industry.
On being a Generalist Programmer at Ubi Montréal
As a generalist programmer at Ubi Montréal, 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.
The daily life of a Generalist Programmer at Ubi Montréal
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.
What it takes to make it
- A bachelor’s degree in computer science or computer engineering or equivalent.
- A minimum of 3 years’ 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.
We are an equal-opportunity employer and value diversity at our company. We do not discriminate on the basis of race, ethnicity, religion, gender, sexual orientation, age or disability status.