Making Sense of the Tech Stack Debates 🎯
Adding more words to the never ending debate on what the perfect tech stack is or should be!
Hi everyone - A short while ago, tech Twitter spent a lot of characters debating what the ideal tech stack for building a web-based app should be. This tweet by serial entrepreneur Pieter Levels served as the catalyst:
Pieter described the tech stack he used for his successful AI photo app Photo AI. It is what Pieter didn’t describe that got people’s keyboards clacking. His project is largely built using plain HTML, CSS, JavaScript, and PHP. There is no use of React, Vue, Next.js, Angular, Tailwind, or any of the other technologies that get a lot of attention and coolness points today.
This brings up a dilemma. If you are developing your next app, should you take a leaf out of Pieter’s playbook and go old-school? Or should you be using the latest technologies? Does this all even matter? Let’s dive deeper.
It is About People
The funny thing is that the stack you choose will (or should?) have very little to do with technical details beyond a superficial level where you wouldn’t choose a series of backend solutions for a frontend problem, for example. Choosing the right stack has more to do with the people involved in building your app.
If you are a solo developer with no plans of bringing on others to work with you, then choose whatever tech stack you like. If you are a vanilla HTML, CSS, JS, and PHP expert like Pieter, then use that as your stack. It is all about your preferences here. The KIRUPA site, which also has a single developer (aka me!), is also built using the same stack with Dreamweaver as the editing surface:
When you start working with others, that’s when the tech stack conversations become more nuanced. Do you pick a “common denominator” set of technologies that everybody you are working with will be familiar with? Do you mandate a set of technologies that everybody must use:
This could mean that some team members will have to undergo some training to become familiar with your tech stack expectations.
The tech stack debate, like so many decisions we make around building software, is all about tradeoffs. There is no perfect tech stack. There is no perfect team arrangement. The only certainty we have is that things will change, and we need to adapt.
Note: Sometimes it’s also about the app!
I do want to acknowledge that choosing the right tech stack isn’t always about the people. If you are working on an existing legacy app, the tech stack may have been chosen by someone years ago. Switching tech stacks on an existing app may not be wise, so you may not have much choice in the tech stack you work on.
Remember, Users Don’t Care!
The tech stack you use only matters for you and the development team. The users of what you build don’t really care about how your app is built. All they care about is that your app works well, looks good, and all the other usual stuff:
Amidst all the drama that we often see around tech stacks, we shouldn’t lose sight of why we build things. We build things to solve problems for users. Just because we are close to implementation details doesn’t mean our users are. Lucky users, right? 😆
Till Next Time!
From an earlier poll, I do owe you all a post about the tech stack used on the main KIRUPA site and the process I follow for getting new content added. I may even make it a screencast. It is on my list of things to do, but putting the finishing touches on my Data Structures and Algorithms book still takes up a bunch of my content creation time.
If you want to reach out to me, reply to this newsletter, ping me on Twitter, or go to the forums like the good old days.
Cheers,
Kirupa 😁