Tools of the Trade

AI generated image: Create an image in children's story book style of a female software developer having a large collection of both programming and traditional tools.

With a shovel excavator a single operator can effortlessly move 720 tons of earth with a single movement; a VLSI fabrication plant allows a designer to create elaborate sub-micron structures. Without tools the thousands employed in a car factory are nothing, with tools they can assemble a car in 18 effort hours. Sometimes, tools can even subsume the importance of their operators. The violinist Ivry Gitlis, considered one of the most talented musicians of his generation, said of his Stradivarius: "I have a violin that was born in 1713. I don't consider it my violin. Rather, I am its violinist; I am passing though its life." Tools are clearly an important and defining element of any profession and activity: tools help us move boulders and atoms, tools help us reach the Moon and our soul.

The objective of the IEEE Software column I edited from 2005 to 2014 is to explore the interplay between software development and the tools we apply to the problem. Skilled craftsmen set themselves apart from amateurs by the tools they use and the way they employ them. As a professional I feel I am getting a tremendous boost in my productivity by appropriately applying tools to the software construction problems I face every day. I also often find myself developing new tools, both for my personal use and for wider distribution. Column installments discuss specific software construction activities from the standpoint of the tools we can employ, the tools of our trade.

The following columns have been published. They are being made openly available here as blog pre-prints.

If you like these columns, you might also be interested in the followup Adventures in Code series.

Creative Commons Licence