Backend engineering
A backend is not just an HTTP handler connected to a database. It is a set of boundaries: which inputs are trusted, where invariants are enforced, how state changes, and what evidence remains after a failure.
Start with the service boundary
A maintainable service should make four things easy to answer:
- What does the service own?
- Which operations can change that state?
- Which failures are safe to retry?
- How can an operator prove what happened?
The first article applies these questions to a small Go service without turning it into a framework.
Articles
- Designing a small Go service — separate transport, business rules, persistence, and runtime configuration while keeping the code navigable.
Planned series
- PostgreSQL schema and migration design
- Sessions, cookies, and authorization boundaries
- Idempotency and safe retries
- Caching without hidden inconsistency
- Logs, metrics, traces, and health checks
- Docker and reverse-proxy deployment