What will you do?
Implement gameplay systems, and player interactions in close collaboration with designers to ensure player comfort;
Use prototyping techniques to demonstrate the validity of a gameplay idea;
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 will you bring?
Good understanding of gameplay technology, and can use technical knowledge in various areas such as mathematics, physics, animation, online, artificial intelligence to implement gameplay features, and believable behaviours;
Ability to work in an iterative environment with game designers to quickly prototype gameplay features;
Knowledge of gameplay scripting languages;
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.
Benefits & Relocation
We’re offering flexible working with some remote work available, 25 days annual leave + Christmas shutdown (usually 3 days), private healthcare (with option to add immediate family), life insurance & income protection, workplace pension scheme, paid volunteering days, annual fitness & well-being allowance, games, technology & merchandise, subsidised travel and excellent relocation support, should you need it!
Ubisoft offers the same job opportunities to all, without any distinction of gender, ethnicity, religion, sexual orientation, social status, disability or age. Ubisoft ensures the development of an inclusive work environment which mirrors the diversity of our gamers community.