Code – Edinburgh, Edinburgh, City of
The Lead AI Programmers is responsible for ensuring the delivery of AI systems for use by other game teams (primarily Design and Scripting but including other key stakeholders). The Lead AI Programmer position will report to the Studio Programming Lead.
The position is also responsible for line management of the AI Programming Team as well as scheduling, prioritising tasks, recruitment and mentoring of more junior staff. The role must provide technical leadership and be able to strike a balance between the immediate and long term needs of the project. The job will require flexibility, adaptability, the ability to help solve problems as well as support their team and internal customers where required.
- Ensure delivery of high quality AI systems by the team.
- Prioritise, plan and manage the work of the team with minimal oversight.
- Help define the technical direction and develop innovative solutions for difficult AI problems.
- Work closely with other programming disciplines to integrate AI with other systems.
- Help mentor junior members of the AI Programming Team and communicate clearly with other team members with minimal external help.
- Communicate with external companies and contractors with assistance.
- Use appropriate data structures and algorithms to maximize efficiency (for both development time and runtime performance).
- Be vigilant for and resolve new problems, delays and risks to delivery of the team’s objectives.
- Request support from higher level leadership when required.
- Exceptional communication skills, and comfortable working across teams and mentoring staff.
- Capable of reading and quickly understanding complex code.
- Able to plan the work of the team including external dependencies with minimal input.
- Experience managing a team of programmers.
- Strong C++ programming and debugging skills
- Excellent awareness of AI specific paradigms and algorithms including performance and trade-offs of different approaches.
- Extensive algorithm and data structure skills (including time and space complexity and real-world vs theoretical performance).
- Able to tune AI systems based on high level design input with minimal assistance.
- Able to understand and utilize multi-threading primitives.
- Able to understand and utilize high level networking concepts.
- Self-motivated and driven to creatively solve problems.
- Videogame programming experience on AI systems, including having shipped at least one AAA PC/console title.
- Bachelor’s degree with a Computer Science/Software Engineering focus or equivalent experience.