Based in Newcastle upon Tyne, Ubisoft Reflections is a lead studio with a 35-year heritage and known for technical innovation, creating immersive worlds and vehicle & driving technology. The studio has collaborated with creative teams from other Ubisoft studios from around the world to contribute to the creation of some of the industry’s most acclaimed AAA games, the most recent of which include Watch Dogs Legion, Tom Clancy’s The Division & The Division 2, Assassins Creed Syndicate, Tom Clancy’s Ghost Recon Wildlands as well as ground-breaking in-house projects, such as the award-winning Grow Home and Grow Up series.
The Lead Engine Programmer will lead an engine team within a collaborative multi-discipline environment with a focus on the three pillars of Leadership at Ubisoft: Care about People, Drive Performance and Development and Lead in Complexity.
- Build an effective team to ensure it is fully resourced, a manageable size and a good mix of levels and foster the team player culture;
- Plan, prioritise and set inspiring objectives for your team members all year long;
- Empower your team members with clear expectations and hold them accountable for their key results;
- Provide your team members with ongoing and meaningful feedback on performance and development -- ensuring positive acknowledgement of all achievements, both big and small;
- Enable your team members to reflect and prepare their future in their role and at Ubisoft;
- Engage and positively influence team members and stakeholders around a vision;
- Navigate through ambiguity and embrace change with a positive mindset;
- Create the environment for initiatives and ideas to emerge and grow;
- Care about people: be exemplary and supportive;
- Communicate with impact and promote an open dialogue within your team.
- Work with production, engineers, design and art team leads to create task estimates and schedules for the engine team and track development efforts across the team;
- Ensure your team participates in standard studio development processes;
- Liaise with internal and external middleware technology providers, and console manufacturers;
- Balance active code development with the management requirements and responsibilities of a discipline lead;
- Ensure the delivery of practical and timely solutions by the engine team that meets the game design and technical requirements;
- Ensure code is modular, self-contained, and defensive and observes the technical constraints on the system by leading regular technical design and code reviews;
- Define good programming practices and coding standards, and ensure they are enforced within the engine team through regular peer code reviews;
- Ensure the creation of technical documentation for the engine team as well as other disciplines, and assist in the creation of submission materials as required;
- Continually review the engine and development processes to identify potential improvements;
- Be an advocate and ambassador for technology sharing across projects;
- Supporting the line manager in any ad hoc tasks and duties.
Skills and Knowledge
- Knowledge of refactoring C++ code to work on co-processors (e.g. SPU, compute shaders) is desirable
- Excellent C/C++ programming skills, with excellent knowledge of object oriented development;
- 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
- 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
- Understanding of the constraints and technical requirements for console platform development within their area
- Familiarity with common scheduling, task and issue tracking tools – MS Project, Jira, etc;
- Able to create, manage and track schedules for a team of engineers;
- Self-motivated and pro-active with a strong work ethic;
- Excellent oral and written communication and general soft skills;
- Excellent knowledge of common algorithms, data structures and patterns, and the ability to apply them to problems while keeping constraints and performance in mind;
- Proven ability to analyse unfamiliar code of a significant complexity to understand and extend the functionality of an existing module;
- In-depth knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile, etc;
- Experience managing and leading technical staff;
- 6+ years of commercial software development experience as a senior engineer with significant involvement in 2 published games a plus;
- Bachelor’s degree in a relevant subject or equivalent industry experience.
- 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 working at low-level with at least one modern console platform
- Experience of working with external platform SDKs, APIs and middleware
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 Reflections: 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.