Choosing your next best tool

So many options, so many points of view, so many roads to follow.

It’s been some time now that I wanted to talk about how should we act when we are facing a problem and we are in a need of something new that will solve it. Almost every week I will find myself searching and every time I am feeling bombarded.

Choosing the right tool is not a trivial task. It’s rather important. There are a lot you have to consider. If you did chose a tool and have decided early that wasn’t the right one, you should feel lucky. Real consequences comes after time has passed, the tool has find it’s roots on your life and suddenly you are in the need of getting it out. Quite a situation. Sounds familiar? Read on. You are not alone.

From my experience, there are two things I tend to focus on when I am in search of something. Whether is my next e-commerce or CMS platform, my next Node/PHP module or a Responsive Image Slider. Those two things I would like to show you on this post.

Define the problem

This is the most important step. You should have a clear picture of the problem you are trying to solve, the app you are trying to develop, the visual effect you would like to have on your front page.

We tend to skip this step, without realizing that we didn’t exactly skip it but transfer it for later. When you decide to skip this step and go straight to the implementation of the so called “right” tool you think you found, instead of really focusing on the implementation, you will sooner or later, find your self trying to solve little barrows you haven’t thought at first. So problems are showing up one after the other until you have decided that is not the “right” tool after all.

Well, the problem wasn’t the you haven’t had the right tool. If you had done you research at first, you may had seen those barrows and you may have decided early on to avoid them.

Research the validity of the tool

So, after you’ve defined your problem, you probably googled it around and you came up with three or four best options. Now you have to choose which one. While the tool’s Twitter account and the stars it has on Github is a good metric to rely on, it’s not the best.

My experience showed me that what you really must care about is its core values. Why did this tool was created in the first place? What’s its mission? Was it to solve my own particular problem? What did it’s creator was thinking about when he/she was working on it?

Think about this. Coming from a PHP background i’ve seen some great E-Commerce platforms. There are a handful of amazing, smaller or bigger ready solution that are ready to solve your problem.

Now, being a newcomer, you may not know that e.g. Magento isn’t the right tool for small and medium size stores. It’s a resource eating monster and that isn’t an eBay bug, but rather because when people were working on Magento didn’t really care about it’s performance, the one and only thing they were caring about were to make the most extensible e-commerce platform out there. And they did it. But that doesn’t mean it will solve your problem.

You have to really search around and get to know the tool you are examining. It’s really an inquisition process. Like being a detective.

Think before acting

In the end, I would say that rushing is always a problem. We should think a little more about our tools. They are important!

My mission is to write clean and efficient code, to solve problems and for me to learn something more.

My mission is to write clean and efficient code, to solve problems and for me to learn something more.