The Perfect Stack for FullStack
Do you feel overwhelmed by seeing new libraries and frameworks releasing every month? Well no more after reading this blog!
Hello all, welcome to a new blog titled "The Perfect Stack for Full Stack". Here by perfect stack, I am only focusing in the web development arena but the same philosophy or I shall say method can be extended to mobile development as well. So now what is this perfect stack?
Well before answering that question, first let's dive in to the philosophy that I am referring to. You see there are hundreds of libraries, frameworks releasing almost every month which is pretty overwhelming for beginners or people who are just trying to start a development. So the philosophy in one line is:
Focus should be on work/objective/basics and not on stack
What I mean by this is that don't be swayed away by videos explaining the best stack they use, only stack you should learn etc. I can give you many examples of people earning millions by just using jQuery and PHP and I can give you examples of so many projects that utilize all the latest stack and still fail. Hence what you should be doing is that for web development, you should be picking up a primary stack.
Primary stack means the stack that you will utilize for all your projects if no specific other tech stack is mentioned. Your primary stack should be such that:
Should cover all arenas of development like front end, authentication, backend etc. and not just one specific domain
You should be very familiar with all the concepts, latest changes, new additions of this stack and strive to quickly adapt it.
For example my Primary Stack is Next.js, TailwindCSS, TypeScript, Prisma, Supabase, Clerk
Here you can see Next.js and TypeScript is enough for both frontend and backend, TailwindCSS for styling, Prisma as an ORM, Clerk for authentication and Supabase as my primary database. As you can see the above 2 points I wrote get satisfied with this stack.
Now Devraj does that mean, I should learn this much only? No my friend, Development is an ever learning arena where you can never finish learning. My point in stressing for a primary stack is that if you have full knowledge of primary stack, you have the knowledge of all the fundamentals required to build a full stack application.
Like I personally use this stack on some projects but say in the internship if company is using MongoDB then I have to adapt to that but the point is that because of the knowledge of all concepts in the primary stack, I know the concept of querying, connecting database etc. so I can just read docs and quickly adapt.
Similarly say you learnt React as a part of your primary stack, but your client/company demands you to work on Angular or say Vite, then because you know React well, All it will take you is some 2 - 3 days of familiarizing with syntax and similar concepts and you will be good to go. Hence I stress you to learn your primary stack well and make awesome projects with it.
If you can't decide what should be your primary stack, I would advise you as a beginner your primary stack should be:
React.js, TailwindCSS, TypeScript, Node.js, Express.js, MongoDB
I am by no means saying you should be focussing on this only, your stack can be Angular, Vanila CSS, JavaScript, it does'nt matter. The only thing is you should be enjoying the stack and should have command over it. Rest everything can be managed.
Later you can learn more by transitioning into frameworks like Next.js if you are interested but this stack can make you go very far and build awesome stuff with it. That's the end!! I hope this short article has given you insights on how you should be marching ahead in your development journey and yes please always remember a golden line:
Focus on concepts and approaches, Libraries and Frameworks may come and go