In-depth knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile etc. Proven ability to debug defects of a reasonable complexity, including memory related issues, multi-threading, and assembly level debugging
#Assassins creed 1 lead programmer code
Proven ability to analyse unfamiliar code of a reasonable complexity to understand, extend, refactor and optimise an existing module Significant knowledge of common algorithms, data structures and patterns, and their application Knowledge of most areas of game development (physics, AI, gameplay, rendering, online, tools, UI, audio) with reasonable expertise in at least 1 areaĮxcellent C/C++ programming skills, with excellent knowledge of object oriented development including design patterns and UMLĮxtensive experience working with a large game codebase, and it's modules, middleware and associated pipelineĭeep understanding of software performance considerations, with ability to design and implement well performance systems/features Integrate large-scale modules or components while minimising the impact on the rest of the programming teamĬontribute to and on occasion lead cross-studio collaboration communications in conjunction with the Lead ProgrammerĮstablish and maintain contact with their counterparts within the studio, share knowledge and best practices, and put those learnings to use on their projects Stay up-to-date with state-of-the-art technology and promote its use within the studio Participate in the definition of coding practices and ensure coding standards are followed with regular code reviewsĬollaborate with stakeholders to gather and analyse technical constraints and establish solutionsĭemonstrate an understanding of load and feature testing, write test code, and develop test frameworks and processes Implement innovative solutions to feature requests, taking into account performance, maintability and appropriate resource usage
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 Develop generic systems that will support the work of the specialist programmers (AI, 3D, physics, sound, animation, etc.) and meet the design and technical needs of the project