Lead Software Engineer (Model Engineering)

Lead Software Engineer (Model Engineering)

  • 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 

Is to mentor and lead a team of software engineers, and support them in creating the models that will power the next generation of decision support technology. Our team works closely with our Applied Scientists to create these models and the tooling to support them. Our culture is friendly, relaxed and inclusive. 

The primary responsibility of the team is to deliver robust, performant, scalable scientific models into production that run in simulation and sit at the heart of our core product offering. This means building data pipelines to generate accurate representations of real-world environments, and the algorithms for simulating their dynamics. We are not a Product Development team; we are a customer-facing, solution-focussed Rapid Application Development (RAD) team. We build robust, performant, scalable models that run in our complex, realistic simulations to support users’ decision-making processes and solve our customers’ problems.

Areas for impact

  • Making informed technical decisions for the team, building consensus when necessary.
  • Coaching and mentoring a team of engineers, guiding them towards best practices.
  • Contributing improvements to team practices and processes to aid in the development of a high performing team.
  • Productionising prototype models so that they are scalable, robust and performant.
  • Developing and implementing algorithms which result in plausible modelling behaviour.
  • Building pipelines to extract, synthesise and integrate data from various sources, making it available to simulation engines and user interfaces.
  • Building tooling that enables model developers to do their work quicker and better.
  • Measuring, tracking and improving performance of models so that we can reach new levels of speed and scale.
  • Identifying and implementing generalisations and abstractions of existing models so that new models and new geographical areas of interest can be created easily.

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

  • You have clear leadership skills and inspire others to be better software engineers.
  • You are familiar with the more advanced features of the Python language (e.g. decorators, built-in methods).
  • You have strong organisational skills and can coordinate a group of engineers to work towards a common goal.
  • You are experienced in working on large projects alongside product managers, architects, delivery managers and quality engineers.
  • You enjoy pair programming and collaboration and are passionate about sharing knowledge with and learning from others.
  • You are naturally pragmatic, balancing fast-moving project requirements with quality and good practices.
  • You are proactive and autonomous, able to identify the most impactful work among competing requirements.
  • You drive integration efforts across teams and the tech stack.
  • You think holistically about every aspect of software development, including testing, documentation, security and performance.
  • You are well informed about the latest technologies and practices in software engineering.
  • You enjoy working closely with customers, exploring their problem space, understanding their requirements and building solutions to satisfy them.
  • You are skilled in Object Oriented or Functional programming.
  • Knowledge of C++ is a benefit but not essential.

  • Current or recent UK security vetting clearance (SC) is advantageous but not mandatory.
Please note due to the nature of this role you will be expected to meet requirements associated with obtaining UK security vetting clearance.
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.