Skip to content

Repository files navigation


The entire course is in this repo. No signup, no video, no "part 2 coming soon".

16 chapters, each a single readable page. Every concept is language-agnostic — the ideas hold whether you write Node, Python, Go or Java. Every 🚨 is a trap that takes down real production systems.

16
chapters
130
interview questions
120+
glossary terms
~15,000
words, all in this repo

Contents

Each chapter is its own page. Click one and start reading.

The course

Chapter You'll learn
0 🌱 Foundations What a backend actually is, and what happens when you type a URL 2 min
1 🌐 HTTP Requests, responses, methods, status codes, cookies 3 min
2 🖥️ Servers & concurrency How one machine serves thousands of people at once 3 min
3 🔌 APIs Designing a contract other people build on 4 min
4 🗄️ Databases Modelling, indexes, EXPLAIN, transactions, race conditions 8 min
5 🔐 Security Auth, passwords, JWT, OAuth, and the bugs that cause real breaches 5 min
6 🔁 Caching & queues Serve it fast, do the slow work later 3 min
7 ⚡ Performance p95/p99, profiling, and where the time actually goes 3 min
8 🕸️ Reliability The network will fail. Design like it already has. 3 min
9 🚀 DevOps & deploys Containers, CI/CD, zero-downtime deploys 3 min
10 🧠 System design The method, the maths, and the classic problems worked through 3 min

The interview

Chapter What's in it
11 🎯 The interview round The 45 minutes minute-by-minute, what they grade, how people fail 2 min
12 📖 Backend glossary 120+ terms, each defined in one sentence 12 min
13 130 interview questions Design-X prompts, deep dives, concepts, estimation, trade-offs 14 min

Reference

Chapter What's in it
14 📋 Cheat sheets Status codes, latency numbers, a red-flag checklist 2 min
15 📚 Where to go next The best free resources, curated 2 min

⏱️ Only have 20 minutes?

Read these three and nothing else. They cover more real-world breakage than the rest combined:

Read this Because
1 Indexes Missing indexes cause more slowness than everything else put together
2 The N+1 query You have written this bug. You just don't know it yet.
3 Timeouts One slow dependency takes down your whole service without them

🧭 Pick your path

If you are… Start here Why
🌱 New to backend Chapter 0 · Foundations Starts at "what is a server". Assumes nothing.
🎨 A frontend dev switching over Chapter 1 · HTTP → then jump to Databases You already know HTTP from fetch(). Databases are the real gap.
🔧 Already shipping APIs DatabasesPerformance Fill the holes: indexes, transactions, N+1, p99
🎯 Prepping for interviews The interview round130 questions The method, then the full question bank
🚨 On call, something's broken Reliability Timeouts, retries, circuit breakers, the outbox
🧠 Just want the vocabulary Glossary 120+ terms, one sentence each

Why this exists

Most backend tutorials teach you a framework. You finish, you can wire up an Express route, and you still can't answer "why is this slow?" or "what happens when two people click Buy at the same time?"

BackendPath teaches the concepts underneath — the ones that stay true whether you write Node, Django, Spring or Go.

The promise: finish this and you can look at any backend, in any language, and know roughly how it works and where it will break.

A taste of what that means in practice — from Chapter 4 · Databases:

- ❌ BEFORE
  Limit  (actual time=142.318..142.325 rows=20)
    ->  Sort
          ->  Seq Scan on orders                  ← read the WHOLE table
                Filter: (user_id = 42)
                Rows Removed by Filter: 1988688   ← threw away 2 MILLION rows 😱
  Execution Time: 142.401 ms

+ ✅ AFTER  (CREATE INDEX ON orders (user_id, created_at DESC))
  Limit  (actual time=0.031..0.038 rows=20)
    ->  Index Scan using orders_user_id_created_at_idx on orders
          Index Cond: (user_id = 42)              ← walked straight to them
  Execution Time: 0.061 ms                        ← 2,300× faster

🌐 Prefer it as a website?

The same material also runs as an interactive site — backend.nextjoblist.com — free, no signup. It adds 68 lessons with quizzes, progress tracking, ⌘K search, and every code example switchable between JavaScript, Python, Go and Java.

A lesson page: docs sidebar, reader, and an 'On this page' rail
Lessons — docs layout, TOC, quizzes, 4 languages
The 130-question system design bank
130 interview questions — each linked to where to learn it
The roadmap: 11 stages, 68 lessons, with your progress tracked
The roadmap — 11 stages, 68 lessons, your progress tracked
Run it yourself
npm install
npm run dev        # → http://localhost:5173
Command
npm run dev dev server
npm test 31 tests
npm run build production build → dist/

Content is data; the app is a renderer. Lessons are plain Markdown in public/content/, listed in roadmap.json:

{
  "id": "my-lesson",                  // → /lesson/my-lesson
  "title": "My Lesson",
  "file": "01-http/my-lesson.md",
  "estMinutes": 8,
  "quiz": [{ "q": "", "options": ["A", "B"], "answer": 1, "explain": "" }],
  "resources": [{ "title": "", "url": "", "type": "docs", "note": "" }]
}

Put fenced code blocks for different languages next to each other and they render as one tabbed component (js · python · go · java).

The Pro Shelf reference pages live in src/pages/pro/, built from the vocabulary in ProKit.tsx.


Concepts, not frameworks.

Frameworks change every three years. The request lifecycle, indexes, transactions, caching, idempotency and failure modes don't.

Learn those, and you can pick up any backend, in any language, and know roughly how it works — and where it will break.



If this helped you, ⭐ the repo so the next person finds it.

About

Learn backend engineering from zero to system design — free. 68 lessons, 36 reference pages, 130 system-design interview questions and a 120-term glossary. Databases, APIs, security, caching, performance, reliability, DevOps.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages