Everything is a Tool

I found my colleague taking notes studiously while reading huge source code repo.

Actual photo of the actual guy

Curious, I asked him why he was using pen and paper rather than typing out his notes. He answered that he liked the tactile feeling and that it reminded him of brainstorming with whiteboards.

I can understand that. There is definitely something satisfying about gathering with peers and scribble your thoughts while talking.

Also, the interaction reminded me of a chain of events that led me to write this: A colleague of mine posted something about learning Functional Programming. Another colleague responded by saying that that paradigm is dead. Intrigued by this (also I wouldn’t miss a chance to prove him wrong), I browsed around the web. Then I found this video by Continuous Delivery in YouTube.

This video

Side note: If you are a software engineer, or learning to be, that channel will be pretty useful for you. The creator, David (Dave) Farley, has an impressive track record. (When Martin Fowler wrote about your software architecture, it’s nothing to sneeze at)

The best takeaway from that video (which I smugly pointed out to my colleague) is that “everything is a tool”. Programming technique is a tool. Programming language is a tool. Software is a tool. Hardware is a tool. Notebook is a tool.

So rather than “choosing sides”, learn everything. Have more tools in your toolbox, one of them might come in handy along the way.

(In the case of our discussion, the Functional Programming paradigm is not dead. The programming languages that are built for enforcing it are dwindling, while more generalist languages give options to utilize it.)

Leave a comment