Offers “Ubisoft”

32 days agoUbisoft

AI Programmer (244) Craig Pearn

  • Royal Leamington Spa (Warwickshire)
  • IT development

Job description

Ubisoft is 10,000 creative minds spanning 6 continents. With around 85% of its staff devoted to game development, Ubisoft has the 2nd largest in-house creative team in the world.

The company’s 27 different creative studios work hand-in-hand each day to deliver rich and innovative gaming experiences that reflect the creativity and diversity of their teams. This cross-studio collaboration model means every team member has the opportunity to participate in challenging projects based on brands including Assassin's Creed®, For Honor® Tom Clancy's Ghost Recon®, Tom Clancy's Splinter Cell®, Tom Clancy's Rainbow Six, Tom Clancy's The Division, Rabbids®, Rayman®, Watch Dogs®, Far Cry®, The Crew®, Just Dance® and more.

Reports To
Lead Programmer

Responsibilities

·  Develop systems to control the simulation and behaviour of non-player entities, and provide tools to allow designers to iterate on those behaviours in a data driven manner;
·  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).

Skills and Knowledge

·  Knowledge and experience with existing and cutting edge AI technologies (e.g. path-finding, behavior trees, planning, character controllers, machine learning);
·  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

·  Bachelor’s 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. 

Salary: Competitive + Relocation
Location: Royal Leamington Spa, UK