In woodworking, a project will not come along very quickly if you constantly have to pause the current project you are working on in order to clean up the next tool you need to use, ore pick up remnants of the last project from the workbench. If your workspace isn’t clean, it will take you much longer to finish the project than it normally would have.
I think this is one of the reasons why I was so amazed at 8th Light’s idea of Software “Craftsmen” when I first heard about it. It just clicked with the things I already knew from more traditional craftsman trades, such as woodworking. There is more to being a craftsman than just being able to build a stool that won’t fall apart. There is more care and consideration, and attention to the minute details that most hobbyists or true production shops would ignore. I think part of that craftsman mantra, if you will, is to keep your tools and workspace in good, clean, and operable order.
In coding, this doesn’t just refer to tools such as IDEs, or your desktop. Those are definitely included, but we should also include our unit and integration tests, build environments, and all those little special-made tools that we write in order to bridge the gaps in the “professional” tools we purchase or consume. How many of those internal dashboards have you written had unit tests, or gone through code quality checkers? Have you ever written any of those essential utilities, but they never made their way into version control?
We should pay attention to all the tools we use, and make an effort to keep them in a good, clean, fully operable condition.
Originally Posted on my Blogger site June of 2017