Job detail for Engine Programmer - OS (Game Network)

U
Engine Programmer - OS (Game Network)
Ubisoft Montreal
Todayvia fourdayweek

Use AI to assess how you fit

Company Description

Ubisoft is a world 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 much more. We are convinced that diverse perspectives allow 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

As a Senior C++ Engine Programmer at Ubisoft Montréal, you will join the Core Services - Online Tech Foundations team. This team creates the technologies that support the online services of many Ubisoft productions. You will contribute to designing and evolving distributed systems and middleware used in games, particularly for the game engine, low-level programming, networking, and web components integrated into the engine.

What you will do

  • Develop and evolve reliable, high-performance, and maintainable C++ middleware.
  • Contribute to technical directions and architectural choices.
  • Improve code quality through best practices, code reviews, and continuous improvement.
  • Solve complex technical problems and optimize performance.
  • Reduce risks and technical debt to support the longevity of solutions.
  • Collaborate with teams and other stakeholders.
  • Share knowledge and keep up with technological developments.
Qualifications

What you bring to the team

  • Mastery of modern C++, including C++17, C++20, and C++23.
  • Experience designing software architectures, high-performance algorithms, and optimized data structures for complex systems.
  • Experience optimizing memory management, multithreaded programming, and CPU usage.
  • Experience using debugging, profiling, continuous integration, and continuous deployment to maintain code quality.
  • Ability to solve complex problems, communicate clearly, work in a team, and contribute to technical choices.
  • Experience with console development or multiplayer game projects is an asset.
  • Knowledge of C#, .NET, Visual Studio, CMake, LLVM tools, GitLab-CI, or agile methods is an asset.
  • Knowledge of game engines like Snowdrop, Anvil, Unreal, or Unity, cloud services like AWS or Azure, distributed systems, or network optimization is an asset.