Hammers
…it is tempting, if the only tool you have is a hammer, to treat everything as if it were a nail. 1
For various reasons, I come across folks quoting this maxim or it's variants.
It usually happens at work, though, as I work in software, the job rarely
involves literal hammers.
An increasingly common proposal for technology org simplification / optimization
that I encounter resembles this:
For all problems that can be solved with a hammer, we should use a hammer.
On the surface, this seems entirely reasonable. Use a hammer for problems that
a hammer is good for solving. Yes!
Then, I remember the hammers in my garage.
My hammers
Nail-driving hammers
Roughly half of the hammers in my garage are intended to drive some kind of
nail.
- 20oz checkered-face framing hammer
- 16oz smooth-face general purpose hammer
- 10oz smooth-face general purpose hammer
- tack hammer
- sledge hammer (for certain kinds of nails)
Using the checkered-face framing hammer to do finish work would yield poor
results.
Using the 10oz smooth-face hammer or tack hammer for framing would be
needlessly tedious.
Hammers which are (generally) unsuitable for driving nails
- rubber mallet
- dead-blow hammer
Non-hammers which, when presented with a nail, are often deployed as a hammer when no hammer is nearby
- Battery-powered drill or impact driver
Enough about my hammers
For all problems that can be solved with a hammer, we should use a hammer.
The error isn't that one ought not use a hammer to address problems that can be
solved with a hammer.
The error is that not all problems which are reasonably addressed with some
kind of hammer are best resolved with the same kind of hammer.