Software Engineer (Core Platform)

Software Engineer (Core Platform)

  • London
  • Engineering

Improbable has created SpatialOS: a networking solution combining low latency, tools for faster iteration, and a ready-to-go architecture capable of supporting innovative games.

Now the Improbable Defence division, building on the backbone of SpatialOS, has combined world class scientific modelling, market leading AI, mission specific user interfaces and a uniquely flexible and secure deployment model to create a powerful simulation platform tailored to the needs of the military.

Our mission? To enable the most realistic and effective military simulations ever experienced, making defence users more effective on operations and decreasing the cost of military preparedness. 

Your Mission

The platform, tools and data framework that we are developing enable modellers and engineers to create and run some of the largest, most complex, and realistic simulations ever built. These simulations enable government and defence organisations to better understand and prepare for action in complex environments so that they can preserve peace and minimise damage and loss of life.

You will build the high availability and fault-tolerant service architecture required to support many users concurrently performing data analysis, running simulations, participating in training exercises and interrogating results.

Our core engineering teams are focussed on building complete product solutions to tough engineering problems. Overview of our division:

Areas for impact

  • Build a deterministic simulation runtime optimised for both real-time and faster than real-time simulation execution.
  • Scale across multiple compute nodes using cutting-edge synchronisation and low-latency networking techniques.
  • Create a platform that can efficiently integrate models of real world social, political and technological systems defined in multiple languages, modelling tools and pre-existing simulation engines.
  • Create and maintain data pipelines, designed for high throughput, low-latency transport
  • Provide tools for the automation and scheduling of data extraction from both static and live sources.
  • Use data oriented design and advanced scheduling techniques to maximise processor utilisation.
  • Write coherent, well-structured and efficient C/C++ or Go code with a particular emphasis on high-performance engineering.

  • Contribute to the services and tools used to build, launch, monitor, test and debug simulations.
  • Work closely with our applied scientists and modellers to create intuitive and efficient APIs.

We'd like to hear from you if you identify with the following:

  • You are a C/C++ developer or Go developer with a passion for producing highly performant software.

  • You keep up to date with the latest standards in your language of choice.
  • You are an advocate for knowledge sharing, learning and collaborating with others.
  • You are pragmatic and able to identify the most impactful work among competing requirements.
  • You drive integration efforts across teams and the tech stack.
  • Knowledge of networking and distributed systems is preferable.
Nb: While we think the above experience could be important, we can’t predict the future and so we’re keen to hear from applicants that believe they have valuable experience. If you identify with the team & mission, but not all of the suggestions, then please still apply!!
Equal Opportunity
The best ideas are often the least expected and require new ways of thinking; that’s why our teams at Improbable are made up of an incredible range of talented people. Improbable is proud to be an equal opportunity employer. We do not discriminate based on race, ethnicity, colour, ancestry, national origin, religion, sex, sexual orientation, gender identity, age, disability, veteran status, genetic information, marital status or any other legally protected status.