Backend Development

The backend is where a product's rules live. It decides who can do what, validates every input, coordinates the database, calls third-party services, and returns responses that clients trust. Users never see it directly, but every bug, slowdown, and outage they feel usually starts there.

This hub focuses on building server applications: choosing a framework, structuring code, talking to databases through an ORM, handling errors, accepting files, and taking payments. The contracts your backend exposes live in APIs & Integration, and asynchronous work lives in Messaging & Event Streaming.

TL;DR

Anatomy of a Backend Request

Featured Topics

Node.js & TypeScript

Python

JVM, Ruby, PHP, Elixir & Rust

Cross-Cutting Concerns

Choosing a Framework

Common Mistakes

🚫 Fat controllers — Business logic inside route handlers can't be reused or tested in isolation.

🚫 Trusting the ORM blindly — A loop that lazily loads relations fires hundreds of queries. Check the SQL.

🚫 Swallowing errors — catch (e) {} turns a loud bug into silent data corruption.

🚫 Doing slow work in the request — Sending emails or resizing images inline ties up workers. Use background jobs.

🚫 Charging cards without idempotency — A client retry after a timeout double-charges. See Idempotency.

Learning Path

Beginner

Build a CRUD service with one framework, a relational database, and input validation. Learn HTTP status codes and structured error handling.

Intermediate

Add authentication, an ORM with migrations, caching, file uploads, and background jobs. Write integration tests.

Advanced

Integrate payments end to end, instrument the service with logging and tracing, and split responsibilities along domain boundaries.

Related Topics