I really love this short documentary about traditional Japanese carpentry and without getting all mystical and Zen I believe there are some great lessons for us all. Specifically I’m going to pick on people working in the software industry.
A poignant moment in the documentary is when we see the craftsmen sharpening their tools and the narrator adds that, as much time is spent on their tools as actually creating product. Would they create more product if they spent less time sharpening their tools? Maybe but i doubt they would achieve the same high quality.
One of my former colleagues Alan of evil tester fame has a similar mentality. When we first worked together i was instantly impressed with his tool box. It was fair to say Alan had a great array of tools that he could draw upon, but when he was faced with a new problem he didn’t dive straight in, he first built the tools he needed and curated test data.
This tool mentality builds heavily on the ideas presented in pragmatic programmer many years ago. I was stuck by the idea of being a lazy programmer, where the lazy programmer finds ways of creating tools to avoid repeated work or mundane work.
While the Pragmatic Programmer is an old book, I’d think of it more as a classic rather than out of date, and it would be on my must read list for teams. It would certainly resonate with anyone who enjoyed the carpentry video above.
Here’s the call to action:
Think about the business domain you work in.
Can you create a tool to generate test data?
What tasks do you repeat often. Can you automate them?
What code do you right that would be much quicker in a different language?