DEV Community

Hanzla Baig
Hanzla Baig

Posted on β€’ Originally published at dev.to on

124 6 7 8 9

Full Stack Developer's Roadmap πŸ—Ί

Note: Leave a comments, reactions and share with fellow developers
It's easy to focus on the front end of web development, but what about the back end? Learning about the back end improves your front end skills.

Here are some resources for full stack development that you can save for later.

Table Of Contents

πŸ’» How The Internet Works

πŸ”š Advanced Front End

πŸ–₯ Operating Systems

πŸ“• Languages

πŸ–² Version Control

πŸ““ Database Concepts

πŸ“” Relational Databases

πŸ“— NoSQL Databases

πŸ“¨ APIs

♻️ Caching

πŸ”’ Security

πŸ§ͺ CI/CD

πŸ“™ Development Concepts

🏯 Software Architecture

🧊 Containers

πŸ“¬ Servers

βš–οΈ Scalablity

How The Internet Works πŸ’»

✨ What happens when you go to google.com?

πŸŽ‰ Introduction to Networks

πŸ’« Browser Networking

🎊 IP Addressing

⭐️ HTTP/2

Advanced Front End πŸ”š

✨ HTML & CSS

πŸ’« JavaScript

Operating Systems πŸ–₯

✨ Using the command line

πŸŽ‰ What is an operating system?

πŸ’« Memory

🎊 Unix Programming

⭐️ Bash-Scripting Guide

Languages πŸ“•

✨ Know PHP

πŸŽ‰ Learn Ruby

πŸ’« Learn Rust

🎊 Learn Go

⭐️ Know Server-Side JavaScript

Version Control πŸ–²

✨ A Visual Git Reference

πŸŽ‰ Visualizing Git Concepts with D3

πŸ’« Github Cheat Sheet

🎊 SVN

Database Concepts πŸ““

🌟 Object-Relational Mapping

πŸŽ‰ ACID

πŸ’« N+1 Problem

β˜„οΈ Sharding

✨ CAP Theorem

πŸ’₯ Normalization

🌟 Indexes

Relational Databases πŸ“”

✨ Theory of Relational Databases

πŸŽ‰ Learn MySQL

πŸ’« Learn PostgreSQL

🎊 Learn MariaDB

🌟 Learn MS SQL

NoSQL Databases πŸ“—

✨ Learning MongoDB

πŸŽ‰ Learn CouchDB

πŸ’« NoSQL Databases

🎊 Graph Databases

APIs πŸ“¨

⭐️ Working with APIs

πŸ’₯ REST

πŸ’‘ GraphQL

β˜„οΈ JSON-RPC

πŸŽ‰ HATEOAS

Caching ♻️

✨ HTTP caching

β˜„οΈ Redis

⭐️ Memcached

πŸš€ Service workers

Security πŸ”’

✨ HTTPS + TLS

πŸŽ‰ CORS

πŸ’« MD5

🎊 SHA-2

πŸ’‘ SCrypt

πŸ’₯ BCrypt

β˜„οΈ OWASP

CI/CD πŸ§ͺ

✨ Testing your code

πŸŽ‰ Jenkins

πŸ’« TravisCI

Development Concepts πŸ“™

β˜„οΈ SOLID

⭐️ KISS

πŸ’₯ YAGNI

✨ DRY

πŸŽ‰ Domain-Driven Design

🌟 Test Driven Development

Software Architecture 🏯

πŸ’« Microservices and Service Oriented Architecture

🎊 CQRS

⭐️ Serverless

Containers 🧊

✨ Docker Fundamentals

πŸŽ‰ Docker Cookbook

πŸ’« Kubernetes Cookbook

Servers πŸ“¬

β˜„οΈ Nginx Handbook

πŸ’‘ Apache

πŸ’₯ Caddy

Scalability βš–οΈ

πŸ’« Distributed Systems

β˜„οΈ System Design Primer

✨ Real-World Maintainable Software

