Lead UI Programmer
The Lead UI Programmer is responsible for ensuring the delivery of UI systems for use by code and other game teams (Design, Scripting, Art). They will report to the Gameplay Technical Director.
The position is also responsible for line management of the UI 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 provision of support to the UI team and internal customers where required.
- Ensure delivery of high quality UI 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 UI problems.
- Work closely with other programming disciplines to integrate UI with other systems.
- Help mentor junior members of the UI 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.
- Proven capabilities to fully design, tune and deliver robust and decoupled UI systems based on high level design input.
- 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.
- Extensive algorithm and data structure skills (including time and space complexity and real-world vs theoretical performance).
- 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 UI systems, including having shipped at least one AAA PC/console title.
- Bachelor’s degree with a Computer Science/Software Engineering focus or equivalent experience.