Platform/Engine Programmer


Platform/Engine Programmer


Position Overview


Our shared technology team are looking for people with a passion for core engine systems in a cross-platform environment.

As a generalist, you have a love for programming and software engineering across multiple platforms to make code portable, and through excellent software engineering allow such code to be suitably shared multiple projects and products who use our shared engine code while maintaining great performance across all supported platforms/systems.

You will be joining our dynamic shared technology team, reporting into the Technical Director, where you will be maintaining and improving as well as optimising and adding new functionality to all our core systems and engine code across multiple platforms.

The work we do is fundamental for all our games as well as internal and external tools.

We are looking for self-motivated people with excellent communication skills who are able to complete work independently as well as part of a team.



Key Responsibilities


  • Analyse, identify and fix issues in our shared engine code across six platforms and operating systems.
  • Improve and replace existing functionality across our code base.
  • Re-engineer existing code to meet new requirements and implement new technologies.
  • Take ownership of areas of code in our shared engine code to support and maintain them across all supported platforms.
  • Improve our tools, workflows and working practices.


Knowledge, Skills and Experience


  • Excellent C++ knowledge.
  • Minimum three years of professional experience using C++ as the main language.
  • Experience with cross-platform development, working on code that is used across two or more platforms (two or more of e.g. Windows, Mac, Linux, iOS, Android, Nintendo Switch).
  • Experience of writing core engine systems and shared library code that is used by other teams, projects and products.
  • Experience of developing for iOS or Android is beneficial.
  • Ability to write clean, maintainable, portable and well documented code.
  • A good understanding of performance and optimisation.
  • Very good analytical and problem solving skills.
  • Excellent communication skills and ability to work in a team as well as independently
  • Some knowledge of other programming and scripting languages.