
Which Stack to Choose? - My Answer
I get a lot of questions about this whenever I talk to junior developers or people who're just starting out in this industry and want to know everything about it before they boost out and get a placement for their suitable role. In this blog, I want to talk about this exact question and give a definite answer to it. Now, before I start, I just want to say that this is by no means a conclusive answer. What you choose should be at the end your own choice, and not something influenced by my or anyone else's opinion because, at the end of the day, only you know yourself better than anyone else.
Is There Any Wrong Answer?
To be honest, I don’t think there’s even a wrong answer for this question. I think no matter which stack you choose, it will work in your favor as long as you have the right skill and knowledge about the stack you’re working with at the end. Personally, for me, just out of curiosity, I learned many things at once—pretty much all the stacks possibly out there.
Now, I don’t think that should be anybody’s approach, especially if they’re just starting out in this industry. Why? Well, just because when you're starting out, everything is confusing as it is. You don’t want to make things worse than they already are. We want to make things easy for ourselves in the beginning. I’d say just start with one stack and become better at that one stack first before you start exploring more things outside of your stack.
Jack of All Trades, Master of None
You might think, "What does this quote have to do with this case?" I think there are two kinds of people when it comes to learning how to code, and they are as follows:
- People who want to learn only one thing and just stick with that for the rest of their life.
- People who want to keep learning new things, even if it doesn’t relate to their stack or work.
I’d say I lean more toward the second option when it comes to learning programming—purely because I was so passionate about programming that I didn’t care much about what I was learning; I just wanted to code!
Now, why am I talking about this? Because I want to tell people that a mix of both these kinds of approaches is good.
Don’t be on either side exclusively because both can be bad individually. You want to keep a balance because you want to learn more things after you master one thing.
Though, it’s not like I regret my decision of learning new things all at once because it gave me some advantage. Now I don’t have to spend time figuring out many different frameworks, which a lot of developers do nowadays. When they get tired or bored of one stack, they try to switch to something else, and if they fail, they don’t have any idea about the stack they learned before or the new stack they started learning. It’s worse than before they started learning anything new at all!
What to Look for When Choosing a Tech Stack?
I think the answer to this question really depends on what exactly you're trying to do with your work and career. For example:
Opinion 1
If you want to build enterprise-level applications, then I’d suggest a framework that gives you everything. For example, if you have to make a car, you’re not going to carve an engine out of a metal sheet yourself. You’d obviously prefer to have somebody build and deliver that engine for your car, right? Anyway, I think you need to be fast and reliable while keeping complexity to a minimum in your applications. So, choose a framework that gives you most of the tools, but keeps things simple at the same time.
Opinion 2
Let’s say you want to build some application and want very fine-grained control over which libraries you’ll use, how your project structure will be, and how everything is built and configured. In this case, I’d say go for a very bare-bones framework because that will give you the fine-grained control you want over your project.
Opinion 3
Now, I think the only thing left is actually a project where you'd want your stack to give you the flexibility to explore, find potential pitfalls, and offer suggestions on what can be added or modified in your tech stack. You want a stack where the creators or founders of your stack actually listen to the community. I’d say go for a stack that’s not backed by any mega-corporation but is supported by the open-source community.
Which Front-End Framework to Choose Then?
Now, I was referring to "stack" here, but to be honest, I’m just working on the frontend for most of the part, so I’m going to offer my suggestion on what I’m comfortable with the most. About which frontend framework to choose, I think you pretty much got the idea from the points I discussed above.
Just in case you still didn’t get the point after looking at the points above, I’m explaining everything below:
- In Option 1, I was obviously referring to a framework like Angular because it offers everything one could possibly need on the frontend and lets you get most things done on the fly without having to worry about libraries and other things to get the project to completion.
- In Option 2, I was referring to a framework like React because it offers you the freedom to select whichever library you want to use, configure the project in any way you want, and do pretty much anything with the project.
- In Option 3, I was referring to a framework like Vue because it’s not backed by any big mega-corporation and is supported by the open-source community, which listens to feedback and improves the developer experience. It gives you a sense of reliability and security. You can also request missing features from the dev team or contributors, and if they find it suitable, you might see that feature in your beloved framework soon. Better late than never, right? 😄