Back-End Development course

Key takeaways.

  1. The backend is the enforcement layer: it validates, authorises, and applies business rules independent of the browser.

  2. A clean request lifecycle reduces bugs: auth > validate > logic > data > response.

  3. Databases need modelling discipline: entities, identifiers, constraints, and referential integrity.

  4. Normalisation vs denormalisation is a trade-off; decide based on query patterns and evidence.

  5. Indexing speeds reads but costs writes and storage, measure and tune, don’t guess.

  6. APIs should be predictable: resource naming, pagination by default, controlled filtering/sorting, and explicit versioning.

  7. Error handling is part of design: stable codes/types, safe messages, and request IDs for debugging.

  8. Auth and authorisation are different problems; least privilege and role discipline prevent accidental exposure.

  9. Storage, caching, CDNs, and queues improve performance, while retries and idempotency protect correctness.

  10. Reliable systems ship safely: dev/stage/prod separation, small releases, monitoring, incident learning, and targeted tests (boundaries first).

 

In-depth breakdown.

Back-End (Server-Side) Development [WC - C12] frames the backend as the system that enforces truth: it validates requests, protects ownership, and applies business rules consistently, regardless of what the browser claims. It starts with the request lifecycle: HTTP method + path routing, structured input validation, authentication first, then authorisation checks, business logic execution, data persistence, and a safe response. Logging is treated as essential evidence, with care to avoid leaking sensitive data.

The course then moves into databases and modelling: entities, relationships, identifiers, constraints, and referential integrity, plus the real trade-offs between normalisation and speed, and how indexing supports actual query patterns.
API design focuses on predictable resource paths, controlled filtering/sorting, pagination by default, explicit versioning, and stable error formats so clients can recover gracefully.

Security is threaded throughout: secrets hygiene, allowlists, MFA, and continuous auditing. The infrastructure layer introduces object storage and safe upload flows, cache fundamentals and invalidation, CDNs, and queues for slow work, emphasising retries and idempotency to prevent duplicate side effects. Finally, it ties everything together with environments (dev/stage/prod), small releases, monitoring, incident habits, and testing that targets the highest-risk boundaries first.

 

Course itinerary.

    • What a backend does

    • Request lifecycle

    • Servers

    • Databases

    • APIs

    • Security

    • Performance optimisation

    • Scalability

    • Tools and resources

    • Data modelling

    • Constraints and consistency

    • Trade-offs in normalisation

    • SQL and NoSQL overview

    • Querying basics

    • Indexing strategies

    • Backend development essentials

    • Popular backend languages and frameworks

    • Best practices in backend development

    • REST-like design

    • Pagination and filtering

    • Versioning basics

    • Error handling

    • Status codes conceptually

    • Consistent error shapes

    • Client-friendly messages

    • Summary of best practices

    • Conclusion and next steps

    • Identity basics

    • Security hygiene

    • Sessions vs tokens

    • Permissions and roles

    • Implementing access control

    • Input validation

    • Logging and monitoring

    • Best practices for security

    • Conclusion and next steps

    • Storage

    • Upload flows

    • Access control basics

    • Caching

    • Cache invalidation

    • CDN basics

    • Queues

    • Retries and idempotency

    • Operational visibility

    • Memory consumption optimisation

    • Performance optimisation techniques

    • Conclusion & next steps

    • Environments

    • Deployment basics

    • Monitoring basics

    • Incident handling mindset

    • Configuration management

    • Feature flags conceptually

    • Releases and rollbacks

    • Best practices for backend development

    • Conclusion and next steps

    • Testing types

    • Mocking basics

    • Regression prevention

    • Updating dependencies safely

    • Documentation discipline

    • Post-incident improvements

    • Importance of backend testing

    • Types of backend testing

    • Implementing API mocking

 
View lectures
 

Course requirements.

The requirements necessary for this course include:

Technology

You need a computer/smart device with a decent internet.

Account

No account is required as the lectures are free to view.

Viewing

This course is taught via a blog article format.

Commitment

You will need to dedicate time and effort, at your own pace.

 

Frequently Asked Questions.

Why can’t the frontend enforce security rules by itself?

Because the client can be modified; the backend must verify identity, permissions, and actions as the source of enforcement.

What’s the difference between a server and a backend?

A server is the machine/service handling requests; the backend is the application logic running on it (plus its data and integrations).

Do all websites need a database?

No. Static sites may not. The moment the site needs accounts, records, search, or workflows, a database becomes the stable system of record.

What’s the simplest way to improve backend reliability?

Validate inputs, log key events, handle errors consistently, and keep changes small with a rollback plan.

What should be optimised first: speed or features?

Correctness and security first, then performance, optimise based on real bottlenecks, not assumptions.

Sessions vs tokens: when should each be used?

Sessions fit server-managed web apps; tokens suit APIs and multi-client use. Choice depends on scaling, revocation needs, and client types.

Why are consistent error shapes important?

They let clients handle failures predictably (validation vs auth vs rate limit) without breaking UX or guessing what went wrong.

How do queues prevent slow requests?

They offload heavy work (emails, exports, processing) into background jobs so web requests stay fast and timeouts reduce.

How do you design retries without creating duplicate side effects?

Use idempotency keys and “at-least-once delivery” assumptions: make operations safe to repeat and track job/request IDs.

What’s the most common cause of deployment incidents?

Config drift and untested assumptions, missing env vars, migrations, or incompatible changes between clients and APIs.

 
Luke Anthony Houghton

Founder & Digital Consultant

The digital Swiss Army knife | Squarespace | Knack | Replit | Node.JS | Make.com

Since 2019, I’ve helped founders and teams work smarter, move faster, and grow stronger with a blend of strategy, design, and AI-powered execution.

LinkedIn profile

https://www.projektid.co/luke-anthony-houghton/
Previous
Previous

JavaScript course

Next
Next

Website Legal Arrangements course