Backend development
Build reliable server-side applications by mastering HTTP, a web framework, relational data, API design and the caching, messaging and architecture choices behind scalable systems.
Intermediate 13 steps
Steps
HTTP and the server side
-
HTTP in depthStudy requests, responses, headers, cookies and connection behaviour, since every backend decision ultimately travels over HTTP.
-
High Performance Browser Networking
hpbn.cofree
Free online book by Ilya Grigorik detailing TCP, UDP, TLS, HTTP/2, and modern networking protocols vital for backend performance.
-
MDN Set-Cookie Reference
developer.mozilla.orgfree
Reference page on the HTTP Set-Cookie header describing its attributes such as SameSite, Secure and HttpOnly, for web developers managing sessions.
-
High Performance Browser Networking
hpbn.cofree
-
A first web frameworkBuild a small application with routing, templates and middleware in one mainstream framework to learn the request lifecycle.
-
MDN Express and Node.js Tutorial
developer.mozilla.orgfree
Comprehensive tutorial by Mozilla covering server-side programming concepts using Node.js and the Express framework.
-
Node.js
nodejs.orgfree
Open-source, cross-platform JavaScript runtime environment executing JavaScript code outside a web browser.
-
Django
djangoproject.comfree
High-level Python web framework that encourages rapid development and clean, pragmatic design.
-
FastAPI
fastapi.tiangolo.comfree
Modern, high-performance web framework for building APIs with Python based on standard type hints.
-
MDN Express and Node.js Tutorial
developer.mozilla.orgfree
-
Other server ecosystems (optional)Compare how enterprise stacks in Java and .NET structure the same concepts, useful when joining larger organisations.
-
Spring Framework
spring.iofree
Comprehensive programming and configuration model for modern Java-based enterprise backend applications.
-
ASP.NET Core Fundamentals
learn.microsoft.comfree
Official Microsoft documentation covering the core concepts of ASP.NET Core apps, including dependency injection, configuration, middleware, hosting and logging, for .NET web developers.
-
Spring Framework
spring.iofree
Working with data
-
Relational databases and SQLModel data in tables, write SQL queries and use transactions, the default storage choice for most backends.
-
PostgreSQL
postgresql.orgfree
A powerful, open-source object-relational database management system with a proven architecture for reliability and data integrity.
-
SQLite
sqlite.orgfree
A small, fast, self-contained, high-reliability C-language library implementing a full SQL database engine.
-
PostgreSQL
postgresql.orgfree
-
Indexes and query performanceLearn how indexes work and how to read query plans, the most common fix for slow endpoints.
-
Use The Index, Luke!
use-the-index-luke.comfree
A developer-oriented guide by Markus Winand explaining database indexing mechanics and SQL performance tuning.
-
Use The Index, Luke!
use-the-index-luke.comfree
-
Schema migrationsVersion database changes alongside code so every environment evolves safely and deployments stay repeatable.
-
Document and key-value stores (optional)Understand when document databases or in-memory stores fit better than relational tables, and what you give up.
-
MongoDB Manual
mongodb.comfree
Official documentation for the MongoDB document database, covering installation, data modelling, queries, indexing, replication and sharding for developers and administrators.
-
Redis
redis.iofree
An open-source, in-memory data structure store used as a distributed database, cache, message broker, and vector store.
-
MongoDB Manual
mongodb.comfree
Designing APIs
-
HTTP API designDesign consistent resources, validate payloads with schemas and plan versioning so clients can rely on your API.
-
JSON Schema
json-schema.orgfree
Home of the JSON Schema specification, with documentation, learning material and tool listings for developers who validate and describe JSON data structures.
-
Pragmatic API Versioning
fly.iofree
Archived article discussing practical strategies for versioning web APIs, including trade-offs between URL, header and date-based approaches, for backend and API developers.
-
Postman
postman.comfreemium
An API development and automated testing platform for designing, mocking, debugging, and monitoring HTTP endpoints.
-
JSON Schema
json-schema.orgfree
-
RPC with gRPC (optional)Explore contract-first remote procedure calls with Protocol Buffers, common for efficient service-to-service communication.
-
gRPC
grpc.iofree
Open source remote procedure call framework that uses Protocol Buffers and HTTP/2 to connect services across languages, widely used in microservice architectures.
-
gRPC
grpc.iofree
-
Configuration and secretsKeep configuration in the environment and out of code, following principles that make services portable and safe to deploy.
-
The Twelve-Factor App
12factor.netfree
A foundational methodology and best-practice guide for building scalable, maintainable cloud-native software applications.
-
dotenv
github.comfree
Widely used Node.js module that loads environment variables from a .env file into process.env, keeping configuration separate from application code.
-
The Twelve-Factor App
12factor.netfree
Scaling and architecture
-
Caching and messagingReduce load with caches and decouple services with event streams, two core tools for handling growth.
-
Redis
redis.iofree
An open-source, in-memory data structure store used as a distributed database, cache, message broker, and vector store.
-
Apache Kafka
kafka.apache.orgfree
A distributed event streaming platform used for high-performance data pipelines, streaming analytics, and data integration.
-
Redis
redis.iofree
-
Data-intensive systemsLearn the trade-offs of replication, partitioning and consistency, and study how real companies scaled their backends.
-
Designing Data-Intensive Applications
dataintensive.netpaid
An authoritative guide by Martin Kleppmann exploring principles of distributed databases, stream processing, and storage systems.
-
High Scalability
highscalability.comfree
Publication analyzing real-world backend architectures, scalability strategies, and system designs of top tech companies.
-
Designing Data-Intensive Applications
dataintensive.netpaid
-
Architecture and maintainabilityApply design patterns and architectural thinking so the codebase stays understandable and changeable as it grows.
-
Martin Fowler's Bliki
martinfowler.comfree
An influential software engineering blog providing in-depth analysis of programming practices, testing, and agile principles.
-
Refactoring.Guru
refactoring.gurufree
An educational guide clearly explaining software design patterns, code smells, and refactoring techniques with diagrams and examples.
-
Martin Fowler's Bliki
martinfowler.comfree
See also
External links, by their respective authors. This path is original IPL content.