What will you do?
Analyse and determine if current animation functionalities in the game meet the project’s requirements
Working closely with designers and gameplay programmers to implement gameplay interactions using animation technology, such as character locomotion
Work as a key part of an agile development team, and assist the lead with planning and review of features and mentoring less experienced programmers
Implement innovative solutions to feature requests, taking into account performance, maintability and appropriate resource usage
Participate in the definition of coding practices and ensure coding standards are followed with regular code reviews
Collaborate with stakeholders to gather and analyse technical constraints and establish solutions
Demonstrate an understanding of load and feature testing , write test code, and develop test frameworks and processes
Stay up-to-date with state-of-the-art technology and promote its use within the studio
Integrate large-scale modules or components while minimising the impact on the rest of the programming team
Contribute to and on occasion lead cross-studio collaboration communications in conjunction with the Lead Programmer
Establish and maintain contact with their counterparts within the studio, share knowledge and best practices, and put those learnings to use on their projects
Be involved in the optimisation of systems.
What will you bring?
Significant knowledge of character animation, IK, procedural or physics based animation • Strong mathematics and physics skills
Excellent C/C++ programming skills, with excellent knowledge of object oriented development including design patterns and UML
Extensive experience working with a large game codebase, and it's modules, middleware and associated pipeline
Deep understanding of software performance considerations, with ability to design and implement well performance systems/features
Significant knowledge of common algorithms, data structures and patterns, and their application
Proven ability to analyse unfamiliar code of a reasonable complexity to understand, extend, refactor and optimise an existing module
Proven ability to debug defects of a reasonable complexity, including memory related issues, multi-threading, and assembly level debugging
In-depth knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile etc.
Understanding of the constraints and technical requirements for console platform development within their area
Excellent interpersonal and communication skills
Ability to mentor others
Bachelor’s degree in computer science or computer engineering or equivalent experience
6 years commercial software development experience with significant involvement in multiple published games in a relevant programming capacity is a major plus
Experience working with at least one modern console platform is an advantage
Experience with profiling tools
Experience working in a multi-site collaboration environment is a plus
Experience with Havok Behavior, Natural Motions’ Morpheme or similar animation middleware is an advantage.
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.