Member of Technical Staff
The Role
ego builds AI agents that people actually live with: assistants that remember you, act on your behalf, and keep working when you're not looking. The hard part is not prompting a model. It is everything around it. An agent that survives a kill -9 mid-task and resumes without re-firing side effects. One that holds a 40-step task together past the context window. One that a teammate can extend without reading the core loop.
You will own that layer. You will be the engineer the rest of the team builds on top of, and one of our technical faces to external partners. That includes AI Singapore (AISG), where you will help carry our joint work and represent ego's engineering credibly.
What you'll do
- Own the agent harness. Design and maintain our core agentic loop (plan → tool call → observe → repeat → finalize) as a small, legible state machine. Errors are first-class: malformed tool calls, hallucinated tool names, and throwing tools get fed back to the model. They never crash the loop.
- Make execution durable. Build checkpointed, resumable sessions backed by a database: step logs with pending/committed status, idempotency keys on side-effecting tools, and a clear account of the at-least-once vs exactly-once boundary. A crash between the LLM call and the tool call, or mid-compaction, must never corrupt a session or double-fire a POST.
- Solve long-horizon context. Own our compaction strategy: pinned goals, running summaries, sliding windows of recent turns, and retrieval over older state. A 30+-step task should finish aimed at the original goal, within budget.
- Design for extensibility. Ship a tool registry (name + JSON schema + handler) that teammates and partners can extend without touching the loop. Validate schemas before handlers run. Keep model adapters swappable in one place.
- Ship deployable systems. Deliver one-command local bring-up, persistence behind an interface (Postgres ↔ SQLite ↔ Cloudflare storage), clean HTTP APIs, and secrets hygiene. Build per-user durable agent instances that wake on triggers (cron, webhooks, inbound events). Cloudflare Durable Objects experience is a real plus.
- Support the team and our partners. Unblock product engineers building on the harness, pair on extensions, review agent-adjacent designs, and represent our architecture in technical sessions with AISG and other collaborators.
Required Qualifications
- 3+ years building backend or infrastructure systems, with real production ownership of stateful services or relevant projects that they have worked on.
- Hackathon winners and fresh graduates who have demonstrated sufficient technical capability are also welcome to apply.
- Hands-on experience building LLM agent systems: tool-calling loops, defensive handling of model output, and step/token/cost budgets.
- Deep grasp of durable execution: checkpointing, idempotency, outbox/step-log patterns, and the ability to reason precisely about failure windows (what if it dies after the side effect but before it is recorded?).
- A deliberate context-management strategy for long-horizon tasks, and the ability to defend its trade-offs rather than only describe it.
- Strong API and data-model design; persistence behind clean seams; comfort being judged on docker compose up working cold from a README.
- Clear written communication. Architecture docs a reviewer understands before reading the code. Honest scoping (what you cut and why).
- Comfortable being partner-facing: demos, technical walkthroughs, mentoring.
Preferred Skills (Nice to Have)
- Cloudflare Workers / Durable Objects / D1 in production
- Multi-model experience (DeepSeek, Claude, open-weight models) and eval tooling
- Long-term memory systems for agents (personalization layers, retrieval over older state, hierarchical summaries)
- Prior work with grant-funded or public-sector research partnerships (AISG, A*STAR, university labs). You know how milestone-driven collaborations run.
- Concurrency safety on shared session state; streaming output; structured per-step observability
Project Highlights
- Productionize the agent runtime (rōnin core). Take our harness from working prototype to the shared runtime every ego product sits on: durable step log, budget enforcement, compaction, tool registry, and observability/tracing.
- Per-user durable personal agents. Each user gets a long-lived agent instance with its own memory, triggers, and budget. It wakes on webhooks or cron, survives restarts, and stays isolated per tenant. Likely on Cloudflare Durable Objects or an equivalent single-writer model.
- AISG collaboration workstream. Serve as technical point of contact for our AI Singapore engagement. Keep joint deliverables and milestone demos on schedule, run model evaluations on our harness (including regional and partner models where relevant), contribute to shared reports, and mentor any attached apprentices or exchange engineers.
- Evaluation and reliability harness. Build repeatable crash tests (kill -9 mid-task and mid-compaction), race tests on concurrent session writes, cheap long-horizon stubs that exercise compaction without burning tokens, and per-step tracing.
How we hire
- Intro chat (30 min).
- Take-home: build a durable tool-using agent (~1 focused day; we mean it. Scoping is part of the signal).
- Live pairing (45 min): extend your own submission. Add a tool, make a race safe, and walk through every point a kill -9 could lose or duplicate work.
- Founder conversation + references.
Three things are disqualifying regardless of everything else, because they are the heart of the role: a loop that crashes on bad model output, a “resume” that re-runs side effects, and a long task that grows context until the model errors.
Use AI tools freely. We do. You will walk us through the design and defend every trade-off, so own each decision in the repo.
Got what it takes?
In your application we want to see your personal style — what makes you tick and why you think your next opportunity is here with us.
Prefer email? Send your application and resume to ashraf@ego.live.