These are my longer essays.
Favorite Ideas from "It Doesn't Have to Be Crazy at Work"
I recently re-read It Doesn’t Have to be Crazy at Work by Jason Fried and David Heinemeier of Basecamp. Here are some of my favorite ideas. ...
These are my longer essays.
I recently re-read It Doesn’t Have to be Crazy at Work by Jason Fried and David Heinemeier of Basecamp. Here are some of my favorite ideas. ...
One of my favorite problem-solving questions is: “What’s wrong with this idea?” It drives the conversation away from why the idea might work, and toward why it might fail. That perspective is invaluable when building. ...
What is a programmer but a series of PRs (pull requests)? I optimize PRs to introduce the best code I can, be easy to review, and document my work so I can make sense of it in the future. Here are some things I always check before opening a PR. ...
You might have heard that using blocking, waiting code, e.g., sleep in many languages, is discouraged. Why? ...
Abstractions in code are easy to add and challenging to remove. Sometimes we feel stuck with them. But the good news is, you can back out of almost any abstraction with the right mindset. ...
This year I built several Model Context Protocol (MCP) servers to support ongoing R&D. Here’s my report. ...
If I had to start over as a person who wanted to become a professional programmer, in 2026, what would I do? ...
Here’s a list of the things that I’d like to learn about and have chosen not to specialize in (yet), as of 2026. ...
There’s an enviable quality of great engineers I’ve known: they seem to get things right the first time. When you ask them to do something, and they say “It’s done”, it is, almost always. How? ...
This year I’ve run over 25 Scrum refinement meetings; here’s what I’ve learned. ...