The Lead Gameplay Networking Programmers Is responsible for ensuring the delivery of large scale, network heavy gameplay systems for use by other game teams. The Lead Gameplay Networking Programmer position will report to the Studio Programming Lead.Ensure delivery of high quality gameplay networking 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 gameplay networking problems. Help educate and support other teams to correctly and efficiently use our networking architecture. Line manage members of the Gameplay Networking Programming team and communicate clearly with other team members easily. 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. Seek support from higher level management when required. RequirementsExceptional communication skills, 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. Expert in networking concepts and able to implement & utilize networking primitives easily. 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. Self-motivated and driven to creatively solve problems. Videogame programming experience in game networking, including having shipped at least one AAA multiplayer PC/console title. Bachelor's degree with a Computer Science/Software Engineering focus or equivalent experience.
The position is also responsible for line management of the Gameplay Networking Programming team as well as scheduling, prioritising tasks 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 and problem-solving skills that touch multiple disciplines.