Senior Software Engineer - Agentic Workflows
Software Engineering
London, UK
About us:
Causaly is redefining how humans acquire knowledge and develop insights in biomedicine. Our AI-powered platform enables researchers and decision-makers to discover and interpret evidence from millions of scientific publications, clinical trials, regulatory documents, and other complex data sources in minutes.
We are building the world’s most advanced biomedical knowledge platform, powered by a high-precision Knowledge Graph and GenAI capabilities. Our technology is already used by leading biopharmaceutical organizations to accelerate drug discovery, improve safety, and drive better decision-making.
Backed by top-tier investors including ICONIQ, Index Ventures, Pentech, and Marathon, we are scaling rapidly and expanding our product suite and market presence.
At a Glance
◆ What you'll build. The platform that runs our long-running orchestrated workflows in production. A single run can last hours, fan out across dozens of subagents, and has to produce evidence a scientist can audit.
◆ What you'll work in. Full-stack engineering, weighted towards backend and platform. TypeScript and Node.js, Restate for durable execution, PostgreSQL, Google Cloud and Azure.
◆ What we need from you. Significant backend depth in TypeScript, experience designing and operating distributed systems, and LLM-backed systems you have run in production.
What You'll Do
◆ Workflow orchestration. Design and evolve the workflow definition model: control flow, fan-out, conditional execution and data passing between steps, plus the static validation that rejects an invalid workflow before it runs.
◆ Durable execution. Build the engine that runs workflows, including checkpointing and resumption after failure, retry and abandonment policies, and idempotency guarantees.
◆ Monitoring, tracing and cost attribution. Instrument runs that cross several services and two languages, so that latency and token spend can be attributed to individual steps. These figures feed pricing decisions.
◆ LLM integration. Structured outputs, guardrails and retries, citation integrity across steps, and deciding where deterministic code should replace a model call.
◆ Architecture and technical leadership. Write the design proposal, break a large change into shippable increments, implement the hardest parts and own the result in production.
What We're Looking For
◆ Significant backend engineering experience in TypeScript and Node.js.
◆ Experience building LLM-backed systems that run in production, with informed views on how they fail.
◆ Experience designing and operating distributed systems.
◆ Practical experience of correctness under partial failure: idempotency, at-least-once delivery, safe retries, and backwards compatibility between services that deploy independently.
◆ Solid understanding of relational databases, including schema design and safe migration.
◆ Clear technical writing — you can produce a design document that a reviewer can act on.
◆ A product mindset. You are motivated by the outcome for the user, not only by the system.
◆ You measure before you optimise, and you revert a change that does not hold up.
Preferred Qualifications
◆ Durable execution or workflow engines (Restate, Temporal, Inngest), or a comparable system you have built yourself.
◆ Python and LLM application frameworks (FastAPI, LangChain, LangGraph). Our GenAI service is written in Python and you will work in it.
◆ Observability and LLM instrumentation (OpenTelemetry, Langfuse).
◆ Multi-tenant SaaS where tenant isolation is a design constraint.
◆ Infrastructure as code (Terraform, Kubernetes).
◆ Search and retrieval at scale (Elasticsearch, vector search, knowledge graphs).
◆ Functional programming, either in TypeScript (fp-ts) or in a functional language.
Not Required for This Role
◆ Machine learning research. This is a systems role built around models rather than a modelling role. No model training, fine-tuning or publication record is expected.
◆ Frontend specialism. You will work in React, but the role is weighted towards backend and platform and we are not looking for a frontend specialist.
Technology Stack
The list below is indicative and not exhaustive of the technologies we use at Causaly. We do not expect experience with all of it, but you should be comfortable learning the parts you have not used.
Languages: TypeScript, Node.js, Python
Backend: Apollo GraphQL, Zod, fp-ts, FastAPI
Frontend: React
Workflow & messaging: Restate, Redis Streams, Cloud Tasks
Data: PostgreSQL, Elasticsearch, Redis, MongoDB
GenAI: LangGraph, OpenAI
Observability: OpenTelemetry, Langfuse, Datadog
Cloud & infrastructure: Google Cloud, Azure, Kubernetes, Terraform, ArgoCD, Docker
Tooling: Git, GitHub Actions
Benefits
💰 Competitive compensation package
🩺 Private medical & dental insurance
📔 Life insurance (4 x salary)
🤓 Personal development budget
🧘 Individual wellbeing budget
🌴 25 days holiday plus bank holidays
🥳 Your birthday off!
🚀 Potential to have real impact and accelerated career growth as a member of an international team that's building a transformative AI product.
We are on a mission to accelerate scientific breakthroughs for ALL humankind, and we are proud to be an equal opportunity employer. We welcome applications from all backgrounds and fairly consider qualified candidates without regard to race, ethnic or national origin, gender, gender identity or expression, sexual orientation, disability, neurodiversity, genetics, age, religion or belief, marital/civil partnership status, domestic / family status, veteran status or any other difference.