A 90 day roadmap to become a MERN stack developer

A Full Stack Developer role is always in high demand. This person knows about developing both- frontend and backend of a web application. If you wish to become a Full Stack Developer from scratch in 90 days then keep reading as I will give you the roadmap and the resources I used to become one in the same duration.

If you have no programming experience then also no worries as we will cover everything from scratch.

0-30:The Basics

Start with the basics of HTML/CSS. I would recommend the free course provided by FreeCodeCamp. I am a big advocate of learning by doing and not getting stuck in tutorial hell. It is much better and faster to learn, make mistakes, and grow to become a better developer. This course by FreeCodeCamp does exactly this. It gives you interactive mini projects right from the start to learn about HTML/CSS from scratch.

Learn about the most used tags like img,div,section,etc. It can feel overwhelming when you first look at their curriculum, however, you do not have to learn all the stuff given in tutorials for any technology, same applies here. Learn the most commonly used terms and you should be good to go.

You can always go according to your pace but this should not take more than a month to get well acquainted with the basics of HTML and CSS.

Link:https://www.freecodecamp.org/learn/2022/responsive-web-design/

Learn Git

According to Wikipedia:

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development.

Whenever we are working on a project we make a lot of changes to the existing code or even if we are building a project from scratch. If at some point of time we wish to undo the changes which were made to the project earlier, we can do so using Git. This is one of the basic features of Git and there are plenty more. Git helps us in managing code efficiently no matter how small or how big it is.

You can search for any Git and GitHub tutorial on Youtube to learn the basic Git commands. At this point you can create your own GitHub profile and start uploading your HTML/CSS projects there. You can learn to add, commit, and undo changes you make to your projects using Git and GitHub.

It won't take you more than 2-3 days to learn both. I repeat LEARN BY DOING.

30-60:Javascript

You must be having an account on various social media platforms. Ever wondered how the website performs certain actions on the click of a button? How does the website let you log into your account once you enter your credentials and click on the 'LogIn' button?

So here's a simple analogy:

HTML is the skeleton of our website. CSS are the beautiful muscles of our website- the text colours you see, the animations, etc. But the body of our website is incomplete if it has no brain i.e. logic.

Here comes Javascript - the brain of our website. When you click on the 'LogIn' button of a website then it is Javascript behind the scenes checking if you have entered valid credentials and if the checks go fine then bingo! You are logged into your account.

Start learning Javascript basics-variable declaration, loops, conditionals, etc. Again learn by doing. I recommend the YT playlist by NetNinja.

Link:https://www.youtube.com/playlist?list=PL4cUxeGkcC9i9Ae2D9Ee1RvylH38dKuET

Once done with the basics, start learning advanced JS concepts-Object Oriented Programming, ES6 syntax, map/filter/reduce functions, Asynchronous JS, etc.

Again, this playlist by NetNinja is recommended.

Link:https://www.youtube.com/playlist?list=PL4cUxeGkcC9haFPT7J25Q9GRB_ZkFrQAc

All of this would take you around one month. Don't start learning React before you have a firm grip over JS.

60-70: Learn React

I would say that React is at the heart of MERN stack. React is what you will be working with when developing the front end of a web application.

One of the best courses I have come across is by Bob Ziroll on scrimba. Building projects is the best way to learn and this course does exactly that. You get to learn React by building 4 amazing projects with an amazing teacher.

Link: https://scrimba.com/learn/learnreact

70-90: MongoDB,Express,NodeJS

Learn Node,Express and MongoDB. These aren't that difficult. After enough repetition, you'll know the commands automatically.

You can find plenty of tutorials on Youtube to help you with these.

All of these are used in the backend development of a web application. MongoDB is a NoSQL database where you will store the data collected from your website. NodeJS and ExpressJS will be used to send and receive data from the front end of our application.

Learn to build a REST API with the help of NodeJS and ExpressJS. Learn how to perform CRUD(Create,Read,Update,Delete) operations using these tools.

NetNinja playlist are awesome for all of this, however you can refer to other amazing tutorials as per your wish.

Conclusion

Congratulations, after 90 days' worth of grind you will finally become a Full Stack Developer!

I would again reiterate LEARN BY DOING. The simple mantra is Learn->Build Project->Repeat.

The point ain't about knowing everything, it is about knowing the basics well and building a strong foundation. Everything else can be learnt on the go.

In my upcoming articles, I will discuss some cool projects you can build for yourself and gain more confidence in this stack.

This is my first article so any suggestions are highly welcome.