A full-stack developer is someone with the ability to work on all “layers” of software development.
The three layers of a standard web application are:
Although full-stack developers are usually capable of working with each layer, they’re not necessarily experts on any one in particular.
Generally, the main areas a full-stack developer focuses on are divided into two: Front-End Development and Back-End Development.
Front-End development (or web/app design) is focused on the Presentation layer i.e. the user interfaces.
The basic stack of front-end development includes:
Usually front-end developers will also work with frameworks / languages such as React
and Angular
to add further functionality on top of JavaScript.
Back-End development is concerned with server-side management, and handling communication between browsers and databases. Back-End development is focused on the Business layer and the Database layer.
The most popular back-end languages are Node.JS
, and Python
.