Notes

Standardize your tech stack

MK

As your company grows, it might be tempting to diversify into many different tech stacks. A more diverse technical team with different backgrounds and experiences will naturally want to start bringing the tools they have used before in previous jobs. While there is nothing innately wrong in that, be aware of what you are doing if you start using any tech stack without careful consideration.

In a short while, your internal systems and tools will start to become a hodgepodge of different technologies. A build tool might be written in Perl, while your error logging script is written in python and your test framework harness is managed by PHP. Although this is fine, you will start seeing greater friction and silos where one team will be hesitant to touch another tool because they don’t have anyone who knows that tech, language or platform.

Even worse, that team will reinvent the wheel by writing the same tool again in the language or platform they know best, and sooner than you know it, there are two systems that do the same thing managed by multiple teams.

Now, while it is true that you should be ‘Using the right tool for the job’, there is something to be said for having a standard tech stack, platform or language that most of the company is generally using. You will first of all have many more experts in that language or stack so it is easier for people to understand and adjust existing scripts and tools to what they need without needing to reinvent the wheel. Second, you will find that it becomes easier to build more complex systems faster because of greater interoperability when there is a single stack and there is potential for more code re-use.

We saw immediate gains when we switched most of our internal systems to start using PHP/VueJS/MongoDB for example from a mix of bash scripts, Perl, and Python scripts. We now not only standardize on languages, but we also started standardizing language frameworks we use and even libraries.

Finally, the biggest benefit that we saw was that standardizing on a single stack allowed us to move people from one project to another seamlessly without a big learning curve. This is an enormous business advantage.

Leave a Reply