InterviewKata
Software architecture · Start here

Start here: from writing code to shaping systems

Software architecture is the set of decisions that are hard to change later: which qualities the system must have, how it's split into parts, how those parts talk and share data, and which rules keep it that way. You don't need the title "architect" to learn it. You need to see the trade-off in every choice, and practise explaining why you chose one side.

1. What software architecture is

A city planner doesn't design each house. They decide where the roads, water pipes and zones go, because those are expensive to move once people live there. Each builder still designs their own house, inside the planner's rules. Architects make the "roads and pipes" decisions for software; developers design the houses.

An architecture has four parts, and you'll meet each one in this track:

Architecture characteristics

The qualities the system needs beyond its features: scalability, availability, security, testability and so on. They decide everything else (Level 1).

Structure: components and style

The parts of the system and the overall shape that holds them: layered, microkernel, event-driven, microservices and others (Levels 2–3).

Architecture decisions

Rules for how the system is built, such as "only the order service writes to the orders table", recorded with their reasons (Module 27).

Design principles

Guidelines rather than rules, such as "prefer asynchronous messaging between services where possible", leaving room for judgement.

2. The architect's process, step by step

Press Play to watch one architecture take shape for an online auction site. Notice that every arrow turns one thing into another: requirements into characteristics, a workflow into components, both into a style, and the choice into a written decision.

Every step was a choice with a cost. That's the first law of software architecture: everything is a trade-off. If you think you've found something with no trade-off, you just haven't found the trade-off yet. The second law: why is more important than how. A diagram shows how the system is built; only the recorded reasons let the next person decide whether to change it.

3. Architecture or design?

There's no hard line between the two: it's a spectrum. Three questions place any decision on it. The more "yes" answers, the more it's an architecture decision, and the more care and agreement it needs.

QuestionArchitecture (strategic)Design (tactical)
How long will it last?Years: expensive to undoWeeks or months: easy to change
How many people does it affect?Several teams, or the businessOne team or one developer
How much effort to decide?Analysis, prototypes, agreementA conversation or a code review

Try it: for each decision, place it on the spectrum yourself, then see where the three questions put it.

4. How this track teaches

Every module has the same ten sections: the idea with an everyday analogy, an animation of how it works, a lab, trade-offs, how it plays out in real projects (with what to say in an interview), a memory hook, common mistakes, a design exercise, a quiz, and where to go deeper.

The animations show the mechanism, not just boxes: what moves, in what order, what changes state, and what breaks. Step through them slowly the first time, and replay the step that surprised you.

5. What you need

6. The daily routine (45 minutes)

DayWhat to do
MondayRead the week's module: sections 1–5, play every animation.
TuesdayRedo the lab without looking at the text; do the design exercise on paper.
WednesdaySketch the module's main diagram from memory, then compare.
ThursdayApply it to a system you know: where does this idea show up, or where should it?
FridayExplain the idea out loud in two minutes, as if to a product manager. Take the quiz.

7. Your architecture notebook

Keep one page per decision you make or study, in the shape of an architecture decision record:

Title:        Use asynchronous messaging for bid capture
Context:      Up to 2,000 bids/second at auction close; bidders need an instant "received".
Decision:     Bid capture publishes to a queue; the bid tracker consumes in order per auction.
Trade-offs:   + elasticity, responsiveness   − harder testing, eventual consistency
Revisit when: one queue partition can't keep up with a single hot auction

After a few weeks you'll have a personal catalogue of decisions with their reasons, which is exactly what architecture interviews probe.

8. Self-check quiz

Which of these is one of the four parts of an architecture?

Characteristics, structure, decisions and design principles.

What is the difference between an architecture decision and a design principle?

"Only the order service writes to orders" vs "prefer asynchronous messaging".

A choice will last years, affect several teams and need analysis to make. Where does it sit?

All three questions point to architecture: it needs care and agreement.

In the city-planner picture, what do architects decide?

Developers still design the houses, inside those rules.

9. Glossary

Every dotted word on the software architecture pages, in one place. New terms are added as each module is published.

10. Where to go next