Hello friends! So, as we all know, full-stack web development is quite popular, and there are lots of jobs waiting for you in this domain. So, in this article, I will try to give a complete roadmap on how can you become a full stack developer.
I, too, had learnt full-stack development last year, and you also can do the same. I am currently learning more and more and trying to do some projects to solidify my learnings. It is quite a good practice to do some projects once we learn something new.
So, who exactly are full stack developers?
Back-end developers make APIs, design and manage the database, and perform all the operations that enable the website to perform tasks and play with the data. And then there are frontend developers who design the frontend of the website and make it responsive and user friendly. They build web pages to let the backend interact with the user.
So, a full stack developer is a developer who can do both these tasks. A full-stack developer can build a complete website on its own since he does both sides by himself.
There is a rising demand for multi-talented professionals, and knowing both is a plus point in itself. It helps you to find jobs in both these domains, thus widening your chances, and also helps you build a complete website on your own thus, you can build some cool projects involving both backend and frontend without needing a team partner.
Many people make a mistake, though. They learn little parts of the backend and little parts of the frontend, but they have specialization in none. It is a bad approach since this way, and the person is good with none. They are average in both departments, and this does not leave a good impression.
The perfect way to become a full-stack developer is to specialize in one part — Frontend or Backend and then have a working knowledge of the other and then improve it. This way, you would become a better developer and would be more useful for any organization.
So, now we have discussed quite a lot on who full-stack developers are and how they work. Let's now move into the actual topic — how to become a full-stack developer. Also, in the end, I would tell you what frameworks I learnt and from what sources.
Basic Requirements for both Paths
There are some basic requirements which you should know before starting to learn any frontend framework or any backend framework.
These are essential skills every developer should know:
Learn Git and Github
This is a necessity for any developer. Knowing Git is very helpful to manage the commits and history of your changes while you develop an application. It is instrumental in case you want to go back to the previous commit. Github allows you to store the files online and helps in collaborative work or to showcase your work to people.
Learn Command Line
Learning the command line is an excellent thing for any developer since the command line is what we would use every time to run our application or install any dependencies.
Learn Programming Languages
We should always go for learning frameworks after we know how the languages actually work. This will help us to have a better understanding.
Frontend Developer Roadmap
Frontend Development is the interface of the website — the part user interacts with. The frontend is responsible for the interaction between users and the backend of the application.
The frontend roadmap from the roadmap.sh
We will first need to focus on the basics. We need to start with HTML and CSS. These are the building blocks.
HTML and CSS
We first need to learn HTML and CSS. HTML helps us build the website's content, while CSS adds the styles and effects to it. Learning HTML is straightforward, and you can finish it in a few days. Then we need to learn some CSS to style our web pages.
There are various CSS libraries that you can learn, but some are more popular than the rest. The most popular choice is Bootstrap. It is the most widely used CSS library and has many different styling and components to use, making styling easier.
Some more good CSS libraries are:
There are many front-end frameworks, but three of them are most popular — React, Angular, and Vue.js.
Most front-end developers learn either of these or multiple of them. It would help if you started with any of them. They all have their own advantages and disadvantages.
Refer to this article to see which one of these is perfect for you.
Though, my personal opinion would be to start with either React or Vue. Angular is a little tough, in my opinion, and is not a great choice for beginners. Once you get acquainted with one framework, it is easy to switch since many things remain similar.
Backend Developer Roadmap
Backend is the part of the application which holds all the logic part. It communicates with the database, handles all the logic and also communicates with the frontend part. It receives or provides data to the front end.
Backend Developer Roadmap at the [roadmap.sh](http://roadmap.sh/)
Some great backend frameworks are:
- Django (Python) — It is a Python framework and is a perfect choice for anyone who wants to develop their application faster. It is a little difficult to start with but offers many things pre-built. It has a built-in admin dashboard and a user model.
- Flask (Python) — It is a simple and lightweight framework that does not have all the functionality built-in but has many dependencies to fulfil all its needs. It is best suited for developing small applications or for API development.
- Ruby on Rails (Ruby) — This is based on Ruby and is quite popular. It is easy to learn too and is widely used in many places.
There are a lot of choices for Databases, the most popular being MySQL, MongoDB, and PostgreSQL. You can choose any one of them as per your choice.
MySQL and PostgreSQL store data in the form of tables — rows and columns. But MongoDB is a NoSQL database and stores data in the form of documents in the JSON format, which is a great thing since we send the data through APIs in JSON format.
If you choose Django as your framework of choice, I have a great series for you to look at to build a social media website with the Django framework. This would help you learn Django in a better way.
So, as we saw, it is all about our choices of what frameworks suit us best and what we love developing.
My Choices and Learnings
I have currently learnt a few frameworks. I started with the backend development part since I am more interested in the logical aspect of things. I like working with databases and creating APIs for the frontend to utilize.
I learnt Flask through Youtube videos by Corey Schafer.
Then I learned Django from the same YouTube channel since I had heard a lot about it. I loved Django and used it to develop a few good projects. One of them is the social media website, and the other is a job search portal.
You can read this new series based on MERN Stack, in which I go through in detail how to build a simple E-Commerce website using MERN Stack.
Also, I have started a new series on building a blog app with React and will expand it later to incorporate backend with Node.js and MongoDB. Then we would further go on to make it more practical with authentication.
I hope you all find this article useful.