Software Architect / Tech Lead · Focus area 1: High-level design
AR1: Thinking like an architect: quality attributes and trade-offs
Goal: explain what an architect is responsible for, describe a system by its quality attributes, make trade-offs openly, draw a system at the right level of detail, and work out rough capacity figures before choosing a design.
You'll need: Module 43 (Backend Architecture), Module 91 (Introduction to System Design), Module 92 (Architecture Patterns), Module 95
(Scaling), Module 96 (Reliability Engineering), and the RasoiRoute practice kit (data/, npm run deps).
Where this is used: a bank deciding how its payments platform should grow, a ride-hailing company planning for festival peaks, a school app deciding whether to build or buy messaging. In each, someone has to say what matters most, what it will cost and what the team won't get.
How it differs: a senior developer makes one feature excellent. An architect shapes how all the features fit together and how the teams that build them work, and spends more time on decisions and their reasons than on code.
Time: reading about 2½ hours · practice (the Try it tasks) about 2 hours · assignment about 3 hours.
Lessons
- 1What architects doReading 15–25 minutes, plus practice✓
- 2Quality attributesReading 15–25 minutes, plus practice✓
- 3Trade-offsReading 15–25 minutes, plus practice✓
- 4Drawing and reading a systemReading 15–25 minutes, plus practice✓
- 5Rough numbers before designsReading 15–25 minutes, plus practice✓
🛠️Assignment: Describe RasoiRoute as an architect would
- Draw RasoiRoute's Context and Container diagrams, with every box and line labelled.
- Run
npm run depson the starter and record the dependencies, internal reaches and cycle. - Write four ranked quality attributes, each as a measurable scenario, using the figures in
data/. - Work out the peak orders and messages a second, and the in-progress orders with and without waiting for messages.
- Write one trade-off statement for isolating notifications, with gain, cost, reason and mitigations.
Self-check before you finish:
- [ ] Each quality attribute has a number in it.
- [ ] Your dependency counts match
npm run deps. - [ ] The capacity figures show the steps and say they are estimates.
- [ ] The trade-off statement names what is given up.
✅Module check
Explain in a few sentences, in your own words:
How does an architect decide what matters for a system before choosing a design?
Show a good answer
A good answer mentions: decisions that are expensive to undo and affect many teams; quality attributes written as measurable scenarios and ranked; availability in nines and parts in a chain multiplying; trade-offs stated with gain, cost and reason, including consistency against availability and simplicity as a quality; C4 diagrams at the right level for the reader, checked against a dependency report from the code; and rough capacity figures from peak load and Little's law, labelled as estimates.
📚Official references
Official documentation and guidance for this module's topics, chosen on 2 November 2026. Tools, laws and standards change, so check the current version before you rely on a detail. If a link has moved, search the same site.
📝Module quiz
10 questions · 10 marks each · 100 marks in all · pass mark 70% · retry as often as you like ·
