The importance of knowing your tools as a programmer or knowledge worker
I was never good at tools. This article is in some way facing my fears and try to clarify to myself why I’m not good at them. I’m clearly missing something here.
As programmers — but as any type of knowledge worker —, tools strive to make our lives easier. The automate, organise or accelerate what we would have done manually with more effort and time.
Though tools are great and useful, there are some pitfalls involved if we are not intensional on the why we use them. They might be a source of hidden procrastination. Or to put it in another way it contributes to the shiny object syndrome. What is this though?
For example we want a note taking app. The reason we need such a tool is to document our ideas and make some possible connections in the future. A note taking app basically serves as an archive for our ideas.
A pitfall we might fall into is trying a million different apps. We think this tool is better at this and the other better at that. But in the end of the day we just need a tool. If we jump around we will never find what we set out of find and probably lose direction.
Another pitfall is that it might distract us from doing the actual work. Don’t get me wrong, I love tweaking my text editor and change the colour scheme so my code looks pretty. There is an enjoyment in messing around with a tool. But that is always secondary to the work.
A tool is essential for doing the job, not preparing for the job.
I play guitar for about 15 years now and what I would often see is the following. People would buy an expensive guitar and piece of gear, while looking for it’s next replacement. Many of them couldn’t even play. It was a way to distract themselves from the actual work. You can and should buy a decent guitar or gear but you can do that when you know your craft and see the need of it. To enhance your skill and not create it. My father always used to say: ‘You can buy guitars, but you can’t buy fingers’.
And this leads us to why some people have a resistance to learn new tools or what they already use, better. While the benefits are evident many of us don’t want to strive away from the task at hand.
Another thing is many of these tools are huge and complex. It seems like you have to know a lot, just to have a basic productive working facility. I have heard many people compline about Notion that is too complex and they get overwhelmed.
They need a lot of work to be proficient at them and that is a lot of time spend not doing the work. And with all of abundance of tools out there it’s not hard to get overwhelmed, so to be reluctant is a bit understandable.
We have made the tools we use so complex and made them do a thousand different things that it often discouraging learning them.
All this unless your job is the actual tool. Like you can be a Git expert or a Notion expert and your job is to train other people. But here I’m talking about the everyday people that use tools as a means to an end, to achieve something else.
One way to take it more easy and start diving into your tools is a shift in mentality. A tool is there to serve you. You can learn it on demand, depending the thing you are working on. Your job will tell you how much of it you need to know.
For start just try to get by. Pareto’s rule holds true here as well. You need 20% of the knowlendge to get 80% of the value from a tool.
Another is to remember that tools will change. And they must.
Tools change, reasons stay
Remember how complex tools were back in the day? And now many of them are greatly simplified today? They must change in order to improve. The reason you use one though stays the same.
Tools are important but we must better understand that they are a means to an end and not the destination. If you want to geek about them, fine.
I do it.
But thats for another day.