DEV Community

Cover image for Full Stack Developer's Roadmap πŸ—Ί
ender minyard
ender minyard

Posted on • Edited on

Full Stack Developer's Roadmap πŸ—Ί

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!

Oldest comments (100)

Collapse
 
scroung720 profile image
scroung720

Thank you for sharing. I think it would be a good idea to add owasp.org/www-project-top-ten/ to the security section.

Collapse
 
ender_minyard profile image
ender minyard

done!

Collapse
 
hasone profile image
HasOne

Very Helpful Collection, thas for sharing it with!

Collapse
 
kateh profile image
Kate (she/her)

This is great! Thanks for sharing!

Collapse
 
devwhoruns profile image
devwhoruns

You can add concepts of SSO like SAML, OIDC etc.

Collapse
 
kisore99 profile image
Kisore Subburaman

Thanks a lot!

Collapse
 
salahyoumir profile image
salah youmir

Heart, Unicorn and Saved !
Thanks a lot, this is very helpful :)

Collapse
 
jep profile image
Jim

Excellent list. For the benefit of other folks who may be working in a company that uses different technologies for different groups, I recommend adding some information about Subversion (SVN) under Version Control. I was so used to git, but hadn't ever used SVN and it took some time to get out of the Git mindset.

There are two posts on DEV that may be of use :


Collapse
 
ender_minyard profile image
ender minyard

done!

Collapse
 
anraiki profile image
Anri

If you are new, and you are coming in here to see this.

I hope this isn't overwhelming to you.

Don't be discourage.

A Full-Stack Developer is more of a very long journey rather than this experience listed out here.

Collapse
 
ajax27 profile image
Shaun Collins

Totally agree!

Collapse
 
ankitmpatel profile image
Ankit Patel

Agreed!! That's why the roadmap requires achieving a long journey. I guess the author tries to convey!!

Collapse
 
iamrohitsawai profile image
Rohit Kiran Sawai • Edited

I can't say I'm newbie. I have fundamental knowledge of programming. When I saw above list I came to know I know very less. Till I complete this list, complete framework will change then in what way should I be full stack developer?

Collapse
 
aashiqincode profile image
Aashiq Ahmed M

But not the core na

Collapse
 
sumit profile image
Sumit Singh

I think it's more about learning the fundamentals of each phase. I think that's what you have also done when started programming. Learning basic fundamentals in any language and applying it in other languages.

Thread Thread
 
bhadresharya profile image
Bhadresh Arya

That's right. Frameworks will come and go. but the concept stays the same. If the core concept and fundamentals are learnt well then no language or no framework will be hard to understand.

Thread Thread
 
trangchongcheng profile image
cucheng

I agree

Collapse
 
hyperx837 profile image
Hyper

just following these things and "diving deep" into this topics will complete that long journey

Collapse
 
zachgoll profile image
Zach Gollwitzer

Totally agree. The additional point that I would add is that this list appears as separate concepts, but if you're building a production-ready application, you'll learn 80% of this list within the scope of a single project. I don't think they are meant to be learned in isolation (although sometimes this is necessary).

Collapse
 
sh20raj profile image
Sh Raj

Hey! πŸ‘‹ I’ve been exploring different ways to turn ideas into functional UI faster, and recently came across (and started using) SketchFlow β€” a tool that helps convert rough sketches or wireframes into clean HTML/Tailwind code. It's super handy when you want to focus on flow and layout before diving deep into styling or logic.

Still early days, but it’s been a neat productivity boost for me. Would love to know if anyone else has tried something similar β€” always curious about tools that speed up the dev-design loop! πŸ’‘

Collapse
 
ajax27 profile image
Shaun Collins

Great list, thanks

Collapse
 
pawelowczarekfalcon profile image
PaweΕ‚ Owczarek

Nice article, thanks :) ... but there is nothing about Frameworks. They are very important. Full-Stack Dev should know Spring Boot (JAVA) and Symfony (PHP) for creating REST APIs and Angular or React for Front End development. There is many topics covered which are less important than frameworks, that needed in work ;-).

Collapse
 
allestri profile image
Allestri

Not only Symfony but Slim is also great for creating simple API, as it names suggests, Slim is lightweight.
Design patterns such as MVC or ADR which the creator of Slim embraces ( I personally don't like it tho ) could be a plus.

Collapse
 
dabjazz profile image
Yash_Jaiswal

I've got the java developer roadmap
Core java(basic concepts, oops, collection framework, stream api)->advance java (servlets,JSP,JDBC)->build tool(maven/gradle)->framework (Spring/hibernate/play/grails etc)

Collapse
 
melvinkim profile image
Melvin Kimathi

Hey, could you share the Java roadmap

Collapse
 
lbeul profile image
Louis • Edited

I totally get your point, PaweΕ‚. From the Employability Aspect, it makes a lot of sense to focus on the latest frameworks and libraries. However - as a learning roadmap - the goal of this article may be to focus on teaching you the underlying concepts and principles modern web apps rely on. I think if you got this essential knowledge and understand what goes on "under the hood", it'll be easy for you to pick up new languages & frameworks.

Some comments may only be visible to logged-in visitors. Sign in to view all comments. Some comments have been hidden by the post's author - find out more