This job might no longer be available.
Senior Software Engineer - Simulation Execution, Defence
2 years ago
In defence, we’re transforming how those who keep us safe prepare for the threats of the future. Join us and you’ll help build the most innovative virtual worlds available, so our defenders can plan, train and make life-saving decisions in the real one.
We are a multidisciplinary team of engineers using a variety of languages and frameworks to develop the platform and tooling required to build large-scale scientifically accurate synthetic environments that are used by government and defence organisations to plan and train more effectively.
We are responsible for building:
- The runtime and tools required for development, debugging, and execution of closed, interruptible-closed, real-time human-in-the-loop, and time stepped simulations that integrate and scale new models and existing simulation engines.
- The APIs/SDKs to enable integration of AI/ML agent based models, 3D Game Clients and IoT devices into the simulations as well as connecting together other simulations running in a single simulated environment.
This role can be both fully remote in the UK or London based (1-2 days a week)
Your Opportunity
- 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.
- 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.
Why You're Made for This
- You are a confident C/C++ 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 passionate about sharing knowledge, learning and collaborating with others.
- You are passionate about mentoring and growing engineers in their technical ability
- 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 concurrent programming, networking and distributed systems is preferable.
- Knowledge of Golang is a benefit but not essential.
Everyone brings different experiences, perspective, knowledge and skills that makes each one of us brilliant. You don't have to meet all the requirements and experiences on this job advert to apply for and be successful in this role.
#LI-TH1
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.
Create Your Profile — Game companies can contact you with their relevant job openings.