The Senior Gameplay Networking Programmer is responsible for designing and implementing large scale, network heavy gameplay systems with minimal guidance and providing technical support and mentoring to more junior members of staff. The Senior Gameplay Networking Programmer position will report to the Lead Gameplay Networking Programmer.
The position 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. As well as solving challenging new networking problems, a Senior Gameplay Networking Programmer will have an excellent understanding of best-practice and standard techniques within game networking and will keep up-to-date on innovations within the industry.
- Deliver high quality networking of gameplay systems and network heavy gameplay systems using appropriate levels of abstraction.
- Identify and debug networking 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 networking problems.
- Help mentor junior members of the gameplay networking programming team and communicate clearly with other team members with minimal external help.
- Help educate and support other teams to correctly and efficiently use our networking architecture.
- 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.
- Seek support from higher level management when required.
- Expert in networking concepts and able to implement & utilize networking primitives easily.
- Strong C++ programming and debugging skills.
- 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 utilize multi-threading primitives.
- Capable of reading and quickly understanding complex code.
- Self-motivated and driven to creatively solve problems.
- Able to plan an entire sub-system including external dependencies with minimal input.
- Videogame programming experience on gameplay systems, including having shipped at least one AAA multiplayer PC/console title.
- Desire to work in a fast-paced, high growth, start-up company environment.
- Ability to work full-time based in Edinburgh, Scotland.
- Bachelor’s degree with a Computer Science/Software Engineering focus or equivalent experience.