> Markdown version of [/jobs/ext/4445610-senior-platform-engineer](https://www.wearedevelopers.com/jobs/ext/4445610-senior-platform-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Platform Engineer - **Company:** SAUNA LLC - **Location:** San Francisco, CA, United States - **Experience:** Expert - **Salary:** $180,000.0 - $240,000.0 - **Contract:** Permanent contract - **Skills:** PostgreSQL, TypeScript, Backend, Cloudflare, Software Coding, Docker - **Published:** October 8, 2026 - **Apply:** https://www.adzuna.com/details/5920338221 ## About the Role Stack: TypeScript, Cloudflare Workers, Durable Objects, Postgres, Docker. Experience with comparable runtimes counts., * You've built and operated stateful backend systems in production, including work that outlasts the request that started it. * You can explain a decision you made between an actor, a background job, or a simpler service, and show what you shipped. * You've debugged concurrency, retries, or recovery in code you've owned. * You're productive in TypeScript and want to keep writing code as your scope grows. Bonus * You've worked on an agent runtime or agent harness. * You've worked with Cloudflare Workers, Durable Objects, or another actor-based runtime. * You've deployed long-running processes that persist or resume work across a code release. ## Description Sauna's agent runtime has to keep track of work when a tool fails or new code ships mid-task. One session might start with a message, check Calendar, draft a Slack reply, and update Linear after the first response. A tool call can time out after the action succeeds; the runtime needs to know what happened before retrying., * Build and improve the runtime that starts agent work, carries session state through tool calls, and resumes interrupted runs. * Choose between actors and jobs for different kinds of work. Implement the choice and check how it behaves when sessions overlap. * Design how long-running processes drain or resume when code changes, keeping in-flight work accounted for across releases. * Handle retries and timeouts around tool calls, including cases where an external action succeeded but the response never came back. * Make runtime failures traceable. Find why a run stopped or stalled, fix the execution path, and see the change through to production.