Backend Software Engineering
We're building a system that represents domain knowledge as modular probabilistic models — making analysis rigorous and transparent. Users can connect these models flexibly into larger structures. The system enforces consistency across them, and propagates uncertainty through each step. Our first applications are in finance and scientific research, with use cases ranging from equity valuation and distress monitoring, to particle physics.
We are looking for strong software engineers to build our production system. This opening is focused on building a robust and scalable backend hosting our reasoning engine. It is ideal for an engineer with a deep interest in systems architecture, reliability and scalability. You will be able to choose how close to the reasoning engine or the infrastructure you want to work, and be exposed to a novel class of reasoning models.
Essential experience
Software engineering in a collaborative, commercial environment, working on large codebases and using practices like CI/CD, testing, and code reviews.
Functional/typed languages, e.g. Rust, OCaml, Clojure, C++, or Haskell, and a willingness to learn and work with Julia, TypeScript and Rust.
Scalable services development including databases, networking and computing across architectures.
Implementation of observability across the stack.
CI/CD pipelines with complex trade-offs between correctness and development experience.
Useful experience
Hosting of machine learning models, or other computationally heavy services.
Development of infrastructure with Terraform and Kubernetes.
Responsibilities
Define new features or fixes, based on awareness of overall objectives and challenges
Commit to delivering defined features or fixes end-to-end
Define implementation strategies
Leverage the expertise of other team members effectively
Write design documents for more complex problems
Write clean and performant code
Help other team members to deliver on their goals
Required mindset
A builder at heart: You’re passionate about building things, solving complex problems, and approaching challenges with an entrepreneurial spirit and humility. Your sharp sense of prioritisation gives you a laser focus on delivering results that uplift the entire team, moving us closer to our goal.
Results-driven: You relish taking full ownership of tasks, seeing them through from start to finish, and taking accountability for the results. You’re proactive, resourceful, and avoid overcomplication - anticipating problems, even in complex, uncertain environments.
Growth mindset: You are intellectually curious, have a critical mind, and seek opportunities to stretch your abilities. You explore the state-of-the-art, you dig deep to truly understand a problem, and question assumptions.
A strong collaborator: You naturally communicate with clarity and purpose, ensuring your ideas and updates are easily understood. You work efficiently, embracing an iterative approach that allows for frequent progress and course correction. You’re open to direct feedback, adapting quickly and using it to improve both your work, and the performance of those around you.
Approaching problems and tasks like a project manager:
You can take a given goal and break it down into smaller parts.
You can solve problems systematically, by yourself as well as collaboratively with others.
You involve others in effective problem-solving sessions because you are eager to get input that improves your solution and not lose time due to lack of alignment.
You document processes well because you understand that doing so enables others to take over and allow you to move on to other things.
Want to know more?
On our website you can find more about our team and work culture, as well as example tasks that share some insight into the type of things team members are working on.
What we do:
Ways of work:
Team culture and example tasks:
For this job opening, we are looking for someone who can work within the CET timezone.