#2 - Breaking down a tech stack (Topic: “Deciding on a tech stack” - 2 of 4)
Oliver Wang Hansen
Founder of Tidsmester ? | Tech Advisor ?????? | Board Member ??♂? | Empowering Startups, Scaleups, VCs, and Companies to Achieve Technical Excellence
In this series of four posts, I try to shed some light on how to decide on a tech stack for your project. Read the first post here.
This week's article is about something that also is essential to your decision process, and that is to understand and know how to break down the stack into components.
One of the pitfalls I often see is the lack of a wider understanding of the entire stack (and therefore also project scope) and what synergies that a well thought and planned stack can bring. It’s obvious that when you as a specialist think about a new stack or a component in a stack, then you most likely tend to grab after your newest and most shiny tool. Most stacks consist of an array of different tools that need to work together and create synergy between each other. As an example, let’s say that you have to develop a de-coupled solution, and then just out of pure tech passion pick a brand new cutting edge JS based frontend framework, but you have to support extremely old browsers, and it needs to be hosted on some rusty outdated steal in a basement somewhere, then that framework might not be the perfect match (it might be, right now we are just playing around with the thought of things not fitting together).
Another pitfall I see a lot of developers fall into is the “pre-packaged-stacks”. A lot of frontend specialists are very often dragged towards these packaged stacks such as “MERN”, “MEAN”, and alike because the eco-system is written in the same language through all the different components, so the synergy is very high on that specific point there.
These types of “packaged” stacks have been here forever and are of course always evolving (for the younger audience out there, then some of the first were “LAMP” and “LEMP”.) There is definitely nothing wrong with these types of stacks. But what you should be aware of is that most of them work best for smaller less scalable setups.?I really believe in throwing all the “letters” up in the air and then looking at each component needed for the stack and then finding a “letter” that rhymes well with the others. Of course this is way easier to practice in 2021 where more and more digital architectures become more de-coupled and services based and therefore creates a way bigger freedom to choose the best different components needed for each area of the stack.
So how do you figure out this synergy between so many different moving targets, technologies, and processes? It’s not an easy task, but here are a couple of quick tips and guidelines for you.The way I break down a stack to figure out if each component is viable is by asking myself the following types of questions (depending on what we are building):
?I pretty much ask myself these above questions for each of the following components (whenever they are part of the specs, also remember, there can easily be more than one of each):
领英推荐
It’s of course very important to understand that the above components and what questions we “ask” them can vary much all depending on what the heck we are building. The general thoughts that I’m trying to get across are about breaking down your tech stack, so you can find the perfect synergy whilst picking the best tools for each component in your stack to give combine the best tech 360 degrees of the setup and not just focus on one corner. Sounds easy right??
Next week I will be touching on different fast and easy methods and processes for setting your new idea of a tech stack of to the test before spending countless hours and money on it, in the article called “Test before you invest”.
Here is a quick bonus thing I would like to share with you. The other day at the office one of my colleagues passes me and told me it was a nice article that I have published (Thanks again Mr. Mannucci) but wanted to ask me how long time it takes for me to set a tech stack for a project. It’s a fairly easy question to answer, but getting to the actual answer for the tech stack can be hard…
“It all depends on what you are building and if you have built something that is close to the same thing and therefore already have an idea of the different components, and just like a good pop tune can take under 10 minutes to write and compose, the same tune can take weeks.”
If you just like Mr. Mannucci has follow-up questions about this or other tech-related things, then please don’t hesitate to comment below or slide into my DM.
Have a nice week!?????
Frontend Developer at TrophyGames - Huge nerd with a passion for coding
3 年https://youtu.be/Sxxw3qtb3_g An excellent read, just to add to the discussion: