feature shortcuts

When you’re building a software product, time always feels like your enemy. Co-opting an existing feature for a new use can feel extremely clever, like you’ve sidestepped a ton of work. But it doesn’t scale, it adds friction, and it adds danger.

power structures

As a white dude who can smoothly “pass” as straight and grew up with strong, educated parents in a very stable environment with a strong safety net, I had the privilege of approaching social power structures however I liked. And I chose deeply irreverent.

servant leaders

To me, credibility as a leader is fundamentally whether you’ve convinced me our interests are sufficiently aligned and whether you have the skills & motivation necessary to keep them that way.

family metaphors

Your company isn’t a family. Every time I hear someone describe their workplace as a family, it’s a red flag. It means one of two things: You’re squeezing people, or you’re earnest but inexperienced.

product moats

Shipping new features feels like it’s increasing the “moat” around your product because just look at all the time and effort it took. There’s just one problem: Features aren’t a moat.

open investments

I recently read “Why I wouldn’t invest in open-source companies, even though I ran one” by Wolfram Hempel and started to write a very long comment, but decided I’d just publish my own counterpoint instead.

build off

I’m lately watching The Great British Bake Off. When I thought about why you couldn’t do a similar show about programming, I realized the hurdles to televising it are the same hurdles teams face anyway.

one year

Some months ago, we decided I would be the one to take Kyle’s computer and put it to use. Today felt like the day I could remove the PC without doing further damage to my soul.

context puzzles

What is software development really if not a sprawling, borderless puzzle for which the lid with the big picture on it is long gone? To me, it seems obvious that the biggest hurdle to team-based software development is how difficult it is to communicate well.

binary consensus

Most substantive community work is about consensus seeking, and software is naturally very bad at this. How do you put humans at the center of community software? Don’t build better algorithms, build better workflows.

black box

The greatest sin of any developer is thinking they are cleverer than the users of what they build. “I can guess what you want.” In truth, guessing what someone wants is far easier than helping them achieve what they actually want.

tipped scales

Last week I spent a full day refactoring something and my brain went to that mythical “zone” for the first time in a long while. I was burning again with confidence I’d forgotten.