Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bootdotdev/curriculum

An open roadmap for Boot.dev's backend development curriculum
https://github.com/bootdotdev/curriculum

algorithms computer-science curriculum educational golang javascript python students

Last synced: 25 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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.](https://boot.dev)

### Section 1: Programming and CS Fundamentals (Python)

| Course Name | Python Option Link |
| ----------------------------- | ------------------------------------------------------------------------ |
| Learn Coding Basics | [Python](https://www.boot.dev/courses/learn-python) |
| Learn Shells and Terminals | [Bash/Zsh](https://www.boot.dev/courses/learn-shells-and-terminals) |
| Learn Git | [Git](https://www.boot.dev/courses/learn-git) |
| Build a Bookbot | [Python](https://www.boot.dev/courses/build-bookbot) |
| Learn OOP | [Python](https://www.boot.dev/courses/learn-object-oriented-programming) |
| Build an Asteroids Game | [Python](https://www.boot.dev/courses/build-asteroids) |
| Learn Functional Programming | [Python](https://www.boot.dev/courses/learn-functional-programming) |
| Build a Static Site Generator | [Python](https://www.boot.dev/courses/build-static-site-generator) |
| Learn Algorithms | [Python](https://www.boot.dev/courses/learn-algorithms) |
| Learn Data Structures | [Python](https://www.boot.dev/courses/learn-data-structures) |
| Build a Maze Solver | [Python](https://www.boot.dev/courses/build-maze-solver-python) |
| Learn Memory Management | [C](https://www.boot.dev/courses/learn-memory-management) |
| Personal Project 1 | [Your choice](https://www.boot.dev/courses/build-personal-project-1) |

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

| Course Name | Go Option Link | JS/TS Option Link |
| ----------------------- | --------------------------------------------------------------- | ------------------------------------------------------- |
| Learn Language 2 | [Go](https://boot.dev/courses/learn-golang) | [JavaScript](https://boot.dev/courses/learn-javascript) |
| Learn Language 3 | _skip_ | TypeScript |
| Build an X | Go | TypeScript |
| Learn HTTP Clients | [Go](https://boot.dev/courses/learn-http-clients-golang) | TypeScript |
| Build a Pokedex | [Go](https://boot.dev/courses/build-pokedex-cli) | TypeScript |
| Learn SQL | [SQL](https://boot.dev/courses/learn-sql) | _same_ |
| Build a Blog Aggregator | [Go](https://boot.dev/courses/build-blog-aggregator) | TypeScript |
| Learn HTTP Servers | [Go](https://boot.dev/courses/learn-http-servers) | TypeScript |
| Learn Buckets and CDNs | Go + S3 + Cloudfront | TypeScript |
| Learn Docker | [Docker](https://boot.dev/courses/learn-docker) | _same_ |
| Learn CI/CD | [Docker + GitHub Actions](https://boot.dev/courses/learn-ci-cd) | _same_ |
| Learn Web Security | Go | TypeScript |
| Capstone Project | [Your choice](https://boot.dev/courses/build-capstone-project) | _same_ |
| Learn to Find a Job | [Job Search](https://www.boot.dev/courses/learn-job-search) | _same_ |

### Section 3: Going Deeper (optional)

| Course Name | Primary Language Link | Secondary Language Link |
| --------------------------- | ------------------------------------------------------------ | ----------------------- |
| Learn Git 2 | [Git 2](https://www.boot.dev/courses/learn-git-2) | _same_ |
| Learn the HTTP Protocol | Go | TypeScript |
| Learn Kubernetes | [Kubernetes](https://www.boot.dev/courses/learn-kubernetes) | _same_ |
| Learn PubSub Architectures | [Go](https://www.boot.dev/courses/learn-pub-sub) | _none_ |
| Learn Algorithms 2 | [Python](https://boot.dev/courses/learn-advanced-algorithms) | _none_ |
| Learn Cryptography | [Go](https://boot.dev/courses/learn-cryptography) | _none_ |
| Learn Server Administration | Linux/Standard VPS | _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 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](https://blog.boot.dev/about/).

## 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](https://blog.boot.dev/contact/). We're most responsive on Discord, but you can also find us on Twitter.

- [Twitter](https://twitter.com/bootdotdev)
- [Discord](https://boot.dev/community)