programming


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 […]


From the Scariest Problem to a Row of Simple Changes

Years ago we built a dating app called Zazazu. At its heart was an in-app economy more complicated than anything a dating app had tried before. The original model was simple: a straightforward 1-1 currency per transaction. Then the business evolved, the way businesses do, and the founders needed something entirely different: free-to-play, a multi-tiered […]


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 […]


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 […]


Cheap Code Changes Everything

AI didn’t invent the idea that code is a thinking tool. It just made it cheap enough that everyone can finally agree. Phil Boyd recently wrote a piece called The Buffer We Accidentally Deleted (which I found via Dave Verwer’s excellent iOS Dev Weekly) that really resonated on a couple of levels. His argument is […]


Habits, Not Process

Why software runs on the experience you can’t write down. I’ve spent the last eight years or so training Kung Fu. And I can share the One Simple Trick™ that’s taken me from white sash to brown sash with a goal of getting my black belt sometime this year: I didn’t stop. That’s it, as […]


Big A Agile Is Broken

If you asked most people at a large company “how do you know you’re practicing Agile?” you’d get answers about Jira configurations, sprint ceremonies, planning poker, swimlanes, and certifications. Very few would say “because we care most about continuously shipping good software with improvements.” Very few would talk about how they empower and trust their […]