DEV Community

Dan
Dan

Posted on

Mastering Full Stack Development

Full stack development is the practice of being proficient in both the front-end and back-end aspects of web application development. A full stack developer is capable of working on all layers of a software application, from the user interface and user experience (front-end) to the server, database, and server-side logic (back-end). This versatility allows them to create and maintain complete web applications independently or as part of a development team.

roadmap.sh full stack roadmap

At roadmap.sh, we have a comprehensive learning roadmap that will guide you through all stages of your journey to mastering Full-Stack development.

HTML

HTML stands for HyperText Markup Language and is used as the basis of a website structure. Image HTML as the skeleton, it holds everything in place but doesn't look too nice and can't do much on its own.

CSS

CSS stands for Cascading Style Sheets and is responsible for transforming a simple HTML webpage into a visual feast for the eyes. With HTML and CSS you're 66% of the way to a beautiful, interactive webpage.

JavaScript

JavaScript, commonly referred to as just "JS", is a programming language that powers client-side webpage behaviour. If HTML and CSS are the skeleton and clothing, then JS will be the muscles that allow everything to move and interact with the world.

npm

npm stands for Node Package Manager and is a free, opensource registry of JavaScript packages. npm is the default package manager for NodeJS and is used by millions of developers worldwide.

Git

Created by the godfather of Linux, Linus Torvald, Git is the powerhouse behind allowing developers to collaborate all over the world. The main purpose of Git is to control source code and allow versioning of files which enables multiple, disconnected people, to contribute to a code base effectively.

GitHub

GitHub is the most popular developer platform that allows users to create, store, manage and share their code as well as many other functionalities. GitHub currently has 184,346,176 users as of writing this and gains almost 100k daily.

Tailwind

Tailwind CSS is an opensource, utility-first CSS framework that comes with hundreds of pre-built classes such as bg-white that can be added directly to HTML or JSX in order to speed up development.

Node.js

Node.js is a cross-platform, open-source runtime environment that allows JavaScript to run outside the web browser. Built on the V8 JavaScript engine, it supports operating systems like Windows, Linux, Unix, and macOS and enables developers to use JavaScript for server-side scripting and build command-line tools.

PostgreSQL

PostgreSQL is a powerful, open-source Object-Relational Database Management System (ORDBMS) that is known for its robustness, extensibility, and SQL compliance. It was initially developed at the University of California, Berkeley, in the 1980s and has since become one of the most popular open-source databases in the world.

RESTful APIs

A RESTful API is a programming interface that allows two machines to communicate securely over the internet. Most APIs from social media sites that connect to third-party tools are RESTful in nature.

JWT Auth

JWT (JSON Web Token) authentication is a method for securely exchanging information between a client and server using a token. After a user logs in, the server generates a JWT containing encoded user data and sends it to the client. The client stores this token and includes it in the header of future requests to authenticate itself. The server then verifies the token to identify the user and authorize access without needing to maintain session data, making JWTs efficient and scalable for modern applications.

Redis

Redis is a very popular, source-available, in-memory data store that can be used as a database, caching system or message broker.

Linux Basics

Understanding how to navigate Linux is a key skill required for full stack developers given the need to troubleshoot and maintain servers, containers and clusters.

Knowing the file structure, navigation commands and file manipulation is a skill that will allow you to move around freely in Linux.

Basic AWS Services

Basic AWS Services include EC2, S3, Route54, EKS and Secrets Manager and knowing what these services do and how to access them is an important skill. Many services will be deployed using IaC but knowing how to troubleshoot and access the services with API and Console is crucial.

GitHub Actions

GitHub Actions are a workflow automation feature on the GitHub platform that allows you to build, test and deploy your code straight from where it is stored.

Ansible

Ansible is a powerful Configuration Management tool from Red Hat that allows you to define infrastructure imperatively although, with the many modules now available, Ansible can also be declarative.

Terraform

Terraform, developed by Hashicorp is a declarative Infrastructure as Code tool that helps to deploy and safely maintain infrastructure due to its stateful nature.

Mastering full stack development is a long journey that involves many different domains, attempting to learn all areas in one go will end in disaster, at roadmap.sh we provide a guided roadmap to help you learn this role one domain at a time.

Check out roadmap.sh/full-stack to get started!

Top comments (0)