About the Full-stack Developer
One of the specialties of the software engineer profession is a full-stack developer. There are so many definitions of full-stack, which I want to discuss is a full-stack developer in the world of web.
The work cycle in web application development can be simplified like the following sequence:
1. Interface design
2. Design slicing process to HTML, CSS, and JS
3. Development of backend / Content management system
4. Integration interface with back end
5. Deploy the application to the server
Point # 1 is done by the designer.
Point # 2 by front-end engineer.
Point # 3 and Point # 4 by back-end engineer.
Point # 5 by deployment officer, system admin, or sometimes back-end engineer as well.
Full-stack developers are the ones who work on # 2 to # 5 or even work on # 1 points, that is design.
So, the formal definition is someone who understands how a pile of systems works and is able to implement them. If the English term, "Jack of all trades".
Advantages of Full-Stack Developer:
Of course, with a full-stack developer, we can save resources. We do not need front-end developers or even designers. Of course, this developer fits perfectly with a very limited resource environment, such as startup. To get a technical co-founder who is a full-stack developer is a blessing.
A broad and wide understanding of a system is certainly useful when other places are resource-poor. Suppose there is a project that is in need of more back-end developers. He can directly help him. No wonder a full-stack developer is very easy to get a job because many companies want full-stack developers on their team.
Disadvantages of Being FullStack Developer:
In fact, finding a good full-stack developer is very difficult. indeed the difficulty level to become a good full-stack developer is much more difficult than good specialization.