As a generalist programmer at Ubisoft Montreal, you'll develop stable, high-performance tools and systems that support the studio's creative goals and world-class games. Working across areas like game engine, editor, and middleware, you'll tackle diverse technical challenges and contribute directly to the foundation that enables production teams to bring their ideas to life.
Your journey at Ubisoft will begin with being trained on one of our internal Engines. From there, you'll dive into your first project, where you'll sharpen your skills by focusing on Build modernization and Engine modification.
At the same time, we're looking for someone who thrives under the hood, someone who loves reverse engineering, low-level tinkering, and solving complex puzzles. You're not intimidated by legacy systems or old code and instead, you're able to understand and adjust complex systems. Your adaptability and technical insight will directly influence the capabilities and success of the team.
What you'll do
Develop generic systems that will support the functionalities of the specialized programming teams + ensure their integration (engine, editor, or middleware).
Support the production teams by ensuring the stability and proper functioning of their systems and tools.
Program in a clear and structured manner while respecting performance, maintenance, modularity, extensibility, and compatibility requirements.
Be in constant communication with the production teams and the people who use your tools to respond to their requests and needs.
Monitor performance and memory budgets and adjust as needed.
Debug and optimize existing systems to facilitate the work of other programming teams.
Document your work to transfer your knowledge and allow production to understand the systems and their functionalities.
Keep abreast of advances in the field of programming.
Qualifications
What you bring
- A degree in Computer Science or Computer Engineering (or other equivalent training)
Experience in software programming
Excellent mastery of the principles of computer science and the various programming languages, particularly a minimum of 5 to 6 years of experience in C++ and a good experience in C#
A strong passion for games and video game development
Versatility and the ability to work in different systems
A good analytical and synthetic mind as well as a strong attention to detail
The ability to work in a team, coupled with good interpersonal and communication skills
Autonomy, curiosity, and resourcefulness that will not prevent you from asking for help when needed
Flexibility and adaptability to change
Knowledge in 3D/ Rendering programming is a plus.
Additional Information
What to send our way
Your CV highlighting your education, experience, and skills
About us
Ubisoft is a global leader in gaming with teams across the world creating original and memorable gaming experiences, from Assassin's Creed, Rainbow Six to Just Dance and more. We believe diverse perspectives help both players and teams thrive. If you're passionate about innovation and pushing entertainment boundaries, join our journey and help us create the unknown!
Company Description