teamwork


Verification, Verification, Verification

Boris Cherny, the head of Claude Code at Anthropic, said something last week that should sound familiar to anyone who’s read this blog: “The verification is probably the single most important thing that people do not get right.” The skill in working with AI, he argued, is less about prompt engineering and more about handing […]


MVP: Misunderstood Vision for Product

Somewhere along the way, “minimum viable product” stopped being a meaningful concept and drifted into product lore. It’s a term everyone knows and yet almost no one can define the same way. Saeed Khan went so far as to argue the term (and other Product terms) has lost so much shared meaning it’s worth retiring. […]


Apple had lost the plot. Did they rediscover it?

Last year I sold almost all of an Apple position I’d spent fifteen years building. The decision had nothing to do with the stock price. I assumed it would keep climbing for a while, the way Intel kept climbing long after it stopped being the company that defined its industry. Great companies run on a […]


Offices Don’t Make Teams

Years before I co-founded BiTE, I worked remotely for a company that wasn’t a remote company. I’d moved from California to Tennessee, and they kept me on, but I was the only person they had working from outside the office. It mostly worked, because I’d been there long enough to know everyone. But there was […]


Software Is a Team Sport

I’ve been overjoyed watching the Western Conference Finals this past week. I know. Some of you reading this don’t go in for “sportsball” talk, but if you bear with me (or skip ahead a few paragraphs) I promise I have a point. The Thunder and the Spurs are two extremely elite basketball teams. Not only […]


Architecture Is About Making Easy Things Harder

In iOS development, there’s always been a fight over Controllers. The path of least resistance, when you have a piece of new logic to add, is to just throw it in the Controller. Every Apple WWDC for years would pretend this is how you add this new API. Drop in three lines, ship it. The […]


Mess Is a Signal, Not a Disqualifier

An engineer on our team once pulled me aside about a client we’d been working with for a few weeks. He wasn’t angry. He was bewildered. He’d never seen a codebase in this kind of state — and being a thoughtful engineer, he was trying to make sense of it. He asked, quietly, “how does […]


Start With the Smallest Increment That Can Work

David Packard — co-founder of Hewlett-Packard — once recounted advice he’d received from an old engineer: “More businesses die of indigestion than starvation.” I’ve watched that play out in software for almost 30 years. Not just with companies, but with projects. The instinct when something is important is to throw resources at it. Staff up. […]