Skip to content

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

  1. 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.

  2. 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.

  3. 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.

Working with data

  1. 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.

  2. 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.

  3. Schema migrationsVersion database changes alongside code so every environment evolves safely and deployments stay repeatable.
    • Flyway flywaydb.orgfreemium

      Open-source database migration tool strongly favoring simplicity and convention over configuration in version control.

    • Liquibase liquibase.comfreemium

      Open-source database schema change management tool that automates database migrations within CI/CD pipelines.

  4. 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.

Designing APIs

  1. 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.

  2. 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.

  3. 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.

Scaling and architecture

  1. 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.

  2. 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.

  3. 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.

See also

External links, by their respective authors. This path is original IPL content.