How “Full” Is a Full-Stack Developer?
Many types of professionals work on software projects in the software development world. But in a small software project, this could also have a small team with very few members. One of these is a full-stack developer.
A full-stack developer should know how to develop software in both front-end (client) and back-end (server). Most software project teams hire developers who can code both on the client and server sides. Most of them were the big techs or firms with fast-paced working environments.
The first 35%
A full-stack developer must know how to develop the client side of the software — or what we call front-end development. One of the fundamentals of creating a website was developing a static website. The primary technologies used for front-end development are HTML, CSS, and JavaScript.
If you already know the basics, the next thing to explore is the frameworks and libraries. Two of the most popular CSS frameworks are Bootstrap and Tailwind CSS. ReactJS, VueJS, and Angular are the most popular JavaScript frameworks and libraries worth exploring and learning.
The second 35%
A full-stack developer must know how to develop the server side of the software — or what we call back-end development. Dynamic websites like web apps, blog sites, or e-commerce sites need a back-end to function dynamically.
The most popular programming languages in back-end development are PHP, C#, Java, and Python. JavaScript can also be used in back-end development through NodeJS, a JavaScript runtime environment.
There are also frameworks and libraries used in back-end development. In C#, there are ASP.NET and ASP.NET Core. In Python, there are Django and Flask. It’s advisable to pick a particular framework or library for specific software needs.
The other 20%
A full-stack developer must know basic database management. Dynamic websites are full of data and need storage to store them. The most commonly used database types are relational databases (MSSQL, MySQL, PostgreSQL) and non-relational (NoSQL) databases (MongoDB, Apache Cassandra).
If you’re new to databases, you could start with MySQL for a relational database or MongoDB for a non-relational database.
The remaining 10%
A full-stack developer should know the basic IT operations for deploying a website. Most software project teams have dedicated people for development and operations (DevOps), but it’s an advantage to know the basics.
The most common technologies or service providers used in DevOps are Amazon Web Services (AWS), Microsoft Azure, NGINX, Jenkins, Docker, Kubernetes, etc.
Bonus
It is an advantage, but not required, for a full-stack developer to be skilled in mobile development. Some full-stack developers should know about converting a website to a mobile application through the progressive web app (PWA).
Skilled mobile developers most likely specialise in a specific platform, such as Android (Java or SDK) or iOS (Objective C or Swift). But some use cross-platform development tools such as React Native, Xamarin, and Ionic.
The popular tech stacks
These are tech stacks, to begin with, for starters. You can dynamic web apps from them (90%) and then deploy (10%) them for internet-wide access.
- MEAN stack: MongoDB, Express, Angular, NodeJS
- MERN stack: MongoDB, Express, ReactJS NodeJS
- MEVN stack: MongoDB, Express, VueJS, NodeJS
- LAMP stack: Linux, Apache, MySQL, PHP/Perl/Python
TL;DR
The main ingredients for being a full-stack developer are skills in front-end development (35%) and back-end development (35%). Database management (20%) is also a significant skill but not necessarily an expert. DevOps (10%) is a substantial additional skill to being a “full” full-stack developer. It’s also a great addition to being skilled in mobile development, but it’s beyond the fullness of a full-stack developer.