Agent as Junior Engineer¶
mitchell-hashimoto's working model of LLM coding agents: treat them like skilled juniors, not peers.
The analogy, concretely¶
Junior engineers — especially bootcamp or fresh-CS-grad hires — can usually achieve a well-specified task. Where they struggle is the senior work:
- Making an incremental change in a large, multi-owner codebase without breaking invariants.
- Fixing a bug in a way that prevents regression, not just makes the symptom go away.
- Writing code the rest of the team can read and maintain.
- Judging which problems to take on and which to leave alone.
"A new grad, you wouldn't pair with them on solving this problem — it's too complicated. You're setting them up for failure. It's the same with agents."
Operational consequences¶
- Architect stays human. Mitchell explicitly keeps "architect" responsibilities — code structure, state ownership, data flow — and gives the agent the shape to fill in.
- No solo senior work. Don't ask the agent to debug opaquely and ship unsupervised. Do the senior-level diagnosis yourself; hand off well-scoped implementation.
- Review surface grows. What the agent produces is code a junior wrote — fast. That means review load goes up, not down, per unit of output.
- Pair the junior. Agents benefit from the same "pair with a senior" scaffolding: explicit context, narrow scope, verification criteria.
- Triage, not ownership. Good fit: explain why an issue happens, propose a path, find a bug cause. Bad fit: own a feature end-to-end from vague spec.
Bridge to Karpathy's framing¶
Where andrej-karpathy calls agents jagged-intelligence / animals-vs-ghosts (what they are), Hashimoto's frame is how to organize work around them. Both converge on: owner stays the director; agent does the fill-in-the-blanks; quality bar is non-negotiable — the agentic-engineering discipline.