On pairing and handoffs
For years our industry has treated the handoff as a craft: the perfectly annotated file, the redline spec, the tidy frame passed from design to development. I think the handoff is a symptom, not a skill. Every time you hand something off, intent leaks out in the gap between the people who had it and the people who now have to rebuild it.
The best handoff is no handoff. We pair — designer and developer on the same problem, at the same time, often in the same file. I’m co-author on nearly five hundred commits, and that number is the point: most of my best work was never mine alone to throw over a wall. The design and the code grow together, so there’s nothing left to translate at the end.
The usual objection is about juniors: don’t people need clean handoffs to learn? I’d argue the opposite. A spec teaches you to follow instructions. Pairing teaches you how the decision was actually made — the dead ends, the trade-offs, the “let’s just try it and see.” That’s the part worth passing on.
Pairing isn’t free. It’s two people on one task, it asks for real trust, and it falls apart the moment one person quietly drives the whole time. It also leans hard on the design system: shared components and tokens are what let two people move at once without colliding.
So I’ve stopped trying to perfect the handoff. I’d rather delete it.