Lead Engine Programmer (237)

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.

Job Purpose
Lead an engine team within a collaborative multidiscipline environment with a focus on the three pillars of Leadership at Ubisoft:  Care about People, Drive Performance and Development and Lead in Complexity. 

Reports To
Senior Lead Programmer, Technical Director or Producer as appropriate

Direct Reports
Programmers of all experience levels 

Leadership Responsibilities

  • 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.

Other Responsibilities

  • 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.
     

Qualifications

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;

Relevant Experience

  • 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 

Additional Information

Salary: Competitive + Relocation
Location: Newcastle upon Tyne, UK
 

    Apply Now