gamedevjobs logo
Explore Jobs

Senior Software Engineer

Improbable

Summary

The job is for a C/C++ developer to build a deterministic simulation runtime optimized for real-time and faster than real-time simulation execution. The developer will work with a multidisciplinary team of engineers to create a platform that can efficiently integrate models of real-world social, political, and technological systems. The developer will also contribute to the services and tools used to build, launch, monitor, test, and debug simulations. The outcome of the job is to build a next-generation product that will help governments gain a richer understanding of their most critical problems through the power of synthetic environments. The ideal candidate should be a confident C/C++ developer with a passion for producing highly performant software, keeping up to date with the latest standards in their language of choice, and driving integration efforts across teams and the tech stack. Knowledge of concurrent programming, networking, and distributed systems is preferable. The company values diversity, inclusion, and belonging.

Job description

About us
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.

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 most 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. 

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.

Outcome:

    • Build a next generation product which will help governments gain a richer understanding of their most critical problems through the power of synthetic environments.
    • Enable our users to create and run some of the largest and most complex simulations ever developed.
    • Understand the requirements of our applied scientists and model engineers and provide them with the SDKs and tools needed to effectively develop, debug and profile complex models.
    • Collaborate with other members of our multi-disciplinary team to optimise the end-to-end process of preparing data, running simulations and analysing results; reducing the time it takes for our customers to answer the most critical and time-sensitive questions.

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 is preferable.
    • Knowledge of networking and distributed systems is preferable.
    • Knowledge of Golang is a benefit but not essential.

 #LI-JH1

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.
Life at Improbable
Diversity, inclusion & belonging
Apply for this job

Location: London

Country: United Kingdom

Date found: 2023-03-11

If you're tired of sifting through endless job postings, try our AI-powered job search tool!

It's a game-changer.

Subscribe to all jobs in United Kingdom