The Senior UI Programmer is responsible for designing and implementing UI systems and features with minimal guidance. They will provide technical support and mentoring to junior members of staff, and will report to the Studio Programming Lead.
They are expected to be proactive in dealing with other disciplines to resolve problems quickly and elicit clear requirements to translate them into flexible reusable solutions. As well as solving challenging new technical problems, a Senior UI Programmer will have a good understanding of best practice and standard techniques across a range of UI systems and will keep up-to-date on innovations within the industry.
- Deliver high quality UI systems, widgets, features using appropriate levels of abstraction.
- Identify and debug technical problems quickly and efficiently.
- Prioritise, plan and manage the time of assigned tasks with minimal oversight.
- Help define the technical direction and develop innovative solutions for UI problems.
- Help mentor junior members of the gameplay programming team and communicate clearly with other team members with minimal external help.
- Use appropriate data structures and algorithms to maximize efficiency (for both development time and runtime performance).
- Be vigilant for and report new problems, delays and risks to the appropriate Lead/Director.
- Request support from higher levels when required.
- Strong C++ programming and debugging skills.
- Strong knowledge about UI programming trade-offs (performance, memory usage and workflow).
- Able to implement complex UIs and widgets based on high level design input with minimal assistance.
- Strong communication skills, comfortable working across teams and mentoring staff.
- Extensive algorithm and data structure skills (including time and space complexity and real-world vs theoretical performance).
- Able to understand and utilise multi-threading primitives.
- Capable of reading and quickly understanding complex code.
- Self-motivated and driven to creatively solve problems.
- Able to plan the work to build an UI system including external dependencies with minimal input.
- 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 similar experience.