The Engine Programmer is responsible for implementing functionality based on guidance and design provided by Senior Programmers. Deliver high quality and high-performance game engine sub-system features using appropriate levels of abstraction, data structures and algorithms. Support other teams in the use of the engine and work closely with other teams to deliver features at the expected quality & performance. Identify and debug technical problems with some help for complex problems. Prioritise, plan and manage the time of assigned tasks with oversight. Communicate clearly with other team members with minimal external help. Be vigilant for and report new problems, delays and risks to the appropriate Lead/Director. Request support from higher levels when required. RequirementsStrong C++ programming and debugging skills. Professional videogame programming experience on at least 1 sub system of a game engine. Good algorithm and data structure skills (including time and space complexity and real-world vs theoretical performance of basic data structures). Awareness of multithreading concepts and able to use multi-threading primitives with guidance. Capable of reading and understanding game code. Self-motivated and driven to creatively solve problems. Bachelor's degree with a Computer Science/Software Engineering focus or similar experience.
The Engine Programmer is expected to write and maintain the code that enables the game to run efficiently and should be able to deal with other disciplines to resolve problems and elicit requirements. The role should also have some understanding of best practice and at least one game engine sub-system, while seeking to learn more about innovations within the industry. The role will report to a Lead Engine Programmer.