Senior backend engineer, Runs
Own the system that runs every agent step, from scheduling and retries to budgets and the write gate.
Every Capstan agent is a run: a plan of steps, each one a model call or a tool call, some of them waiting for a person. The Runs team owns the system underneath. It schedules steps, retries the ones that fail, stops a run that hits its budget, and makes sure no write leaves Capstan unless the agent's owner allowed it.
We run around 40 million steps a month today, and that number doubles every five months. The system is TypeScript on Node, Postgres, and a queue we wrote ourselves after outgrowing two we didn't.
What you'll do
- Own the step scheduler: fair queuing across workspaces, priorities for runs waiting on a person, and backpressure when a tool rate-limits us.
- Make the write gate faster and harder to get wrong. Every write a step makes passes through it, is checked against the agent's permissions, and is either sent, held for approval or recorded during a replay.
- Design how budgets stop a run mid-step without leaving half-finished work in a customer's tools.
- Work with the Replays team on recording writes instead of sending them, at the volume of a 90-day replay.
- Be on call one week in six, with a second person always beside you.
What you'll bring
- Five or more years building backend systems that other people rely on, in any language. We use TypeScript; you'll learn it if you need to.
- Experience with queues, retries and idempotency in production, and the scars that come with them.
- Comfort with Postgres beyond an ORM: query plans, locks, migrations on large tables.
- Clear writing. Most of our design work happens in documents before it happens in code.
Nice to have
- You've worked on a workflow engine, a job system or a payments platform.
- You've run something on call that woke you up, and fixed it so it didn't again.
How the first months look
Your first week is spent with a customer's support team, watching the work their agents do. By the end of your first month you'll have shipped a change to the scheduler. By the third, you'll own one part of it.
Sample role. Replace the files in content/careers with your own.