Software Engineer (Core Platform)

London | Defence

Join our defence and national security business and you’ll be helping users plan and train to meet the most complex security threats in the world. Working alongside experts in AI and Machine Learning, computational modelling and distributed systems, you’ll be putting multiplayer technology to life-saving use.

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:

Area of 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 intuitive and efficient APIs and 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.

We would 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.
While we think the above experience could be important, we’re keen to hear from people that believe they have valuable experience to bring to the role. If you identify with the team and mission, but not all of our requirements, then please still apply. 

About Us

Improbable is determined to foster an environment where people can do their best work and feel like they belong. We believe a healthy culture, strong values and contribution from a diverse range of individuals will help us to achieve success.
We do not discriminate based on race, ethnicity, gender, ancestry, national origin, religion, sex, sexual orientation, gender identity, age disability, veteran status, genetic information, marital status or any other legally protected status.

Discover more

Working with us

Build new worlds with exceptional people.

Read more →