πŸŽ‰ The 12 Factor App

🌟 Architecting Frontend Projects To Scale

This was inspired by a different post. In the other post, I wanted the author to provide resources for the topics they mentioned, so I made my own post. ✨

If you think I missed any resources in this post, comment them below!

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (31)

Collapse
 
adriant_ct profile image
Adrian Tregoning β€’

I think when a new comer looks at a list like this it's extremely intimidating and they'd be right. However I find this sort of list does more harm than good. You don't need to know half of these things. To simplify this you could take a path of learning Java, then MySQL. Then start joining the two together with JDBC. You'll start to encounter problems in complexity but then enter Hibernate. The next step would be creating a basic front end with HTML and CSS and then join that to your Java and MySQL with servlets, after that use JSP's and add on some JS too eventually.

Although this may be old fashioned, you'd be surprised by how many large companies still just use Java 8 for example. There's the world the internet makes things out to be, and then reality. I say this because I am self taught (coming from a mechanical engineering background 20 years ago) and have now changed careers.

There is nothing to truly gain by learning 4 different types of databases, do 1, learn it well. Again, no point learning Go, Rust, Ruby etc. Not all of them. Focus on one language. See what your area offers in terms of jobs. You'll save yourself not only the time, but ultimately many folks give up because it's too overwhelming - because the internet is saying learning all of this, when in reality you don't need to.

Collapse
 
dansasser profile image
Daniel T Sasser II β€’

Wow! I love the layout and the traction you got on this post. What a great way to boost SEO for other articles you link to. Although I wouldn't call this an article but a curated link list.

Collapse
 
sanvi_d445b493c0f35615e8c profile image
Sanvi β€’ β€’ Edited

I just wanted some guidance from you, as a complete beginner in coding should I start by learning web dev or start by learning python and then move to data science?

Collapse
 
ravi_vidyavanth profile image
Ravi Vidyavanth Shetty β€’

great effort
u bring almost everything under one roof.
thank u

Collapse
 
cvazcosta profile image
Carlos Vaz da Costa β€’

Nice! I'll save for later since I'm starting my full stack journey this year! :D

Collapse
 
riccardobasile profile image
Riccardo Basile β€’

We really need another useless list of concepts?
Anyone can find more lists like this one on the internet with one simple google search.

We really need another useless article??
In the last year this platform become the place for new writers: a lot of copy/paste articles just to fill the space, as it was a writing bootcamp.

We really need to degradate this platform like this?
This place is becoming a pile of s**t - it's not that beautifull and informative place that was before.
At the moment the chance to find a usefull article is about 5%, the rest is wasted server space.

Collapse
 
dansasser profile image
Daniel T Sasser II β€’

I would be curious if you thought the same about my articles? I spend time researching and then I spend a lot of time on outlines and drafts. So mine are definitely not copy and paste but they are though piece on current technology. I do get your point. I sometimes wonder how some of these articles make it in my Google news feed.

Collapse
 
papercoding22 profile image
Paper Coding β€’

Even now, we can ask ChatGPT for that. What we really need is something more unique, like different perspectives and a practical path of experienced man.

Personally, I think studying by project-based is a good approach because at the end of the day, we need to use the knowledge to solve real-world problems. Even if starting by a TODO app, we can scale it in many way.

Collapse
 
evan9523 profile image
devevan β€’

Awesome. Really grateful for this list

Collapse
 
lurodriguez profile image
L RodrΓ­guez β€’

This is pure gold!

Collapse
 
ctsl_db3e83f profile image
Chamod Theekshana β€’
Collapse
 
sakrad_cmmi_111f1a88c5c47 profile image
Sakrad CMMI β€’

Thanks for sharing!

Collapse
 
brendon_mangisi_1882f56fa profile image
Brendon Mangisi β€’

Thank you

Some comments may only be visible to logged-in visitors. Sign in to view all comments.

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

πŸ‘‹ Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Communityβ€”every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple β€œthank you” goes a long wayβ€”express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay