Skip to main content

Small tools make for great toolchains

· 2 min read
Anuj Deshpande
Founder of HW Toolchain

Architecting a system can go one of two ways. Build a black box, that is a single tool that does everything, or build a system of small tools that work together.

The question is, what is the way to do this if you want to build tools that last?

When building a productivity tool, it's tempting to build a single tool that does everything. An example of a single tool that does a lot is Excel. I can't use only the parts of Excel that I like the most in something that is not Excel. For example, I can't use the formula editor in a CSV file. This allows you to have a lot of creative control over the entire user experience.

Contrast this with an OS like Ubuntu or Fedora. It has a bunch of tools like : common libraries, a shell interface, tools to manipulate text, tools to schedule things - and a lot more. These tools all have some agreed upon styles and conventions. A man page, a parameter to show verbose logs, ability to pipe output of one tool to another - and so on.

This is an imperfect analogy, but it's a good way to think about it.

Another example is in gardening. A collection of tools like a sickle, rake, shovel, and more vs a lawnmower. I think that the tools that are purpose built and allow flexibility are the ones that last. This is because simple tools are the easiest to maintain and iteratively improve.