Skip to main content

Tooling is Easy - Doing is Hard

·749 words·4 mins
Even Rosenlund
Author
Even Rosenlund
Naval Architect, Software Engineer & seeker of understanding

It is so easy getting caught up in tooling.

With tooling I mean any tool used to create something. For many software engineers thinking about having a personal web page, that can be the framework for creating content, hosting it on a server and or server management.

For people with an adept for coding, and a simultaneous wish to create and design physical things, that might be a parametric designer, CAD software and or rendering engine.

For a hobbyist woodworker it might be some machine that simplifies or enables the creation of something.

No matter what the tool, I have found (repeatedly) that it is too easy getting caught up in the process of establishing a “tooling chain”, rather than actually doing what the tooling should assist with in the first place; create someting.

Taking this webpage as an example; For many years, I thought about having a webpage, but I could never get off the ground, as I wanted to use the opportunity to learn some new coding skills and create a proper framework, where content could be created and managed. Needless to say, that takes time, which I never seemed to find in a busy everyday with multiple kids and responsibilities. (Fun fact; in my previous version of this site, I actually hosted a semi-static webpage using Fortran!)

Last year I decided to say F***-It, this can be done simpler. In principle, a webpage can just be a collection of hand generated html pages. Not really wanting to hand write html and css, I found Hugo, which is a static site generator. This essentially mean that it will take text I write in markdown, and create the needed html files, applying a template and using css features from this. These files I can host on whatever solution that will allow me to host some static content. I use git to keep track of changes to the files, and store it in a private github repo for backup. My hosting solution then pulls the git changes, and rebuilds the static content using hugo on the webserver.

To write a post I simply create a new markdown file, which I edit in nvim, commit the changes and push to my remote repo. I do not think a semi-content managed webpage can be done much simpler than that.

We then get to the point of this post; Creating content is hard. Over the years I have probably spent 10 times as much time just thinking about, reading about how to do a CMS system, than I have spent creating the few posts on this page. I have litterally no barriers for creation, yet over the last 8 months or so, I have only written a handful of posts. My expectation (and partial experience) is that it will be so with most other things when one is to create and “end product”.

Why is it so?

My simple guess is that it is normally easier to make a mental plan when the end point is know. The human brain appears to me to be astonishingly good at breaking a complex task into manageable chunks of work. If you want to have a small web page with blog and content management features, the brain will relatively quickly be able to think of all the things that needs doing for such a solution to come to fruition. For some of us, it will then immediately continue on how to optimize the already identified steps, and without you noticing it, the end goal has shifted from having a web page, to create the tools needed so I can have a web page.

When the end goal is not know, we struggle to break it into manageable chunks. It is close to impossible to break down the steps needed to write something meaningful, without knowing what that meaningful something is.

There you have it; my theory on why it is so hard to create something new, unique or original, and why it is so easy to get hung up on the tools that should help to create it . Without a clear end goal, the brain cannot break the work down into manageable chunks, so nothing gets done. Alternatively, the brain will just slightly change the goal so it has something to work towards, and that often ends up to be create a great tooling chain.

In some ways this is just another example of Resistance, From Steven Pressfield’s excellent book The War of Art