Functional Software Engineer (London)
At Imandra we build tools for reasoning about algorithms. Our technology forms an integral part of our customers’ software development lifecycles, from the design stage right through to analytics and monitoring of critical production systems.
We are looking for strong engineers to join our team in London and to help scale our products to the next level.
We have a solid foothold in the financial sector, and we are now applying Imandra’s general purpose automated reasoning tools to other industries, to help make producing correct software simpler and more accessible for everyone.
If you’re interested in finding out more about the Imandra reasoning engine, check out our interactive technical docs at https://docs.imandra.ai/imandra-docs/.
You'll be working on our Imandra Markets projects, primarily using OCaml.
The role involves a broad range of activities, including:
- Modelling the design of our customers' financial systems in the Imandra Modelling Language (IML, a pure functional subset of OCaml).
- Proving properties of the model to ensure the design is consistent and correct.
- Engineering and creating infrastructure for interrogating our customers' real systems.
- Product development to improve our own tooling and our customer-facing UI.
As we use the tooling and products ourselves and work closly with the customers who use it, there is a rapid feedback loop guiding product improvements.
There are opportunities to get involved across the full stack according to your skills and interests:
- Our web APIs and backend services (OCaml, PostgreSQL, Redis).
- Product UIs and visualization tools (React, via the ReasonML/Bucklescript/Melange toolchain, webgl).
- Continuous integration and cloud infrastructure (Google cloud, Kuberenetes, Terraform).
- Working directly with customers to prototype and develop new product features.
- Contributing to open source projects, both upstreaming new features and fixes and publishing new open source libraries.
We’re a small team and our engineers have a high degree of autonomy, so you’ll need to be able to self-organize and identify how best to make an impact.
You’ll be based with the team in London, where we usually meet face-to-face in the office a few days a week, and work remotely the rest of the time.
What we're looking for
- Strong software development skills.
- A product-focussed mindset, with a willingness to design, develop and deliver features and improvements across the full software stack.
- An interest in typed, functional languages.
- Competent Linux/Unix skills.
- Experience collaborating using Git/GitHub/CI tools and processes.
Skills that are a bonus
We don’t expect everyone to have these, but any experience or interest in working with them would be a plus:
- Experience building projects with OCaml, ReasonML, Haskell, or other functional programming languages.
- Working with cloud infrastructure, specifically GCP.
- An interest in theorem proving and formal verification.
- Experience contributing to open source projects.
- Private Healthcare and Dental Plan
- Pension Plan
- Stock Option Plan