Roadmap
Backend Developer
Backend work is mostly about data: accepting it, validating it, storing it correctly and handing it back quickly. This route uses Python as the teaching language, then spends most of its length on the things that are the same in every backend language — request handling, API design, databases, authentication and failure. The steps assume you would rather understand why a design is chosen than memorise one framework's syntax.
6 stages · 34 steps
Who this is for
New programmers heading for a server-side role, and frontend or scripting developers who want the database and API layer to stop being someone else's territory.
A language you can write fluently
Write and debug small programs on your own, with functions, collections and errors handled deliberately.
- Language guidePythonUsed here because its syntax gets out of the way; the concepts transfer to Java, Go, C# or Node.
- LessonPython FunctionsA request handler is a function; arguments and return values are the whole job.
- LessonPython ListsOrdered collections: the shape an array in a request body, or a page of database rows, arrives in.
- LessonPython DictionariesKey-value data is what JSON bodies and database rows become in memory.
- ExercisesPython exercisesTen exercises that each check your own code, so you find out what you actually know.
- PlaygroundPython playgroundFor testing a line before you put it in a file.
Program design a second reader can follow
Structure code into functions and types on purpose, and decide deliberately what happens when something goes wrong.
- Concept guideFunctions and ScopeWhere a name is visible is the root of a surprising share of backend bugs.
- Concept guideObject-Oriented ProgrammingMost backend frameworks hand you classes whether you like them or not.
- Concept guideError HandlingA server cannot crash on bad input; this is where you decide what it does instead.
- Concept guideInheritance and PolymorphismRead after classes, so the trade-offs land rather than the vocabulary.
HTTP and APIs
Design an endpoint someone else can call without asking you questions, and explain your choices.
- Concept guideHTTP and HTTPSMethods, status codes and headers are the vocabulary the rest of this stage uses.
- Concept guideREST APIsThe default shape for a backend interface, and the one interviews assume.
- Concept guideNode.js and ExpressA concrete server framework to hang the ideas on, even if you end up in another language.
- Concept guideGraphQLWorth knowing as an alternative, and worth knowing when it is the wrong choice.
- Concept guideWebhooksHalf of real integration work is receiving calls rather than making them.
- Developer toolJSON Formatter & ValidatorFor inspecting a payload that is not doing what you expected.
- Interview prepBackend & API interview questionsRead these early: they show which parts of the stage above get asked about.
Storing the data
Write queries you trust, choose a store for a stated reason, and know what an index and a cache actually buy you.
- Language guideSQLNearly every backend job touches a relational database, whatever else is in the stack.
- PlaygroundSQL playgroundRun queries against a small database in the browser rather than reading about them.
- Concept guideSQL vs NoSQLSo the choice is a decision you can defend, not a habit.
- Concept guidePostgreSQLA specific, widely used relational database, with its indexing and transaction behaviour.
- Concept guideORM ConceptsRead this after SQL, not before, or the ORM will hide things you needed to see.
- Concept guideCaching StrategiesThe first answer to a slow endpoint, and the source of the next class of bugs.
- Concept guideRedisWhere a lot of that caching, plus queues and rate limits, actually lives.
Authentication, secrets and the attacks you will meet
Explain the difference between who someone is and what they may do, and handle credentials without leaking them.
- Concept guideAuthentication vs AuthorizationThe distinction every access-control bug comes from.
- Concept guideJWT and OAuthThe mechanics most APIs use to carry an identity between calls.
- Developer toolJWT DecoderLook inside a token yourself; it makes the previous step concrete.
- Concept guideCommon Web VulnerabilitiesInjection and broken access control are backend problems before they are anyone else's.
- Concept guideSecrets and Credential ManagementWhere the database password is allowed to live, and where it is not.
Running it, and interviewing about it
Talk about deployment, load and failure with a real vocabulary, and handle the algorithm round too.
- Concept guideDocker and ContainersHow your service is packaged before anyone runs it anywhere.
- Concept guideMessage QueuesThe standard answer to slow work that should not happen inside a request.
- Interview prepDatabase interview questionsIndexes, transactions and normalisation — the stage above, asked back to you.
- Interview prepSystem Design interview questionsOpen-ended rounds start appearing as soon as you are not applying as a complete beginner.
- Interview prepCoding & DSA interview questionsPair these with the practice problems so the theory has code attached.
Projects to build along the way
Briefs in the languages this roadmap uses.
- Number guessing gameHide a number, read guesses one line at a time, and say higher or lower until it is found.
- Gradebook reportTurn a list of students and scores into an aligned table with averages and letter grades.
- Corner shop sales reportBuild a two-table shop database from scratch, then answer six real questions about it in SQL.
- Text adventure driven by dataA small explorable world where the rooms live in a data structure, not in a chain of if statements.
- REST API for a notes appA small HTTP API with a real database behind it, honest status codes, and tests that hit every route.
- Mini search engineAn inverted index over your own documents, with ranking you can justify term by term.
Interview topics for this role
What you will need to learn elsewhere
This site cannot teach everything this role involves. Plan for these too:
- Running a database you are responsible for: migrations, a backup, and a restore you have actually tested.
- One backend framework's official tutorial, end to end — Django, FastAPI, Spring, Express, Rails or whatever your target job lists.
- Deploying a service and keeping it running: logs, metrics, an alert at an inconvenient time, and writing up what happened afterwards.
- Writing tests you rely on, including the awkward parts: fixtures, test data, and a test suite that stays fast.
- Working in an existing team codebase, with its conventions, its legacy module and its code review.
- One cloud provider's specifics, its documentation and its pricing model.
- Building and deploying a project of your own design, where nobody has told you what the endpoints should be.