Online Programmer - Online Services
Montréal (Montréal)
Job description
Company Description
Ubisoft is a global leader in the video game industry, with teams around the world creating original and memorable experiences—from Assassin’s Creed and Rainbow Six to Just Dance and many more. We believe that diverse perspectives enable both players and teams to thrive. If you are passionate about innovation and pushing the boundaries of entertainment, join us and help create the unknown!
Job Description
What You Will Do
· Compile and understand the project’s network/online intentions and define development needs.
· Propose improvements when necessary by designing and implementing new systems.
· Program in a clear and structured manner while considering performance, maintainability, scalability, operability, and compatibility criteria.
· Validate and verify whether new systems meet the project’s intentions and are consistent with the existing code.
· Optimize when needed.
· Document your work to ensure knowledge transfer and help users (programmers, colleagues from other disciplines) understand the new network/online systems and functions.
· Investigate and fix network/online bugs identified by other teams and by quality control.
· Collaborate with the creative director, game designers, and other teams as needed to discuss constraints and determine technical possibilities for various online/network features.
· Provide support for online/network features and systems during production and live operations.
· Analyze existing network/online features in the engine and assess whether they meet the project’s intentions.
· Perform any other related tasks.
Qualifications
What You Bring
Education:
· Bachelor’s degree in Computer Science or Computer Engineering, or other relevant training.
Relevant Experience:
· Minimum of 1 to 3 years of experience in online programming, ideally in the video game industry or any other relevant experience.
Skills:
· Strong analytical and synthesis skills
· Ability to write documentation related to design (UML, sequence diagrams, entity diagrams, etc.)
· Problem‑solving skills
· Autonomy and resourcefulness
· Attention to detail
· Strong interpersonal and communication skills
· Ability to work in a team
· Ability to adapt to change
· Results‑oriented
Knowledge:
· Protocols (IP, UDP, TCP) and common uses (UPnP, VoIP)
· Encryption, compression
· Hands-on experience and skills in online concepts and technologies
· Otherwise, experience with online features and first‑party SDKs
· Asynchronous forms
· Ubisoft’s online technologies and services (integrators, users)
· Fault tolerance
· Security, anti‑cheat, etc.
· C++, Python, C#, SQL, and any other languages relevant to the project
· LAN/WAN devices, layers, and connectivity challenges
· Network engines
· Knowledge of databases
· Cloud/elasticity
· Server architecture, server‑to‑server communication, distributed applications
· Stacks (internal and external, e.g., IIS, App Engine architecture)