/curriculum

An open roadmap for Boot.dev's backend development curriculum

Boot.dev's Backend Developer Learning Path

⭐ Hit this repo with a star if you find the roadmap useful! ⭐

This is a living roadmap for Boot.dev's free-to-read computer science program for backend developers.

Section 1: Programming and CS Fundamentals (Python)

Course Name Python Option Link
Learn Coding Basics Python
Learn Shells and Terminals Bash/Zsh
Learn Git Git
Build a Bookbot Python
Learn OOP Python
Build an Asteroids Game Python
Learn Functional Programming Python
Build a Static Site Generator Python
Learn Algorithms Python
Learn Data Structures Python
Build a Maze Solver Python
Learn Memory Management C
Personal Project 1 Your choice

Section 2: Backend Web Development (Go or JS/TS)

Course Name Go Option Link JS/TS Option Link
Learn Language 2 Go JavaScript
Learn Language 3 skip TypeScript
Build an X Go TypeScript
Learn HTTP Clients Go TypeScript
Build a Pokedex Go TypeScript
Learn SQL SQL same
Build a Blog Aggregator Go TypeScript
Learn HTTP Servers Go TypeScript
Learn Object Storage and CDNs Go + S3 + Cloudfront TypeScript
Learn Docker Docker same
Learn CI/CD Docker + GitHub Actions same
Learn Web Security Go TypeScript
Capstone Project Your choice same
Learn to Find a Job Job Search same

Section 3: Going Deeper (optional)

Course Name Primary Language Link Secondary Language Link
Learn Git 2 Git 2 same
Learn the HTTP Protocol Go TypeScript
Learn Kubernetes Kubernetes same
Learn PubSub Architectures Go none
Learn Algorithms 2 Python none
Learn Cryptography Go none
Build a Web Crawler Go TypeScript

Courses we're thinking about adding

  • Learn Functional Programming 2 (OCaml)
  • Learn Computer Architecture and Hardware (ARM)
  • Learn Distributed Systems (Go)
  • Learn Computer Networking (Go)
  • Learn NoSQL Databases (???)
  • Learn Performance Engineering (Go)
  • Learn Infrastructure as Code (Terraform)
  • Learn Logging and Telemetry (Go)
  • Learn Clean Code (Go)
  • Learn Discrete Math for Programmers (Go)
  • Learn Operating Systems (???)
  • Learn Compilers (Go)
  • Learn Server Administration (Linux/Standard VPS)
  • Learn Computational Theory (???)
  • Learn Artificial Intelligence (Python)
  • Learn Machine Learning (Python)
  • Learn GraphQL
  • Learn Cyber Security
  • Learn AWS/GCP/Azure
  • Learn NLP

Will you teach anything besides backend?

Yes. For now, we're still focused on having the absolute best curriculum and platform for budding backend developers. And we're prioritizing making it available in more languages, but we plan to then branch out to other career goals. Likely next candidates include:

  1. Data Engineering
  2. DevOps / Infrastructure
  3. Embedded
  4. Game Dev
  5. Cyber Security
  6. Front End (lol jk)

Philosophy

You can read about our approach to learning here.

Should I start learning even though the program is not "complete"?

Yes you should get started - this program will always be improving and never be "complete". This curriculum will never be "complete" in the same sense the YouTube will never be "complete" - there is new content all the time. We care deeply about the quality of this program and will always be improving and adding to it.

👏 Contribute

We love feedback on how we can improve the curriculum! The recommended way to help is to submit issues here on GitHub. If you just want to talk about some ideas, contact us directly using one of the methods below.

💬 Contact

If you would like to discuss the project feel free to contact us at Boot.dev. We're most responsive on Discord, but you can also find us on Twitter.