Skip to content
Careers

Build the systems, not the slide about the systems.

We are hiring across engineering and operations, and taking interns. Every role here involves client contact, written reasoning, and ownership of something that has to keep working after it ships.

Open roles
10
Full-time positions
10 across 8 roles
Working location
Remote
01Engineering

Engineering

Senior engineers who have shipped systems and maintained them afterwards. Every role here involves client contact — the people who build the thing explain the thing.

01

AI Engineer, Agents & Automation

Build the agentic systems at the centre of what we do: multi-step workflows that call real tools, enforce written policy in code, and stop for a person when the stakes justify it.

AI261001AI systemsSenior2 positions

What you would work on

  • Design and build tool-using agents with typed, validated tool contracts and narrow permissions
  • Own the durable workflow state that lets a run pause for three days waiting on an approver and resume cleanly
  • Write the deterministic authority layer — amount ceilings, rate limits, always-review action classes — in code, outside the model
  • Build the evaluation set before the prompt, and keep it running on every change to prompts, schema or retrieval
  • Instrument every run so a decision can be explained to a client months later
  • Sit in client conversations and help decide what a system is allowed to do on its own

What we are looking for

  • Several years building production software, with real ownership of something that ran and was maintained
  • Strong Python or TypeScript, and willing to work in both
  • Experience with LLM APIs well beyond prototypes — retries, timeouts, cost, and the specific ways they fail
  • A habit of reaching for ordinary code when a model is not the right tool
  • Clear written reasoning. Our decisions live in documents as much as in commits.

Nice to have

  • Durable execution engines (Temporal, Inngest) or your own queue-backed equivalent
  • You have deleted an agent, replaced it with a scheduled job, and been right to

Quote AI261001

02

Applied ML Engineer, Retrieval & Evaluation

Own retrieval quality as an engineering problem — chunking, hybrid search, re-ranking, grounding — and the measurement that proves any of it worked.

ML261002RetrievalMid–Senior1 position

What you would work on

  • Build ingestion pipelines that survive the real corpus rather than the demo one
  • Design chunking that follows the structure a document already has instead of counting characters
  • Combine vector and lexical retrieval, re-rank the union, and measure what each stage contributed
  • Set abstention thresholds so a system can answer “I do not have anything on that”
  • Build evaluation harnesses that score retrieval separately from generation, because the fixes are different

What we are looking for

  • Solid Python, and comfort with embeddings, vector stores and classical information retrieval
  • You can explain precision and recall at k to a client without jargon
  • Experience tuning a retrieval system against a measured set rather than impressions
  • Healthy scepticism about any benchmark number that did not come from your own corpus

Nice to have

  • Cross-encoder re-ranking in production
  • Document intelligence: OCR, layout analysis, table extraction

Quote ML261002

03

Senior Full-Stack Engineer

Take a product from scope to launch — schema, API, interface, deployment. Most of what makes an AI feature usable is ordinary software built properly.

FS261003Product engineeringSenior2 positions

What you would work on

  • Own features end to end: data model, API, interface, tests, deployment
  • Design the operator surfaces that make these systems workable — queues, approvals, overrides, audit history
  • Build interfaces for the hundredth use of the morning, not the first
  • Keep accessibility and performance inside the component rather than in a later audit
  • Leave behind a codebase another engineer can pick up without you

What we are looking for

  • Strong TypeScript and React, and comfort in a backend language — Python or Node
  • Real relational database experience: you design schemas, not just query them
  • You write tests for the things that break and skip the ones that do not
  • Taste. You notice when an interface is tedious and you care enough to fix it.

Nice to have

  • Design-system or accessibility depth
  • You have modernised something that had outgrown its original design without a rewrite

Quote FS261003

04

Backend Engineer, APIs & Integrations

Build the connective layer between systems that were never designed to talk to each other, and the monitoring that tells us when one end of it changes.

BE261004IntegrationsMid–Senior1 position

What you would work on

  • Build integrations with idempotency keys, backoff and circuit breaking as defaults rather than additions
  • Design event-driven flows: webhooks, queues, retries, dead letters, replay
  • Keep secrets server-side and document how they rotate
  • Instrument throughput, error rate and spend, then act on what it shows
  • Write the runbooks for the failures that will actually happen

What we are looking for

  • Strong Python or Node, and fluency with HTTP, auth, and the reality of third-party APIs
  • You have been paged for a duplicated side effect and fixed it at the root
  • Experience with queues and asynchronous processing
  • Clear thinking about failure: partial, delayed, duplicated, out of order

Nice to have

  • CRM, billing or support-desk integration experience
  • Infrastructure-as-code

Quote BE261004

05

Database Engineer

Own the data layer: schema design, query performance, and migrations that run on a Tuesday afternoon without anyone holding their breath.

DB261005DataMid–Senior1 position

What you would work on

  • Design schemas that still make sense after the third feature nobody planned for
  • Diagnose and fix query performance with evidence rather than guesses
  • Write migrations that are reversible, online and boring
  • Build the metric layer behind our conversational analytics work — certified definitions with owners and review dates
  • Set up row- and column-level access so permissions are enforced before a query is ever planned

What we are looking for

  • Deep PostgreSQL: indexing, query planning, locking, partitioning
  • Experience with analytical workloads as well as transactional ones
  • You have recovered from a bad migration and changed your process afterwards
  • Comfort with pgvector or a dedicated vector store

Nice to have

  • Warehouse experience — BigQuery, Snowflake or DuckDB
  • dbt or an equivalent transformation layer

