Information Technology

Network - Online Programmer (C++) - Assassin’s Creed Codename Invictus

Ubisoft

Montreal, Québec, Canada
Full-time, Mid-Senior Level
Remote: No

Company Description

Job Description

A new chapter in the Assassin’s Creed legacy is about to be written—not in the shadows of history, but in the heat of multiplayer gaming.
We’re crafting a AAA Multiplayer Game where every frame counts and every move must land.
To do that, we need a master of Netcode to join our elite team of network/online developers.

We’re reimagining our technological stack to deliver top-tier multiplayer performance.
If you have the skills to contribute to programming in C++ a seamless, secure, and scalable network stack, your mission awaits.

What you’ll do

  • Design, implement and maintain the network stack of a AAA multiplayer game engine.
  • Collaborate with the team of engineers to integrate network functionalities into the game engine.
  • Implement solutions to ensure low latency, low bandwidth and high reliability
  • Diagnose and resolve network-related issues during development and post-launch.
  • Document the work to transfer knowledge and enable users (other programmers and team members from other working units) to understand how to use the new network/online systems and features;
  • Work closely with gameplay and backend teams to ensure seamless integration of network features.
  • Collaborate with the creative director and game designers and other teams if necessary, to discuss constraints and set out the technical possibilities for the various network/online features;
  • Keep abreast of the latest network technologies and best practices and apply them within the team.

Job Qualifications

What you bring

Training:

  • Bachelor’s degree in computer science or computer engineering or any other relevant training.

Relevant Experience:

  • Minimum 5-6 years’ experience in production of AAA games with meaningful experience in networks or online, or any other relevant experience.

Skills:

  • Solid analytical and synthesis skills
  • Design documentation (uml, sequence diagrams, entity diagrams, etc.)
  • Problem-solving skills
  • Autonomy and resourcefulness
  • Attention to detail
  • Good interpersonal and communication skills
  • Ability to work as part of a team
  • Ability to adapt to change
  • Results oriented

Knowledge:

  • C++ game programming
  • Significant experience in the application of networking principles like state synchronization and prediction in one or more AAA multiplayer games.
  • Protocols (ex: IP, UDP, TCP) and common usage (ex: Upnp, VoIP)
  • Encryption, compression
  • Experience in high-performance programming, multithreading and memory management.
  • Expert knowledge of low-level network concepts and high-level multiplayer gaming systems.
  • Solid understanding of network protocols, data transmission and synchronization techniques.
  • Security, anti-cheat, etc.