This job listing expired on Dec 17, 2021
Tweet

As Ubisoft’s online platform developer, Harbour helps bring high-quality connected experiences to millions of players worldwide. Working alongside production teams, we leverage state-of-the-art solutions to enable value-filled features in all our online games – throughout their development and while they’re live. With a view of Ubisoft’s entire digital ecosystem and a long-term approach to online gaming, we focus on finding the right solution for the right purpose. And if the solution we need doesn’t exist yet? That’s just an opportunity for us to create it.

As a Network Programmer, you’ll join Harbour to build network features and replication technology for a broad range of multiplayer games: from smaller co-ops to massive battle royales.

Together with your team, you’ll help answer the most fundamental questions to best address the next generation of multiplayer requirements: Will the game be as responsive as possible in multiplayer matches? Does the latency meet a pro-gamer’s expectations? Is the experience as seamless as it can be?

What you’ll do In a Cloud Native Environment

  • Develop fast, reliable, and fun multiplayer features and replication solutions in partnership with production teams and other network programmers.
  • Understand existing functions + suggest and develop improvements with the goal of bringing the best multiplayer experience to our players.
  • Collaborate daily with a variety of production and support teams.
  • Evaluate and resolve network bugs.
  • Document your work.

Qualifications

What you bring

  • Experience developing with C++
  • Experience with distributed systems, multi-threading, and network programming
  • Effective cross-departmental communication that allows you to support and elevate the team in terms of quality and vision
  • A degree in Computer Science or Software Engineering (or related training)
  • A creative and innovative spirit

Nice To Have

  • Experience as part of a team that has shipped a multiplayer game
  • Network optimization skills
  • A deep expertise in C#, meaning:
  • Experience with P/Invokes (including reverse callbacks and data marshaling)
  • Experience with unsafe code and other low-level language constructs
  • Knowledge of proper management of native memory
  • Knowledge of objects lifetime
  • Experience with asynchronous code
  • Knowledge of modern C# language features (e.g. C# 7)
  • Experience with controlling lifetime of managed objects (GCHandle, weak references, object pinning)
  • Experience with cross-platform C# programming (Mono, Xamarin, .NET Core)
  • Basic understanding of IL
  • Experience with C bindings
  • Experience developing network features on Microsoft and Sony consoles
  • Your CV, highlighting your background and skills