Ubisoft’s 19,000 team members, working across more than 40 locations around the world, are bound by a common mission to enrich players’ lives with original and memorable gaming experiences. Their dedication and talent has brought to life many acclaimed franchises such as Assassin’s Creed, Far Cry, Watch Dogs, Just Dance, Rainbow Six, and many more to come. Ubisoft is an equal opportunity employer that believes diverse backgrounds and perspectives are key to creating worlds where both players and teams can thrive and express themselves. If you are excited about solving game-changing challenges, cutting edge technologies and pushing the boundaries of entertainment, we invite you to join our journey and help us create the unknown.
Tools Programmers develop, maintain and support key tools to enhance the productivity of their game project. They should look to share their work and reuse other tools from projects across Ubisoft. They work in an agile, proactive and autonomous manner to identify needs and opportunities which deliver value to our pipeline productivity.
- Work as a key part of an agile development team, taking responsibility for organising and planning their own work;
- Use practical solutions to implement feature requests;
- Ensure coding standards are followed;
- Collect, interpret and analyse the technical feasibility of tool specifications;
- Write clear and well-structured code using the appropriate data structure, algorithms and design patterns while bearing in mind performance, maintenance and architectural requirements;
- Include useful comments in the code and document implemented features;
- To manage own workload and time to deliver quality and responsive solutions in collaboration with other team members.
- To innovate and improve the quality of implementation, performance and usability of the tools and project pipeline as a whole.
- To proactively identify opportunities for bringing value through productivity enhancements to our game productions.
- To provide consultation and support to other team members or other teams as required.
- To maintain good lines of communication with users and to proactively seek feedback from them.
- To abide by and contribute to the development of standards, procedures and processes.
- Support the Lead Programmer in any ad-hoc duties and requests.
Skills and Knowledge
- Very good programming skills in at least one language (C#, C++, Python etc.)
- Very good understanding of tools development in games.
- Very good understanding of UWP, WPF or other graphics subsystem commonly used in tools.
- Good working knowledge of at least one game engine, middleware and associated pipelines;
- 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 functionality of an existing module;
- Ability to debug defects of a reasonable complexity, including memory related issues, and multi-threading;
- Knowledge of difference software development methods such as Test Driven Development, Unit Testing, Agile, etc.
- Ability to collect, interpret and analyse the technical feasibility of system / feature specifications.
- Ability to maintain good lines of communication with stakeholders and to proactively seek feedback.
- Very good working knowledge of various data formats e.g. (JSON, XML, YAML);
- Able to plan and estimate their own tasks and ensure timely delivery of work;
- Ability to participate and resolve problems;
- Ability to work well as part of a team;
- Ability to adapt to change;
- Excellent communication skills in spoken and written English;
- Bachelor’s degree in computer science or computer engineering or equivalent;
- Experience working in a multi-site environment is desirable.
- Experience with large engines and complex pipelines is a desirable;
- Experience with commonly used development tools such as Visual Studio and source control;
- Experience of asynchronous, multithreaded application development is desirable;
- Experience of optimization is desirable;
- Experience with profiling tools such as PIX, Razor, etc. is desirable;
Benefits & Relocation
Flexible working, 22 days annual leave + Christmas shutdown, 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 many more...
Relocation assistance is available to anyone currently living 50 miles or more from the studio location. Please contact a member of the talent acquisition team to find out what we have to offer and how we can support with your move here... relocation really doesn't have to be a daunting prospect.
Find out more about Ubisoft Leamington: https://reflections.ubisoft.com/about/ubisoft-leamington/
Ubisoft Reflections & Ubisoft Leamington is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.