The long way through Software Craftsmanship

In Defense of Tooling

May 30, 2019 - 2 minute read - Comments - tooltoolingdave-dunfieldquotecurriculumefficiency

A quote (on a curriculum vitae) that I’ve enjoyed:

I am a firm believer in the value of tools, and often spend significant time at the beginning of a project developing tools specific to the needs of the project. This always pays off in the long run. I use tools to:

  • Perform tasks not otherwise achievable
  • Automate tedious/repetitive processes
  • Simplify steps in the build/debug cycle
  • Eliminate “human error” in scanning, translation etc.
  • Access internal information easily and efficiently
  • more … the tools used in a project depend greatly on the project.
  • I am also a big fan of automation. When you automate a process, you not only make it easier and faster to perform, but you also remove variability in the execution of that process. This means fewer procedural errors, a faster development process, and a more stable and reliable product.

My reliance on tools and automation means that you will see me sitting in front of a command line interface (easy to automate) more frequently than graphical one (difficult to automate).

Dave Dunfield

In a way, it reminds me of how Steve Freeman and Nat Pryce try to remove as much uncertainty from a software project in the beginning of the project, not at the end.

Tooling is very important for everyday efficiency.

Disclaimer about AI/GenAI

As of 2026-05-06, the text in these articles and blog entries has been written without AI/GenAI, except I sometimes use a spellchecker to fix errors. Think Word's spellchecker, not ChatGPT.

Notes, as of today (2026-05-06):

  • No code snippet has been automatically generated, nor vibe-coded, nor generated and reviewed.
  • I don’t have any article with AI contribution.

For future entries:

  • I may have used GenAI for the code in the repo. The code I exemplify/copy in the article will always be reviewed and tested, not vibe-coded. I will specify it in each snippet or at the top/bottom of the article.
  • I normally don't use it for the text contents, although if I have used it for the article text, it would be indicated as such.

Any entry before 2026-05-06 does not contain any AI/GenAI.

For more information, read the AI/GenAI Policy

Self-Study in May 2019 Self-Study in June 2019