A full-stack web developer is a technology expert who can work on both in the front end as well the back-end of any application. The person should be familiar with each layer of a 3-tier model. The 3-tier consists of :
• The presentation layer (Main front end portion which deals with the user interface),
• Business Logic Layer (back-end portion of any application which deals with data validation)
• Database Layer (sql or noSQL)
A Full-Stack Developer doesn’t necessarily master of all technologies. However, the professional is expected to work on the client as well as server sides and understand what is going on when developing an application. He or she should have a genuine interest in all software technologies.
Broad understanding of the product
Design thinking, lean approach
Quick iteration and continuous improvement
Full stack enginer should know at least one server-side programming languages like Java (preferred), scala or kotlin.
Database and cache
Knowledge of various DBMS technology is another important need of full stack developer: PostgreSQL, but also noSQL technology is a plus (ex. MongoDB).
Message and event driven
Experience in event driven architecture and development is another important need, in particular JMS and streaming technologies (ex. kafka).
Basic design ability
In order to become a successful full stack developer, the knowledge of designing is also recommended. Moreover, the person should know the principle of basic prototype design and UI /UX design.
Exposure to handling Apache or nginx servers is desirable. A good background in Linux helps tremendously in administering servers.
Version control system & CI/CD
A version control system allows full stack developers to keep track of all the changes made in the codebase. The knowledge of Git helps full stack developers to understand how to get the latest code, update parts of the code, make changes in other developer’s code without breaking things.
Working with API (REST):
Knowledge of web services or API is also important for full stack developers. Knowledge of creations and consumption of REST and SOAP services is desirable.