David Heinemeier Hansson

August 16, 2022

Try hard not to solve hard problems

You don't have to solve the majority of hard problems you encounter in either business, design, or programming. Almost all of them can be restated as an easy problem, if you dare question the assumptions, reweigh the trade-offs, and stop diving after sunk cost.

Above all the other principles at 37signals, this is our key to keeping the pace, making big things happen with tiny teams, and avoid getting bogged down in motivation-killing slogs. The stubborn refusal to solve hard problems of any kind, unless there truly is no other choice (and there almost always is).

To do this well, you have to cultivate an allergy to hard problems. Develop a higher sensitivity to the cumbersome, and park the part of the ego that thrives on doing hard things as a point of pride.

This is deeply unnatural to most ambitious, creative, and diligent people. Which is why it's also a rare attribute to encounter in the wild. It's usually only found natively in people who've had no other choice than to work this way due to the constraints of their habitat (like bootstrapped founders).

But it can be taught. Of course it can. Like by embracing artificial constraints tight enough to require an aversion to hard problems. See the 6-week cycles we run in Shape Up, for example. Or by having teams be deliberately smaller than what you might imagine is needed (virtually everything at 37signals is built by two people: one designer, one programmer). Then backing that up with a mandate from the top that the right answer is not to throw more at the problem when push comes to shove, but to do just the opposite. 

Less is the answer, less is the way. 

Find your purpose in pace and progress. Not in heroic tales of climbing impossible mountains.