Photo by La-Rel Easter on Unsplash
3 min read
Recently, I stumbled across a video on YouTube that discussed the various tech stacks used by some of the biggest tech firms in the world.
It was a very interesting video, and yet, somehow, it was somewhat obvious which tech was being used by certain companies. I don't think anyone would be surprised if Amazon wasn't using AWS! But some smaller companies I've had the pleasure of working with, with a much smaller user base and requirements were also trying to use similar tech stacks. And some of them just blew my mind.
For instance, one client requested I use AWS, MongoDB, React, and Laravel to host a single page website to promote their business. When I asked why they wanted me to use them, they replied with "all the big companies use them", which is a fair point, but these big companies have millions of users every hour, with incredible data usage and storage requirements. Not to be disrespectful to this client, but they were not a big tech company, they would be lucky to get a few hundred users a day, and as there was no dynamic content, just a static webpage, none of the tech they requested would have been appropriate, and would probably end up costing them more. The client appreciated my concerns but decided not to continue working with me, as due to my reservations, they thought I would not be able to complete the work required.
Another client had a genuine need for a powerful, scalable database solution to handle several thousand requests every second, so their use of AWS, Microsoft SQL, and a robust ASP.NET infrastructure was warranted. I was happy to be able to deliver to their satisfaction.
There's a constant debate about which tech stack to use, which is the best, and why, and to me, it's very arbitrary, and somewhat a simple, if controversial solution - use the best tech stack for the job! If you only need a single page static site without any database transactions, don't use a Database, don't use a Scalable infrastructure, just use the quickest tool to get the job done!
When I built a very simple webpage to advertise a local cake business, I just used PHP, CSS, and Vanilla JS. It's lightweight, and does the job.
A client I worked with for a long time was using Node.JS and Laravel for their project, but switched to React after a few years, as they felt it was a better fit for their requirements. And they were right. It performed a lot faster, it was quicker for the other developers to work with and get the results done. But was that because React is better than Node? Or was it because it was easier to rebuild from the ground up having already built most of their product? Or was it just that the developers were more used to React rather than Node? The answer isn't particularly relevant, the fact is that React was the best tool for the job, and once everyone was on board with it, productivity and morale received a major boost.
I'm not here to say which tech is the best, or which one I prefer. I'm merely saying don't use a sledgehammer to crack a nut, and don't use a toothpick to carve a marble statue.