Back-End Development course
Key takeaways.
The backend is the enforcement layer: it validates, authorises, and applies business rules independent of the browser.
A clean request lifecycle reduces bugs: auth > validate > logic > data > response.
Databases need modelling discipline: entities, identifiers, constraints, and referential integrity.
Normalisation vs denormalisation is a trade-off; decide based on query patterns and evidence.
Indexing speeds reads but costs writes and storage, measure and tune, don’t guess.
APIs should be predictable: resource naming, pagination by default, controlled filtering/sorting, and explicit versioning.
Error handling is part of design: stable codes/types, safe messages, and request IDs for debugging.
Auth and authorisation are different problems; least privilege and role discipline prevent accidental exposure.
Storage, caching, CDNs, and queues improve performance, while retries and idempotency protect correctness.
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
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.