Well… after 5+ years of full stack development I have came across some experience which I would like to share. This article will help the below group of people :
- If you are a fresher and wondering, what is full stack, how to and where to start, how to bla bla bla ...
- You are a backend developer who is always writing algorithms but client only remembers the cool dashboard shown using your data and never realize how much of code optimization you have done. You might be wondering to make those cool dashboard/ UI yourself and get client visibility someday
- If you are a Frontend developer who always uses the data but always wondering if you cloud have the data the way you want, then your UI could have look much smatter
Ok! so let’s start with the freshers ….
Basically your role is defined by the skills you have. If you are working in HTML, CSS/Less/Sass and Bootstrap then you are a UI developer. HTML is the structure of the web page(table, image, paragraphs etc.) and CSS is the beauty of it (colors, alignment and size of elements). Bootstrap is the x-factor. It makes the UI compatible/resizable in desktop and all mobile devices so you just have to develop one UI which will work everywhere. The popular term you might have heard for this is “mobile first” development.
This is one side of development or let’s call it as browser side development. The best source to learn all these is w3schools . I think the content present here is enough to start learning and working at the same time.
Now, if you are working in Python/ Java/ C#/PHP, these are server side languages and along with a data base like MySQL/ PostgreSQL/ Oracle you become a Backend Developer or let’s call it as server side development.
For SQL I think w3schools is good enough and for the server side languages like Java and Python you will get thousands of resources in YouTube as they are opensource.
So we have 2 wheels of development
- Browser side → Frontend (HTML, CSS, JS, Bootstrap, Ajax)
- Server side → Backend (PHP/Python/Java/C#, MySQL/Oracle/PostgreSQL)
Now combining these two you become a Full-stack Developer.
How backend dev can learn frontend ?
For backend developer, I would suggest you can start with HTML and CSS. HTML is very easy to understand. Just go through w3schools you will get it with in an day or two.
CSS is something which is very easy to learn but very difficult to master. So practice regularly for a week and once you get the jest of it, then it will be a piece of cake for you. But make sure you understand CSS properly because Bootstrap is build on top of CSS. So to understand Bootstrap you need to have good grasp on CSS.
In Bootstrap the most important part is the Grid system. Other concepts will be easy if you have already worked in CSS.
You need to understand the relationship between HTML, CSS and JS which is not straight like Python/Java and SQL. You need to master the browser debugging console and all the options of it to work in frontend.
How frontend dev can learn backend ?
But if you want to grow as a full stack you need to learn about some more things apart from the language. Like the server in which your application is hosted, URL routing, MVC, ORM, connection pools, time and space complexity, packages and libraries, stored procedures, indexing and ranking in databases etc.
Normally frontend developer struggles in some cases because they can not visualize the code running and how the data is getting modified from one format to another. But you can also put breakpoints and analyze the code flow here as well. For that you need a powerful and colorful editor and my personal favorite is VSCode.
I am a big time Avenger fan and I think I can relate the above technologies with the our superheroes.
Iron Man → Python/Java/C# : The brain of the team, smart, rich and billionaire. Like him every server side language works with logic and complex algorithm with rich frameworks and billions of libraries.
Hulk → Database : The scientist with 7 PhDs who have all the knowledge (data). Even Iron man needs his help like Python needs data from database.
Thor → HTML : Has good biceps, shoulders, abs. Basically well structured body. Like him, HTML is the structure of the web page.
Black Widow → CSS : The beauty factor of the team. Like her, CSS brings colors and alignment and make the page look beautiful.
Hawkeye → Bootstrap : Known for his accuracy. Like him, Bootstrap make sure the UI looks accurate in every devices.
And finally …
So basically you need to be the Nick Fury and use them in the battel. Just tried to give a picture to all the technologies guys, meant no offence to any super hero.
All the best on your learning path and Happy full stacking …… :)