Backend Developer · path guide
Backend Developer: path guide
Read this before you start. It explains what the role is, what you'll be able to do at the end, which core lessons you need, how to set up your tools, what it may cost and how long it really takes.
The role
A backend developer builds the part of an app that runs on servers: the APIs that apps call, the database that keeps the records, and the services that pass work between each other. The job is more than making a route return data. It is making sure each caller sees only what they may see, that a repeated tap makes one order and not two, that a busy page stays fast at lunchtime, and that nothing is lost when a server restarts or a service goes down.
Everyday applications
- A food delivery API where customers see only their own orders and a weak network can't cause a double charge.
- A menu or product page that answers in milliseconds for thousands of people, and still shows the right price a second after a change.
- Sign-in with a phone app through OAuth 2 and OpenID Connect, without the app ever seeing a password.
- An order that reaches the kitchen or warehouse even though the messaging system was down for five minutes.
- A dashboard and alert that tell the team something is wrong before customers start complaining.
What you'll be able to do
By the end of the path you will be able to:
- PO1 Design APIs that last: resources, status codes, problem details, pagination, versions, idempotency and OpenAPI (BE1).
- PO2 Model data that stays correct with constraints, transactions, safe migrations, and careful money, time and IDs (BE2).
- PO3 Find and fix slow queries with query plans, indexes, N+1 fixes and connection pools, and know when to scale the database (BE3).
- PO4 Cache with Redis correctly: time-to-live, invalidation, stampede protection and a safe fallback when Redis is down (BE4).
- PO5 Add sign-in with OAuth 2 and OpenID Connect, and verify access tokens properly in an API (BE5).
- PO6 Protect an API against the OWASP API Security Top 10: ownership, validation, rate limits, secrets and personal data (BE6).
- PO7 Pass work between services through streams and queues with an outbox, idempotent consumers and dead letters (BE7).
- PO8 Decide when to split services, use gateways, and keep services up with timeouts, retries, breakers and stateless copies (BE8).
- PO9 Test with real dependencies, keep contracts between services, observe a live system and release changes safely (BE9).
- PO10 Combine all of this in three tested projects and a capstone on the TiffinBox practice kit (BE10).
The coverage of each outcome by lessons, quizzes and the path test is listed at the end of this guide.
How it compares with neighbouring paths
| Path | Main question | Overlap with this path | Working together |
|---|---|---|---|
| Frontend Developer | How do people see and use the product? | APIs, sign-in, error messages | You provide the API and its errors; they call it and show results and failures well |
| Cloud / DevOps Engineer | How do I run and release software reliably? | Containers, CI, health checks, scaling | They run the platform and pipelines; you make services that are stateless, observable and safe to restart |
| Data Analyst / Engineer | What do the numbers say, and how does data reach reports? | SQL, data models, events | You keep live data correct and publish events; they move it into reports and analysis |
| Cybersecurity Specialist | Where are the weaknesses, and how are they tested? | OWASP risks, secrets, sign-in | They test and review; you write the checks into every route |
| Software Architect / Tech Lead | How should the whole system fit together? | Service boundaries, trade-offs | They set direction across teams; you design and build services within it |
The difference in one line: other paths design the screens, run the platform or analyse the data; this path builds the server-side logic and data that everything else relies on, and proves it stays correct under load and failure.
Before you start: core lessons to know
The path opens after you pass the final examination. These core modules matter most; revisit them if the entry diagnostic shows a gap:
| You'll need | Core modules |
|---|---|
| Networks, ports and how the web works | Module 4, Module 5, Module 6 |
| JavaScript and asynchronous code | Module 17, Module 24 |
| APIs and JSON | Module 25 |
| Node.js and Express | Module 41, Module 42, Module 43 |
| Authentication and authorisation | Module 44, Module 74 |
| REST design, API security and documentation | Module 47, Module 48, Module 49 |
| Backend testing | Module 46 |
| SQL, transactions, indexes and PostgreSQL | Module 55, Module 56, Module 57, Module 60 |
| Web and API security, secrets | Module 75, Module 76, Module 77 |
| Operations, distributed systems and reliability | Module 72, Module 94, Module 96 |
Setup guide
Tested on 1 November 2026 on Linux. Versions change, so check each tool's official page when you install. The practice kit pins exact
package versions in its package.json, so npm install gives you the same ones.
| Tool | Version tested | What it's for | Cost for learning |
|---|---|---|---|
| Node.js and npm | 22 LTS (20.9 or newer works) | Running the API, services and tests | Free |
| PostgreSQL | 16.15 | The database (BE2 onwards) | Free, open source |
| Redis | 7.0.15 | Cache, rate limits and streams (BE4 onwards) | Free, open source |
| express, pg, ioredis, jose | 5.3.0, 8.23.1, 6.0.0, 6.2.14 | Web server, database, Redis and token libraries | Free, open source |
psql and redis-cli |
Come with PostgreSQL and Redis | Looking inside the database and Redis | Free |
curl |
Any recent version | Calling the API by hand | Free; built into most systems |
| A code editor | VS Code or any editor | Writing code | Free |
| Docker (optional) | 29.9.2 with Compose 5.6.1 | Starting PostgreSQL and Redis with the kit's docker-compose.yml |
Docker Desktop's terms vary by organisation size; check current terms. Not needed to pass |
Install:
- Install Node.js 22 LTS from nodejs.org. Check:
node -vprintsv22...andnpm -vprints a version. - Install PostgreSQL 16 and Redis 7 from their official sites or your system's package manager (on Windows, Redis runs well inside WSL).
Or, if you use Docker, run
docker compose up -din the kit folder. - Download the starter kit from this path's Projects page and unzip it. In a terminal, go to the
tiffinboxfolder. - Create the practice database user and database, as shown in
tiffinbox/README.md, then runnpm installandnpm run db:setup(about 10 seconds). - Run
npm run simandnpm run apiin two terminals, and openhttp://localhost:4000/health. You should see{"status":"ok","db":true,"redis":true}.
Verify your setup: run npm test. In the starter most tests fail on purpose (5 of 29 pass); what matters is that the test runner
starts, lists 29 tests and finishes. The queue tests stop services and cut Redis on purpose, so the whole run takes a few minutes.
Windows and macOS: we could only verify Linux on 1 November 2026 (both with locally installed services and with the kit's Docker
file), so Windows and macOS are marked "not verified" in the kit. Commands
that put a setting before npm run (such as RATE_LIMIT=40 npm run api) are for Linux and macOS; the kit's README gives the
PowerShell form.
Hardware and accounts
-
Computer: a laptop from the last 6 to 8 years with 8 GB of memory and about 2 GB of free disk space. 4 GB works, but running PostgreSQL, Redis and four services at once is slow.
-
No paid accounts are needed. The kit's kitchens, customers and orders are generated, and its sign-in server is a practice one with test users and no passwords. Nothing is charged or sent anywhere. It behaves like a typical identity provider for these tests, but passing them doesn't prove a real provider, payment service or production deployment works.
-
Optional: a GitHub account for CI (BE9), and a cloud free tier if you want to try a real managed database. Neither is needed to pass.
Workload
Times are realistic estimates for a learner who has finished the core programme. They are not measured averages.
| Part | Reading | Practice (Try it tasks) | Module assignment | Total |
|---|---|---|---|---|
| BE1–BE9 (each module) | about 2 hours | about 2 to 3 hours | about 3 to 4 hours | about 7 to 9 hours |
| BE1–BE9 together | about 18 hours | about 27 hours | about 32 hours | about 77 hours |
| BE10 capstone: the three projects and the capstone checks | about 2 hours | about 2 hours | about 40 to 50 hours | about 44 to 54 hours |
| Path test and revision | — | — | — | about 3 hours |
| Whole path | about 125 to 135 hours |
At 8 to 10 hours a week that is about 13 to 17 weeks.
How completion works
You complete the path when all of these are true, as shown on your completion record:
- every lesson is marked done;
- every module quiz is passed (70% or more);
- the path test is passed (70% or more);
- the three projects and the capstone are self-checked complete, with evidence links and your explanations.
Projects are self-checked for now: you tick the marking guide yourself and save your evidence on this device. Review by a team is planned for later; until then nothing on this site says a reviewer has approved your work. Progress is saved in this browser only, so download a backup from My progress now and then.
Outcome coverage
| Outcome | Taught in | Practised in | Assessed in |
|---|---|---|---|
| PO1 | BE1 lessons 1–5 | BE1 assignment | BE1 quiz; path test BE1 questions; Project 1 (problem details, idempotency) |
| PO2 | BE2 lessons 1–5 | BE2 assignment | BE2 quiz; path test BE2 questions; Project 1 (server pricing, unique keys); Project 3 (transactions) |
| PO3 | BE3 lessons 1–5 | BE3 assignment | BE3 quiz; path test BE3 questions; Project 2 (query count, index, load test) |
| PO4 | BE4 lessons 1–5 | BE4 assignment | BE4 quiz; path test BE4 questions; Project 2 (9 cache tests) |
| PO5 | BE5 lessons 1–5 | BE5 assignment | BE5 quiz; path test BE5 questions; Project 1 (token tests 2 to 6) |
| PO6 | BE6 lessons 1–5 | BE6 assignment | BE6 quiz; path test BE6 questions; Project 1 (ownership, validation, rate limit) |
| PO7 | BE7 lessons 1–5 | BE7 assignment | BE7 quiz; path test BE7 questions; Project 3 (7 queue tests) |
| PO8 | BE8 lessons 1–5 | BE8 assignment | BE8 quiz; path test BE8 questions; Project 2 (Redis-down fallback); Project 3 (killed consumers) |
| PO9 | BE9 lessons 1–5 | BE9 assignment | BE9 quiz; path test BE9 questions; capstone (29 tests, request logs, SLOs) |
| PO10 | BE10 lessons 1–5 | Projects 1–3 | BE10 quiz; path test BE10 questions; capstone self-check |
