About Restate
Restate is a lightweight runtime that turns AI agents, workflows, and backend services into durable processes - so teams can focus on their logic, not failure mechanics.
About the Role
- The role is for a Design Engineer to own the core Restate UI, design, and code.
- The UI is a live window onto a distributed system where data is large, changes constantly, and users are often in a hurry.
- You will hold the product end to end, covering both design decisions and the code that ships them, to ensure technical complexity continues to feel simple.
- This role offers a front-row seat to the shift toward durable runtimes as foundational infrastructure for AI applications.
- Restate re-imagines durable execution as a lightweight self-contained stack—no database required—and ships as a single Rust binary with an optimized custom storage layer, low latency orchestration, and an analytics engine for observability.
- Restate is used by Fortune 500 companies, including Tier 1 banks running critical financial workflows, and by cutting-edge AI and infra startups.
- You will partner with engineers who have built foundational systems at scale, including the creators of Apache Flink and leaders from Meta’s messaging infrastructure.
- This role is not for those who want to lead a design team rather than be the senior IC doing the work.
- This role is not for those who expect a finished design to hand off or heavy direction.
- This role is not for designers who do not code, or engineers who do not sweat the visual details.
- This role is not for those uninterested in technical subject matter.
- Location: remote in Europe preferred; US remote for exceptional candidates.
- Travel: minimal; occasional team offsites.
What You'll Be Doing
- Architect, design, and ship the core Restate UI, from whiteboarding sessions with engineers to production-ready code.
- Show what the system is actually doing, including execution timelines, retries, queues, state, and failures.
- Build for data at scale, including large result sets, live updates, filtering, search, and the charts and timelines that sit on top of them.
- Design the states nobody designs, such as loading, empty, partial, error, one result, and far too many.
- Keep the UI fast so it feels like a low latency runtime, making design decisions regarding rendering cost, data loading, and perceived latency.
- Keep one mental model where developers meet the same concepts in the UI, the SDKs, and the docs, named and presented the same way.
- Bring durable execution to life visually, maintaining the design bar for simplicity.
- Build scalable Design Systems in code, including reusable components and patterns for architecture, code, and interactive elements.