My carpenter has been putting in a new floor in a room in my house, and I noticed that he makes some of his tools as he goes along.

It’s not that he doesn’t have a hammer and a cordless electric screwdriver. But every once in a while, he needs to move, align or support something in a way that his standard tools do not support. So he immediately builds an ad-hoc tool out of scrap wood.

The need for custom tools has been recognized since Fred Brooks wrote about having a specialized toolmaker on the team in The Mythical Man-Month: Essays on Software Engineering in 1975.

Today, you still need to be able to build your own ad-hoc tools. Even if you consider yourself a “pure” Java programmer, make sure you know a few helpful additional technologies like Perl, Python or Regular Expressions.