The skills list required to be a full stack developer is long and it can be hard to know exactly what skills you need and to what level before you starting looking for a job. The often shared online resource for this kind of thing is roadmap.sh but, while I am sure the authors mean well, I actually think the amount covered here is too much to be helpful to new developers. So, I have my own list, it’s a bare minimum required skills list and it looks like this:
- A basic understanding of how the internet works and HTTP requests (GET, POST, PUT, PATCH and DELETE) and the basic response codes (200, 404, 500)
- HTML - W3Schools HTML
- CSS - W3Schools CSS
- A CSS frameworks like Tailwind or Bootstrap
- JavaScript - W3Schools JS - yes just one language, it’s the only viable option for frontend so just use it on the backend as well.
- Package manager like npm - @allthecode npm overview
- NodeJS - W3Schools NodeJS and ExpressJS
- React
- React Component library like MaterialUI
- Git version control - W3Schools Git
- Know enough about security to know that you don’t know enough about security (CORS, HTTPS, Content Security Policy) - Web Dev Security Basics
- A database technology (pick a or b)
- a) MySQL is a great started RDBMS - W3Schools SQL
- b) MongoDB is the primary NoSQL database technology - University Mongodb
- How to make a REST API in NodeJS and Express
- Docker and containerization - this is a more advanced topic however having an awareness of Docker and the basics of a Docker file would be a big ✅
- Awareness of testing with Jest for Javascript.
- Understanding of Linux commands and some basic OS principles.
Absolutely required items are in bold.
Being full stack is not about being an expert in all of these, it is about knowing enough to get a system up and running, being able to search for the right things on Google and have a sensible conversation with someone who is an expert in their respective areas. You need to be a good, well rounded developer but you don’t need to be expert in every field!