Imaginary Problems Are the Root of Bad Software. A great essay on why software ends up overcomplicated: developers solve the problems they find interesting rather than the ones that matter, and long chains of communication between client and developer mutate requirements beyond recognition. I can see this in myself. There's a natural pull toward the interesting, challenging problem when the simple solution is what's actually needed.

Recent articles