Consider the table saw. If you are not familiar with woodworking, this is a type of shop saw. A circular blade comes out from a table surface. It can be adjusted with a decent amount of precision to make cuts of a specified depth and angle.

One might naively think this piece of equipment is easy to use. Dial in the settings and push the stock through. In the best case, you end up with sloppy cuts. In the worst case, you incur bodily harm.

The skilled worker will understand kickback and feeding all the way through. They will be mentally prepared to use the equipment, ensuring the space is clean, dust collection is working, that they have no loose clothing or jewelry to cause themselves danger.

A seasoned woodworker will build "jigs" - small projects designed to brace and feed stock through the table in a precise and safe manor. They will know when their job is complete, and when to throw away scrap and try again.

The tools available to build software today are about as complicated and usable as this table saw. An experienced software developer is demonstrable by their jigs and willingness to throw away swaths of code. The stakes are different, but too many developers do not bring to bear a respect for the tool, nor the harm they cause to other developers and users with sloppy use because the reaction time and blame assignment are so far removed.


comments powered by Disqus