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).
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.