Free to read ยท Three levels

Software Architecture: Boundaries, Decisions, and Evidence

Develop architectural judgment through measurable scenarios, modular ownership, interface contracts, distributed failure, operational evidence, and staged evolution.

18 lessonsEnglish + ArabicContent reviewed
Start learning

In this course

Eighteen developed lessons follow a fictional workshop-reservation system from its user promise to architecture review. Each lesson connects a particular design decision with its consequences, worked artifacts, realistic mistakes, and exercises with complete solutions. The course compares alternatives in context instead of prescribing one deployment style for every team.

All identities, workloads, durations, targets, states, records, and outcomes are synthetic. Examples are local models or editorial artifacts and never access accounts, databases, providers, brokers, or application services. Proposed tests remain proposals unless explicitly identified as executed local programs.

What you will learn

  • Describe scope and quality scenarios with observable responses and explicit uncertainty.
  • Design cohesive modules, stable contracts, and authoritative data ownership.
  • Reason about asynchronous completion, crash windows, duplicate effects, and bounded resilience.
  • Connect authorization, telemetry, caching, and capacity reasoning to the user promise.
  • Plan compatible migration and review decisions through evidence, risk, and technical debt.

Your learning path

Three levels

Who this is for

  • Developers learning to explain consequential design choices and maintain system boundaries.
  • Technical leads and reviewers who need traceable assumptions, tradeoffs, and verification plans.

Before you start

  • Basic programming, HTTP, database, and testing concepts; examples explain their architectural role.
  • No cloud account, service credentials, deployment platform, or administrator access is required.