Ubisoft Montreal Logo

Generalist Programmer at Ubisoft Montreal (Montreal, QC, Canada)

Sobre el empleador

Descripción del trabajo

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. Skills & Requirements Qualifications 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.