Quote DB261005

06

Infrastructure & Reliability Engineer

Make what we build deployable, observable and cheap enough to run. Agentic systems fail in ways ordinary services do not, and the instrumentation has to see it.

IN261006InfrastructureMid–Senior1 position

What you would work on

  • Own deployment, environments and infrastructure-as-code across client projects
  • Build the observability layer: logging, tracing, alerting, and model-spend monitoring
  • Set cost ceilings and rate limits that hold during a surprising week
  • Harden upload handling, secret management and permission boundaries
  • Keep CI fast enough that people actually wait for it

What we are looking for

  • Strong Linux and containers, and real depth in at least one major cloud
  • Terraform or equivalent, with state you would be happy to let someone else touch
  • Practical security instincts: least privilege, rotation, blast radius
  • You treat an incident as a systems question, not a person question

Nice to have

  • Running LLM workloads and watching their cost curve closely
  • Self-hosted model serving

Quote IN261006

02Operations

Operations

A studio this size cannot afford administration to be an afterthought. These roles exist so engineering time goes to engineering.

07

Delivery Operations Lead

Keep engagements running — scope, schedule, communication, and the unglamorous coordination that decides whether good engineering reaches a client on time.

DO261007DeliverySenior1 position

What you would work on

  • Run engagement planning: scope, milestones, capacity, and honest re-planning when something slips
  • Be the operational point of contact for clients between technical conversations
  • Keep decisions written down and findable, so nothing important depends on someone remembering it
  • Track where time actually goes and surface it before it becomes a budget conversation
  • Protect the team’s focus: fewer things in flight, each one finished properly

What we are looking for

  • Experience running software delivery in a studio, agency or product team
  • You are comfortable telling a client something is slipping — early, and with a proposal attached
  • Strong written communication: you can summarise a technical decision for a non-technical stakeholder without flattening it
  • Enough technical literacy to ask the right follow-up question

Nice to have

  • You have worked with a small senior team rather than a large delivery organisation

Quote DO261007

08

Studio Operations Associate

Run the business side of a small studio: contracts, invoicing, scheduling, tooling, and the quiet administration that otherwise eats engineering time.

SO261008Business operationsMid1 position

What you would work on

  • Own contracting, invoicing and the payment chase from start to finish
  • Manage scheduling and the logistics of client engagements
  • Administer studio tooling, licences and access
  • Keep internal records tidy enough that any question can be answered in a minute
  • Improve the processes you inherit rather than only operating them

What we are looking for

  • Experience in operations, finance administration or office management
  • Extremely organised, and comfortable owning something without being chased for it
  • Clear, direct, polite written communication with clients and suppliers
  • Discretion with commercial and personal information

Nice to have

  • A professional-services or consultancy setting
  • Familiarity with contract and invoicing tooling

Quote SO261008

03Internships

Internships

Twelve weeks, with a senior engineer alongside you throughout. We take the right people rather than filling a fixed number of seats, so there is no headcount listed.

09

Software Engineering Intern

Work on a real part of a real project with a senior engineer alongside you. Interns here ship something that goes into a codebase, not a side project nobody opens again.

SI261009Engineering12 weeksInternship

What you would work on

  • Build and ship a scoped feature, with review and pairing throughout
  • Write the tests and the documentation for what you build
  • Join client conversations — first as a listener, then as a contributor
  • Take part in code review in both directions

What we are looking for

  • Studying, recently graduated, or self-taught and ready to show us what you have made
  • Comfortable in at least one language and curious about the others
  • You can read unfamiliar code and form a useful question about it
  • You would rather ask early than stay stuck quietly

Nice to have

  • Something you have built and can walk us through — any size, any level of polish

Quote SI261009

10

AI/ML Intern

Work on retrieval, evaluation and agent behaviour with a senior engineer alongside you. A lot of this job is measurement, and measurement is a good place to learn.

AM261010AI systems12 weeksInternship

What you would work on

  • Build and extend the evaluation set for a live project
  • Run experiments on chunking, retrieval and ranking, and write up what you find
  • Help instrument traces so failures can be analysed instead of guessed at
  • Present findings to the team — including the experiments that did not work

What we are looking for

  • Comfortable with Python, and at home in both a notebook and a repository
  • Enough statistics to recognise when a result is not actually a result
  • Interest in why systems fail, not only in what they can do
  • You can describe a method clearly in writing

Nice to have

  • Coursework or projects in information retrieval, NLP or evaluation
  • You have been sceptical of a benchmark and gone looking for why

Quote AM261010

04How hiring works

Four steps, no busywork.

The whole process is designed to take a few hours of your time, not a few weekends. You will hear from us either way, with a reason.

  1. 01

    A short written exchange

    Tell us what you have built and what you want to build next. We read every application ourselves — there is no screening layer and no automated ranking.

  2. 02

    A conversation about your work

    Forty-five minutes on something you have actually shipped: what you chose, what you got wrong, and what you would do differently. No whiteboard algorithms.

  3. 03

    A short exercise, or your own code

    A small, realistic problem that takes a couple of hours — or we read something you have already written instead, if you would rather. Your choice, not ours.

  4. 04

    Meet the people you would work with

    The whole team, talking about how an engagement actually runs. You should be interviewing us at least as hard by this point.

05Applying

Send us something real.

Open the role above and use its apply button — the form takes one question at a time and every field is optional. A CV is welcome, but a link to something you built tells us far more.

Working location
Remote
Open roles
10, 10 positions
Reference
Quote the job ID on every application