Simulation Engineer
The Role
As a Simulation Software Engineer, you will own substantial parts of the simulation capability that makes continent-scale defence training feel like the real world - the behaviour and interactions of pedestrians, traffic, shipping, aircraft, satellites and critical national infrastructure that populate a scenario.
This is the difference between an exercise that feels like a map overlay and one that reacts to a trainee’s decisions with the emergent complexity of actual people, systems and infrastructure. You’ll shape how simulated actors decide and act, how the simulation stays coherent when partitioned across a compute cluster, and how new LLM-backed capabilities - natural language control, richer actor generation and simulated social media - are brought into the engine.
Your work will ship into customer exercises, live demonstrators and integration hackathons, where the loop between building something and watching users bend it to a real problem is measured in weeks, not quarters.
You’ll work across a C++ simulation engine, a custom distribution framework, and a TypeScript/React front-end used by Simulation Operators, inside a cross-functional team of Software, QA and DevOps Engineers led by an Engineering Manager.
The team is made up of experienced simulation engineers looking for a peer who can bring energy, technical leadership and a product engineering mindset. If you enjoy moving between specialisms, raising the bar for the people around you, and shipping real things for users who depend on them, this is a role where your voice will carry real weight.
Key Responsibilities
- Design and implement behaviour and decision-making logic for simulated entities - pedestrians, vehicles, shipping and aircraft - in a C++ simulation engine.
- Integrate third-party simulation libraries and algorithms, maintaining enough technical intuition for their internals to combine them into a coherent system.
- Shape how simulation state and behaviour are partitioned across a distribution framework, designing for IPC, bandwidth and fidelity trade-offs up front rather than retrofitting them.
- Contribute across the web/simulation boundary, extending REST services and the TypeScript/React front-end where features reach into them.
- Write design documentation and run design reviews within your area, helping the team converge on technical direction quickly.
- Review peers’ designs and code with care, and collaborate with Product and defence stakeholders to turn customer problems into feature shapes.
- Mentor teammates through pairing, code review and knowledge sharing - raising the team’s capability in simulation craft, product engineering practice and defence domain understanding.
- Deploy and support simulation capability on-site at customer exercises, integration hackathons and industry events - working issues live alongside users and folding what you learn back into the product.
Skills, Knowledge and Experience
- 4+ years of software engineering experience.
- Experience working on behavioural or agent-based simulation of people, crowds or vehicles, such as game AI, VFX crowd simulation, industrial human behaviour simulation or defence CGF.
- Strong C++ experience for performance-sensitive, real-time systems.
- Working knowledge of spatial data structures, path planning, decision modelling and physical modelling of vehicle movement.
- Ability to reason about distributed simulation design - IPC, bandwidth and how to split a simulation domain across processes without breaking its behaviour.
- Ability to move comfortably between languages and layers of the stack.
- A communicative, proactive style - visible in discussions, willing to challenge and be challenged, and able to draw contributions out of teammates.
- A product engineering mindset: energised by understanding customer problems and shipping things that create real value.
- Comfortable multiplying yourself with AI-assisted development workflows.
- Able to obtain and maintain UK Security Vetted status to at least SC level.
- Prepared to attend an office in London at least once a week.
What Will Help You Stand Out
- Hands-on experience exposing LLM-enabled product features, such as natural language interfaces, content generation or agent behaviour driven by language models.
- Rust experience, particularly for distributed or systems-level work.
- Knowledge of geospatial concepts and experience processing map data into representations suitable for simulation.
- Familiarity with the defence sector, military modelling and simulation, or wargaming.
- Exposure to Kubernetes for compute cluster orchestration.
- Prior experience as a tech lead or similar, with an interest in that pathway as the team grows.
- Interest in travelling to customer sites, hackathons and industry events.