Know your tools and you'll build great software.


There are a lot of improvements and developments going on in the tech space. New technologies every day, new libraries every minute. All these newly released tools come with a promise to make things better, simple, and fast. And we developers are easily carried away by such promises.

This is because we are never satisfied with the tools we currently possess. We are always looking for something better. Which is a good thing, but, very disastrous when done too frequently and too quickly. A lot of tools, libraries, and frameworks are inspired by previous tools, and some extend the functionality of another tool. This means that a better understanding of today’s framework will mean a better understanding of tomorrow's framework. It is, therefore, important to clearly understand the tools you’re currently possessing rather than rushing for that new, immature, just-released tool.

To build better software we need to have a clear understanding of the tools we are using, we have to know how to correctly implement its features. A lot of developers brag about their favorite framework, but if you look at the software they built; it is painfully slow and buggy. Why? Are all these tools not created to make software better? Are they not meant to make building stuff easy? Our problem is simple; we don’t have a clear understanding of the tools we are using. We just know the surface basics. We use the same techniques that we learned from a mere YouTuber. We even don’t know where or when to use that particular tool.

You find developers using a huge framework just to build a single-page static site. Which is crazy, the site doesn't even fetch data from an API. Why didn't you just use HTML/CSS? It is very important to try and figure out what problem was that particular framework or library designed to solve. If you don’t have that problem, then use a simpler solution.