Job Description

A career at Ubisoft Leamington and Ubisoft Reflections opens doors to new worlds. As an Online Programmer you are part of a team that directly influences the quality of our player’s online experience.

What you will do

  • Assist with investigation, design and implementation of class-leading online features;
  • Involvement with education of the game team to ensure online gameplay and technical constraints are considered during the design and implementation of game features;
  • Work as a key part of an agile development team, organising and planning the implementation of features with direction from their lead, and assist less experienced programmers;
  • Use practical solutions to implement feature requests, taking into account performance, maintainability and resource usage;
  • Ensure coding standards are followed in their own and others code;
  • Collect, interpret and analyse the technical feasibility of system/feature specifications;
  • Write clear and well-structured code using the appropriate data structure and algorithms while bearing in mind performance, maintenance and architectural requirements;
  • Include comments in the code and document implemented features;
  • Demonstrate an understanding of the basics of load testing and game feature testing and write test code;
  • Stay up-to-date with technology advances within the field;
  • Perform code reviews for peers;
  • Extract and interpret relevant runtime system resource information (disk IO, network, CPU, memory, etc).
  • What you will bring

  • Knowledge of common online systems;
  • Ability to debug networked/asynchronous systems;
  • Very good C/C++ programming skills, with very good knowledge of object oriented development including design patterns and UML;
  • Experience working with a large game codebase, and it’s modules, middleware and associated pipeline;
  • Understanding of speed and memory considerations, and able to implement basic optimisations;
  • Knowledge of common algorithms, data structures and patterns, and their application;
  • Ability to analyse unfamiliar code of a reasonable complexity to understand, extend and refactor an existing module;
  • Ability to debug defects of a reasonable complexity, including memory related issues, and multi-threading;
  • Knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile etc.;
  • Understanding the constraints and technical requirements for console platform development within their area is a plus;
  • Ability to adapt to change;
  • Good interpersonal and communication skills.
  • Relevant Experience 

  • Bachelors degree in computer science or computer engineering or equivalent experience;
  • 3 years commercial software development experience with significant involvement in 1 published game in a relevant programming capacity is a plus;
  • Experience working with at least one modern console platform is an advantage;
  • Experience with profiling tools is desirable;
  • Experience working in a multi-site collaboration environment is a plus.