Don't sacrifice expressiveness for ease

July 7, 2020

Expressiveness: The quality of effectively conveying a thought or feeling

All my life as a software engineer, I have been puzzled on knowing what really guides me to favor a particular tech as opposed to another that solves the same problem.

I finally placed a finger on it and that guiding factor was just a single word - EXPRESSIVENESS

As software engineers, our job is to solve problems on a daily basis so I am of the opinion that the tools we use should not add another layer of complexity in form of steep learning curves, counterintuitive syntax and API, etc. Our tools(programming languages, frameworks, toolings, editors etc) should not get in the way of us solving the problems we employ them to aid us solve. They should be in the background not all in your face.

As a matter of fact, you can liken the tools as brushes in the hands of an artist. When an artist paints, he chooses the brushes not based on feelings or attachments but solely base on how expressive the brush would allow him convey his intent. He knows what brush type to use for various strokes and flexibility.

My point... 📌

Use tech that allows you the maximum amount of expressiveness. I know its easy to go for tech that are the hype of the day but when doing so, apply due diligence in asking the question: Am I sacrificing expressiveness for ease?

Code expressively 🚀 🚀,