Position: Senior Gameplay C++ Programmer (Edinburgh)
Company: Serengetitech
Experience required: 5y
English level: upper

The Senior Gameplay Programmer position will report to the Studio Programming Lead. The Senior Gameplay Programmer role is responsible for designing and implementing large scale gameplay systems with minimal guidance, providing technical support and mentoring to more junior members of staff. This role is also expected to be proactive in dealing with other disciplines to resolve problems quickly, elicit clear requirements and translate them into flexible, reusable solutions.

Responsibilities

- Deliver high quality gameplay systems 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 difficult gameplay problems.
- Mentor junior members of the gameplay programming team and communicate clearly with other team members and teams 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.
- Escalate issues or seek support from higher level management when required.

Requirements

- Strong C++ programming and debugging skills.
- Able to tune gameplay systems based on high level design input with minimal assistance.
- Strong communication skills, and 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 utilize multi-threading primitives.
- Able to understand and utilize high level networking concepts.
- Capable of reading and quickly understanding complex code.
- Self-motivated and driven to creatively solve problems.
- Able to plan the work to build an entire sub-system including external dependencies with minimal input.
- Videogame programming experience on gameplay systems, including having shipped at least one AAA PC/console title.
- Desire to work in a fast-paced, high growth, start-up company environment.
- Bachelor’s degree with a Computer Science/Software Engineering focus or similar experience.