Programmer (Engine) – Anvil
- Flexible Working Organization: Hybrid
Ubisoft Montréal strives to offer gamers an impressive visual experience, as well as an incomparable level of immersion. The fluidity and vitality of our worlds make this experience even richer for our audience.
At Ubisoft, developing, optimizing and maintaining our game engines is an important part of staying on the cutting edge of technology. As an engine programmer on the Anvil team, you will be responsible for maintaining and optimizing a dedicated game server solution to support our multiplayer titles as well as supporting the network and online development team in all matters related to the engine.
Anvil is a game engine developed in-house at Ubisoft and used throughout our studios to create the company's most iconic video games. Originally developed for the first open-world game Assassin's Creed, released in 2007, the engine has undergone numerous additions to support a wide variety of genres and platforms. From frenetic 5-on-5 team play in a first-person shooter like Rainbow 6 Siege on the PC to mythological adventure in the world of Immortals: Fenyx Rising on the latest generation of consoles, the Anvil engine can do it all.
In the Anvil team, we are deeply motivated to equip our developers and content creators to make the most innovative, visually stunning and rewarding games for players. If you join us, you'll be able to work closely with multiple production teams and contribute to the game engine with the most powerful tools and services available. What are you waiting for to join the Anvil community?
What you'll do
- Develop the required systems and adapt Anvil for the needs of the game server.
- Maintain and optimize the engine to keep it up to date and on the cutting edge of technology.
- Compile and understand the projects’ purpose for using Anvil and analyze the technical feasibility.
- Collaborate with multiple teams to optimize the interaction between different game engine systems.
- Master low-level systems such as loading/streaming, memory management, and systems that are specific to cloud platforms.
- Share your knowledge with the different teams of the studio and be a go-to person for the programmers.
- Assess and debug simple and complex performance issues + propose well adapted optimizations.
What you bring
- A general understanding of modern game engine architecture
- Knowledge of different hardware architectures (e.g. Intel, AMD, Xbox, PlayStation, etc.)
- Knowledge of the specifics of virtual machines and cloud services
- Experience in C++ programming on Windows and Linux
- Good knowledge of multithreaded programming and synchronization mechanisms
- Ability to analyze and synthesize existing systems
- Ability to debug and solve complex problems in an optimal manner
- An undergraduate degree in computer science or software engineering (or related training)
- Strong attention to detail
- A team player and the ability to communicate effectively
What to send our way
Your CV highlighting your background and skills
Ubisoft’s 20,000 team members, working across more than 30 countries around the world, are bound by a common mission: enrich players’ lives with original and memorable gaming experiences. Their commitment and talent have brought to life many acclaimed franchises such as Assassin’s Creed, Far Cry, Watch Dogs, Just Dance, Rainbow Six, and many more to come.
Ubisoft is an equal opportunity employer that believes diverse backgrounds and perspectives are key to creating worlds where both players and teams can thrive and express themselves.
When you join Ubi MTL, you discover a workplace that sparks inspiration and connection. We offer a collaborative space that provides career advancement, a host of learning opportunities, and meaningful benefits centred on well-being.
If you are excited about solving game-changing challenges, harnessing cutting-edge technologies, and pushing the boundaries of entertainment, we invite you to join us on our journey and help us create the unknown.
At Ubisoft, you can come as you are. We embrace diversity in all its forms. We’re committed to fostering a work environment that is inclusive and respectful of all differences.