Free preview

What Non-Functional Requirements Are

Why this matters: almost every candidate can list what a system should do. The ones who get offers can say how well it must do it, and can defend the number. Non-functional requirements are where system design actually happens.

Key takeaway

A functional requirement says what the system does. A non-functional requirement (NFR) says how well it must do it — how fast, how often it's up, how much it can grow, how quickly it recovers. Functional requirements barely constrain your architecture. NFRs determine it almost entirely.

The distinction, concretely

SystemFunctional requirementNon-functional requirement
URL shortenerShorten a URL; redirect to the original100k redirects/sec at p99 under 50 ms, 99.99% available
Payment APICharge a cardNever double-charge; correct under retry; auditable forever
Video platformUpload, search, stream, rate videosStart playback in under 2 s worldwide; survive a region loss
ChatSend a message to a userDeliver in under 200 ms; never lose a delivered message

Look at the middle column. Every one of those is a weekend project. Now look at the right column — that is where the servers, the replication strategy, and the eighteen months of engineering live.

The NFR map

The characteristics this chapter covers, and how they relate:

They are not independent, and that is the whole game:

  • Fault tolerance is the mechanism; availability and reliability are the outcomes you buy with it.
  • Maintainability drives availability, because most downtime ends when a human fixes something — and how fast that happens is a property of the system's design.
  • Scalability protects performance and availability as load grows. A system that can't scale becomes slow first and unavailable second.
  • Performance and consistency pull against each other, as Chapter 1 established: coordination costs latency.

NFRs are design forces

The point of writing an NFR down is that it forces a decision. If a stated requirement doesn't change your architecture, it wasn't a requirement — it was a wish.

NFR as statedUseless or useful?The decision it forces
"It should be fast"Useless — unfalsifiableNone
"p99 read latency under 50 ms globally"UsefulServe reads from the user's region; no cross-region hop on the hot path
"It should be highly available"Useless — no targetNone
"99.99% — about 52 minutes down per year"UsefulMulti-AZ redundancy, automated failover, no manual recovery step
"It should scale"UselessNone
"10x traffic in 12 months, spiky"UsefulStateless services, autoscaling, queue-based load absorption

The pattern: a number and a unit, or it isn't a requirement. Lesson 10 is entirely about producing those numbers when the interviewer won't give them to you.

Where NFRs come from

You will rarely be handed them. You extract them, by asking:

  • Traffic — how many users, what request rate, what read/write ratio, how spiky?
  • Data — how much stored, growing how fast, retained how long?
  • Latency — what's the user-facing budget, and for which operation?
  • Downtime tolerance — what does an hour of outage actually cost? Revenue? Safety? Trust?
  • Correctness — what's the cost of a stale or wrong answer here? (Chapter 1's question, and still the sharpest one.)
  • Growth — what does this look like at 10x? At 100x?

The ranking exercise

Because you cannot maximize everything, ranking is the actual skill:

Key takeaway

NFRs are the requirements that cost money. Every one of them is a claim on engineering time, infrastructure spend, and architectural complexity — which is exactly why they must be numbered, ranked, and justified rather than listed.

Interview signal by level

LevelWhat a strong answer sounds like
L4Lists NFRs by name: "it needs to be scalable, available, and fast."
L5Attaches numbers: "99.9% availability, p99 under 200 ms, 10x growth in a year — so stateless services behind autoscaling."
Staff+Ranks and trades: "availability outranks consistency for the feed and the reverse for the ledger. I'm spending my complexity budget on the write path and deliberately accepting stale reads elsewhere — here's what that costs."

Next: the NFR everyone quotes and few can compute.

Enjoying the preview?

Create a free account to unlock the rest of this course, the in-browser judge, and live AI mock interviews.

Sign up free to continue