What is Full Stack?
Full Stack Web Developer
A full stack web developer is a person who can develop both client and server software.
In addition to mastering HTML and CSS, he/she also knows how to:
- Program a browser (like using JavaScript, jQuery, Angular, or Vue)
 - Program a server (like using PHP, ASP, Python, or Node)
 - Program a database (like using SQL, SQLite, or MongoDB)
 
Client Software
(Front End)
Popular Stacks
- LAMP stack: JavaScript - Linux - Apache - MySQL - PHP
 - LEMP stack: JavaScript - Linux - Nginx - MySQL - PHP
 - MEAN stack: JavaScript - MongoDB - Express - AngularJS - Node.js
 - Django stack: JavaScript - Python - Django - MySQL
 - Ruby on Rails: JavaScript - Ruby - SQLite - Rails
 
Advantages
The advantage of being a full stack web developer is:
- You can master all the techniques involved in a development project
 - You can make a prototype very rapidly
 - You can provide help to all the team members
 - You can reduce the cost of the project
 - You can reduce the time used for team communication
 - You can switch between front and back end development based on requirements
 - You can better understand all aspects of new and upcoming technologies
 
Disadvantages
- The solution chosen can be wrong for the project
 - The solution chosen can be dependent on developer skills
 - The solution can generate a key person risk
 - Being a full stack developer is increasingly complex
 

