Are you a problem-solver with a passion for scientific and engineering
challenges? Do you want to work on cutting-edge technologies that help people
make faster and more informed decisions?
At Improbable we build simulations and digital twins that combine our
innovative Skyral® platform with computational modelling, data analytics, and
distributed systems. Our customer projects encompass myriad use cases from
civilian behaviour modelling to critical national infrastructure to automation
within supply chains and logistics.
We are seeking a Senior Software Engineer to join our friendly, relaxed and
inclusive team. This role is open to candidates from a wide range of technical
backgrounds who have a passion for problem-solving and a desire to work in a
collaborative and supportive environment. You'll have the chance to work
alongside a multidisciplinary team of scientists, modellers, and software
engineers who collaborate closely with our customers to take modelling to the
next level.
Your Opportunity:
You will be responsible for developing and implementing highly-complex and
scientifically defensible models and simulations used in our customer
projects. These models typically encode real-life systems and behaviours,
allowing users to analyse performance and test different scenarios. We
have a broad range of roles and activities, depending on your experience
and preferences you may be developing models yourself or productionising
prototype models developed by our applied scientists.
You'll also be building pipelines to extract, synthesise and integrate
data from various sources; building tooling that enables model developers
to do their work quicker and better; and profiling and improving the
performance of models so that we can reach new levels of speed and scale.
We divide up ownership across the team, so expect responsibility early on,
but the team is large enough that you will be fully supported by
colleagues.
Why You're Made For This:
Experience writing production quality code and adhering to software best
practices
Prior experience applying model and data engineering to solve customer
problems
Experience of mathematical modelling paradigms (e.g. systems dynamics,
event-based modelling, agent-based modelling) and associated simulation
tools
Skilled in Python including the more advanced features of the language
(e.g. decorators, and built-in methods)
Professional experience of tools and libraries for modelling, data
analysis and scientific computing (e.g. NumPy, Pandas, SciPy)
Ability to work collaboratively in multidisciplinary teams
Confident communicator able to convey complex technical information to a
range of audiences
Naturally pragmatic, balancing fast-moving project requirements with
quality and good practices
Ability to think holistically about every aspect of software development,
including testing, documentation, security and performance.
Knowledge of C++
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