developers


Developers Are Human

Over 30 years ago, a CS professor of mine dropped a piece of wisdom as an aside in class. Dr. Soroka told us that every time he fixed something in a program, he got a little jolt of happiness. A little high. And he’d noticed something curious: the size of the high was not proportional […]


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


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


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