DRIVIA · DEV LAB v1
study
00:00
total 0h
Day streak0🔥
Mastered0 / 161
Wilson's CTO Vocabulary Guide · v1 · Astro build

Every developer word, in plain English.

161 terms across 16 chapters. Plain English, analogy, Drivia example, when to use it, what to watch out for. Say each one back to lock it in.

Chapter 01 Testing How engineers prove the code works without shipping it and hoping.

Term 01 · 1 of 161 · Ch. 1 Testing

Unit test

ready
Plain English

A test that checks one small piece of code — usually a single function — in isolation. No database, no network, no file system. Just: given this input, did the function return the right output?

Analogy

Testing a single ingredient before you put it in the recipe. You taste the salt alone to make sure it's salt and not sugar. You don't need the whole soup to verify that.

Example

A function calculateXP(lessonsCompleted, difficulty) in Drivia. You pass it (5, 'hard') and assert the return is 250. That's a unit test.

When to use it

For pure logic: calculations, transformations, validators. Cheap, fast, and the first thing you write when a bug slips through.

Watch out for

If your unit test needs the database or a network call, it isn't a unit test anymore — that's an integration test, and it's slower and flakier. Keep unit tests pure.

SAY IT BACK · ELOCUTION
Unit test
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 02 · 2 of 161 · Ch. 1 Testing

Integration test

ready
Plain English

A test that verifies two or more pieces work correctly together. Typically your code plus a real dependency: a database, an API, a queue.

Analogy

Tasting the whole soup after you've added the salt, the broth, and the vegetables. You're not testing each ingredient — you're testing whether they play nice in the same pot.

Example

Calling your Supabase insert function against a real test database and verifying the row actually lands with the right RLS policies applied.

When to use it

When the risk isn't in any single function but in the boundary between them — your code meeting Postgres, your API meeting Stripe.

SAY IT BACK · ELOCUTION
Integration test
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 03 · 3 of 161 · Ch. 1 Testing

End-to-end test (E2E)

ready
Plain English

A test that drives the entire system the way a real user would — open the browser, click the button, see the result.

Analogy

Ordering a pizza online to make sure the restaurant works. You don't care about the oven or the driver in isolation; you care that a hungry person gets a pizza.

Example

A Playwright test that logs into Drivia, starts a lesson, answers a quiz, and asserts the XP counter went up by the expected amount.

When to use it

For critical user journeys you can't afford to break — signup, payment, the JAX tutor. One E2E test is worth a hundred unit tests for catching integration surprises.

Watch out for

E2E tests are slow and flaky. If you have more than a few dozen, you'll hate them. Write them for the journeys that would cost you money if they broke.

SAY IT BACK · ELOCUTION
End-to-end test (E2E)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 04 · 4 of 161 · Ch. 1 Testing

TDD (Test-Driven Development)

ready
Plain English

Write the failing test first, then write the code that makes it pass. Sounds backwards. Works surprisingly well. Four words that all mean ‘a fake version of something so the real thing doesn't get used in a test.’ The distinctions matter to pedants:

Analogy

A carpenter marking the wood before cutting it. The test is your pencil line — it defines exactly where the code should land.

Example

You want a function that formats currency. You write: expect(format(1234.5)).toBe('$1,234.50'). It fails because the function doesn't exist yet. Then you write the function until the test passes. A stub returns hard-coded answers ('always return user #1'). A mock is a stub that also records how it was called, so you can assert sendEmail was called once with these arguments. A spy wraps the real thing and just records calls. A fake is a working lightweight replacement — an in-memory database instead of Postgres.

When to use it

When you're genuinely uncertain about the design. Writing the test first forces you to think about how the code will be used before you write it. Mock / Stub / Spy / Fake Whenever the real dependency is slow, flaky, expensive, or has side effects (sends email, charges a credit card). Never mock something you own — just use the real thing.

Watch out for

Over-mocking makes tests that pass with broken production code. If the test and the thing it's testing are both fake, you're testing fiction.

SAY IT BACK · ELOCUTION
TDD (Test-Driven Development)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 05 · 5 of 161 · Ch. 1 Testing

Fixture

ready
Plain English

Pre-built test data that your tests start from. 'A user with 3 completed lessons' is a fixture.

Analogy

The set dressing on a movie stage. You don't rebuild the kitchen every time you shoot the kitchen scene — you keep it ready.

Example

A seedTestUser() helper that creates a learner row, a subscription, and five lessons in one call, so every test can start from that baseline.

SAY IT BACK · ELOCUTION
Fixture
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 06 · 6 of 161 · Ch. 1 Testing

Snapshot test

ready
Plain English

A test that saves the output of a function the first time it runs, and then fails if the output ever changes.

Analogy

Taking a photograph of your living room and checking it every week. If something moved, you want to know — even if you don't know what should be there.

Example

Rendering a React component and saving the HTML. The next run compares the new HTML to the saved snapshot. If anyone changed the component accidentally, the test screams.

Watch out for

Easy to abuse. People update the snapshot without reading it and the test becomes a rubber stamp. Review snapshot changes like you'd review code.

SAY IT BACK · ELOCUTION
Snapshot test
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 07 · 7 of 161 · Ch. 1 Testing

Test coverage

ready
Plain English

The percentage of your code that gets executed when the test suite runs.

Analogy

How much of the field the spotlight lights up. 100% coverage doesn't mean the code works — it means no line was untouched. You can still shoot yourself with a fully lit spotlight.

When to use it

As a floor, not a goal. Aim for 60-80% on business logic, 0% is fine on glue code. Chasing 100% produces garbage tests that exist to hit the number.

Watch out for

Coverage measures execution, not verification. A test that runs a line but asserts nothing still counts toward coverage. Don't cargo-cult the number.

Rule

coverage = (lines run by tests / total lines) × 100

SAY IT BACK · ELOCUTION
Test coverage
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 08 · 8 of 161 · Ch. 1 Testing

Flaky test

ready
Plain English

A test that sometimes passes and sometimes fails on the same code.

Analogy

A car that starts most mornings but not every morning. You can't trust it to take you to work.

Example

A test that relies on setTimeout(500) and fails on a slow CI runner. Or a test that depends on the order other tests ran in.

When to use it

Never. Flaky tests are worse than no tests because they teach the team to ignore red builds. Fix them or delete them.

Watch out for

Root causes are almost always time (race conditions), shared state between tests, or real network calls. Find the cause; don't add retries.

SAY IT BACK · ELOCUTION
Flaky test
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 09 · 9 of 161 · Ch. 1 Testing

Regression

ready
Plain English

A bug that re-appears after it was fixed. The code 'regressed.'

Example

You fixed the XP calculator last sprint. This sprint, someone refactored the scoring service and the bug came back. That's a regression.

When to use it

When you fix a bug, write a test for it the same day. That test becomes a regression test — its whole job is to scream if the bug ever returns.

SAY IT BACK · ELOCUTION
Regression
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 02 Refactoring & Code Smells Changing the shape of code without changing what it does.

Term 10 · 10 of 161 · Ch. 2 Refactoring & Code Smells

Refactoring

ready
Plain English

Changing the internal structure of code without changing its behavior. Same inputs, same outputs, different insides.

Analogy

Reorganizing your garage. The same tools, boxes, and bikes are in there — but now you can actually find them. The car still parks the same way.

Example

Extracting a 200-line handleCheckout function into five smaller functions, one per step (validate, charge, fulfill, email, log). The user still checks out identically, but the code is readable.

When to use it

Before you add a feature to messy code. Cleaning up first makes the new feature take half the time. The ‘two hats’ rule: refactor with one hat, add features with the other — never both at once.

Watch out for

Refactoring without tests is renovation without blueprints. Write tests first so you can prove behavior didn't change.

SAY IT BACK · ELOCUTION
Refactoring
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 11 · 11 of 161 · Ch. 2 Refactoring & Code Smells

Code smell

ready
Plain English

A surface-level symptom that hints at a deeper problem. The code ‘smells off’ — not necessarily wrong, but suspicious.

Analogy

A weird noise from your car engine. Might be nothing. Might be about to leave you stranded on I-35. A mechanic knows which noises matter.

Example

A function with 400 lines, a file with 15 nested if statements, a class with 30 methods. None of these are illegal — they just reek.

SAY IT BACK · ELOCUTION
Code smell
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 12 · 12 of 161 · Ch. 2 Refactoring & Code Smells

DRY (Don't Repeat Yourself)

ready
Plain English

Every piece of knowledge should live in exactly one place. If you have the same business rule in three files, any change has to hunt all three down.

Analogy

One source of truth for your wedding guest list. If you let your mom, your sister, and your venue each keep their own copy, they will disagree the day of.

Example

Stripe pricing logic copy-pasted into checkout, invoices, and the admin dashboard. Extract it to lib/pricing.ts and import it everywhere.

Watch out for

Juniors over-apply DRY. Two pieces of code that look the same but exist for different reasons should stay separate — deduping them creates coupling that hurts later. Rule of thumb: dedupe on the third occurrence.

SAY IT BACK · ELOCUTION
DRY (Don't Repeat Yourself)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 13 · 13 of 161 · Ch. 2 Refactoring & Code Smells

KISS (Keep It Simple, Stupid)

ready
Plain English

When in doubt, pick the boring solution. Simple code is cheaper to read, debug, and change. Cleverness is a debt you pay back with interest. Don't build something because you might need it someday. Build it when you actually need it.

Example

A for loop is often better than a recursive reduce with three lambdas. YAGNI (You Aren't Gonna Need It) Adding multi-currency support to Drivia now because ‘we might expand to Europe’ is YAGNI. Ship USD. When Europe shows up, add it then — and you'll build it better with real requirements.

When to use it

Every time a developer says 'let's make this flexible for the future.' The future almost never looks like they imagined.

SAY IT BACK · ELOCUTION
KISS (Keep It Simple, Stupid)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 14 · 14 of 161 · Ch. 2 Refactoring & Code Smells

SOLID

ready
Plain English

Five design principles for object-oriented code, named by the acronym: Single responsibility, Open/closed, Liskov substitution, Interface segregation, Dependency inversion.

Analogy

Building codes for a house. None of them are laws of physics — they're hard-won rules that keep houses from collapsing.

Example

Single responsibility: a class that sends email should only send email, not also calculate taxes. Dependency inversion: your checkout code should depend on an EmailSender interface, not directly on Resend, so you can swap providers.

When to use it

SOLID is best as a lens, not a checklist. If your code is hard to test or hard to change, one of the SOLID principles is being violated. Ask which one.

SAY IT BACK · ELOCUTION
SOLID
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 15 · 15 of 161 · Ch. 2 Refactoring & Code Smells

Technical debt

ready
Plain English

Shortcuts you took in code that you'll have to pay for later — with interest. Sometimes the shortcut is worth it; sometimes you should never have taken it.

Analogy

Borrowing money. Sometimes a loan helps you buy a house you couldn't otherwise. Sometimes it's a payday loan that bleeds you for years. Tech debt is the same.

Example

You copy-pasted the Stripe webhook handler three times to ship a deadline. It worked. Now every Stripe change means editing three places and forgetting one. That's the interest on the debt.

When to use it

Deliberate tech debt to hit a deadline is fine — if you write down what you did and schedule the payoff. Undocumented tech debt is just a future outage with your name on it.

SAY IT BACK · ELOCUTION
Technical debt
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 16 · 16 of 161 · Ch. 2 Refactoring & Code Smells

Spaghetti code

ready
Plain English

Code where everything is tangled with everything else, so pulling on one strand moves ten others.

Example

A React component that reads from three contexts, writes to a global Zustand store, side-effects into localStorage, and calls an API — all in one useEffect. Touch it and something you don't expect breaks.

SAY IT BACK · ELOCUTION
Spaghetti code
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 17 · 17 of 161 · Ch. 2 Refactoring & Code Smells

God object / God class

ready
Plain English

A class or file that knows too much and does too much. It becomes the center of the universe, and every change passes through it.

Example

A UserManager class with 5,000 lines that handles auth, profiles, billing, email, notifications, and the kitchen sink. Break it up.

SAY IT BACK · ELOCUTION
God object / God class
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 03 Change Management & Blast Radius How engineers reason about the cost of getting it wrong.

Term 18 · 18 of 161 · Ch. 3 Change Management & Blast Radius

Blast radius

ready
Plain English

How much damage a bad deploy, a bad query, or a bad decision can do. 'Small blast radius' = you only break yourself. 'Large blast radius' = you break every paying customer.

Analogy

A firework in your backyard vs. a firework in a gas station. Same spark, very different consequences.

Example

Running a migration on one tenant's database = small blast radius. Running it on the shared production Postgres during business hours = large blast radius.

When to use it

Every time before you push, run, delete, or force-push. Ask: if this is wrong, who pays? If the answer is 'everyone,' slow down and get a second set of eyes.

Watch out for

The most dangerous blast radius is the one you didn't see coming. Shared databases, shared caches, shared queues — they look local and turn out to be global.

SAY IT BACK · ELOCUTION
Blast radius
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 19 · 19 of 161 · Ch. 3 Change Management & Blast Radius

Feature flag

ready
Plain English

A switch in code that lets you turn a feature on or off without redeploying. New code ships dark, then you flip it on for 1% of users, then 10%, then everyone.

Analogy

A dimmer switch instead of a light switch. You can turn on a feature just a little to see how it goes, then crank it up when you're confident.

Example

Wrap the new JAX tutor in a flag jax_v2_enabled. Ship the code. Enable it for your own account first. Then internal admins. Then 1% of learners. At every step you can kill it in 10 seconds without a deploy.

When to use it

Anytime a change could break things. Feature flags convert a scary deploy into a boring one and a rollback into a config change.

SAY IT BACK · ELOCUTION
Feature flag
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 20 · 20 of 161 · Ch. 3 Change Management & Blast Radius

Canary deploy

ready
Plain English

Rolling out a new version to a tiny slice of traffic first. If the canary (small sample of users) is fine, you push to more. If it dies, you roll back.

Analogy

Miners used to send a canary into the mineshaft. If the bird survived, the air was safe. Same idea with less bird cruelty.

Example

Vercel routes 5% of traffic to the new Drivia build for 15 minutes. If error rates don't spike, the rest of traffic flips over.

SAY IT BACK · ELOCUTION
Canary deploy
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 21 · 21 of 161 · Ch. 3 Change Management & Blast Radius

Blue-green deploy

ready
Plain English

Run two full copies of production (blue and green). Blue is live; green is the new version. Once green is ready, flip the router — one second, everyone's on green. If green breaks, flip back.

Analogy

Two identical stages at a concert. The band sets up on stage B while the old band plays on stage A. The lights flip over instantly and nobody missed a beat.

SAY IT BACK · ELOCUTION
Blue-green deploy
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 22 · 22 of 161 · Ch. 3 Change Management & Blast Radius

Rollback

ready
Plain English

Reverting a bad deploy to the previous version.

When to use it

Fast, always fast. The moment you suspect a deploy is bad, roll back first, then investigate. Don't debug in prod while customers are angry.

SAY IT BACK · ELOCUTION
Rollback
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 23 · 23 of 161 · Ch. 3 Change Management & Blast Radius

Hotfix

ready
Plain English

An emergency patch that skips the normal release train because something is actively broken in production.

Watch out for

Hotfixes are how bugs get worse. A hotfix with no tests and no review is how you cause the second outage while fixing the first. Keep hotfixes tiny and paired with at least one other engineer.

SAY IT BACK · ELOCUTION
Hotfix
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 24 · 24 of 161 · Ch. 3 Change Management & Blast Radius

Idempotent

ready
Plain English

An operation you can run many times and the result is the same as running it once. Safe to retry.

Analogy

Pressing the elevator button. Hitting it ten times is the same as hitting it once — the elevator still comes. Compare that to pushing the gas pedal, which is not idempotent.

Example

‘Set user's plan to pro’ is idempotent. ‘Charge the user $29’ is NOT — retry it and you double-charge them. Use idempotency keys on payment operations so retries are safe.

When to use it

Anytime a request might be retried: webhooks, background jobs, anything over a flaky network. Design operations to be idempotent by default.

Rule

f(f(x)) = f(x)

SAY IT BACK · ELOCUTION
Idempotent
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 25 · 25 of 161 · Ch. 3 Change Management & Blast Radius

Graceful degradation

ready
Plain English

When a part of the system fails, the rest keeps working — just worse.

Example

If the AI provider is down, Drivia shows the last cached response and a ‘JAX is taking a nap’ banner instead of blowing up the whole lesson page.

SAY IT BACK · ELOCUTION
Graceful degradation
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 04 Architecture & System Design How the pieces fit together at the highest level.

Term 26 · 26 of 161 · Ch. 4 Architecture & System Design

Monolith

ready
Plain English

One big codebase that does everything. Frontend, backend, database, auth, billing — all in one repo, deployed as one unit.

Analogy

A single big-box store. Everything under one roof, one manager, one opening hour. Efficient and simple until the store gets too big to run.

Example

Early Drivia was a monolith and that was correct. One Next.js app handles everything. You can ship features fast because there's no cross-service coordination.

When to use it

Almost always, until you have at least 20 engineers or a clear scaling bottleneck. Most ‘microservices’ startups would've shipped faster as monoliths.

Watch out for

‘Monolith’ is often used as an insult, which is junior thinking. A clean monolith beats messy microservices every day of the week.

SAY IT BACK · ELOCUTION
Monolith
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 27 · 27 of 161 · Ch. 4 Architecture & System Design

Microservices

ready
Plain English

Many small codebases, each owning one capability (auth, billing, search), each deployed independently, talking to each other over the network.

Analogy

A mall instead of a big-box store. Each store has its own owner, hours, and inventory. Way more flexibility — and way more hallways and security and rent.

Example

Netflix has hundreds of microservices — one for recommendations, one for video streaming, one for billing. It works because Netflix has thousands of engineers.

When to use it

When you have enough engineers to staff each service and the org is hurting from teams stepping on each other in one codebase. Rarely the right call for a small company.

Watch out for

Microservices trade code complexity for operational complexity. You now have 40 deploys, 40 databases, 40 alert channels. The bugs move from ‘hard to find in code’ to ‘hard to find across the network.’

SAY IT BACK · ELOCUTION
Microservices
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 28 · 28 of 161 · Ch. 4 Architecture & System Design

Serverless

ready
Plain English

Code that runs only when it's called and you don't manage the server. You upload a function; the cloud runs it on demand and bills you per invocation. Four ways to render a webpage. CSR = Client-Side Rendering (browser builds the page in JS). SSR = Server-Side Rendering (server builds the HTML per request). SSG = Static Site Generation (HTML built once at deploy time). ISR = Incremental Static Regeneration (static, but refreshes on a schedule).

Analogy

Uber instead of owning a car. You don't pay for a parked car — you pay when you ride. Great for unpredictable usage, expensive if you ride 24/7.

Example

Supabase Edge Functions. Vercel serverless routes. AWS Lambda. Drivia's generate-course edge function is serverless — it only runs when an intake form is submitted. A blog post — SSG (never changes). A user's dashboard — SSR (personalized per request). Drivia's marketing pages are SSG. The dashboard is SSR.

When to use it

Bursty or unpredictable workloads. APIs that get 100 requests one hour and 0 the next. Default to static. Use SSR when the page depends on the user. Use ISR when the page is static but needs to update every few minutes (catalog pages).

Watch out for

Cold starts (the first call after idle is slow). Per-invocation pricing that bites at scale. And you're locked into the cloud provider's runtime quirks. SSR / SSG / ISR / CSR React Server Components and the App Router muddy all these terms. The modern answer is 'render the page on the server, stream chunks to the client, hydrate the interactive parts.' Don't fight the framework; learn its model.

SAY IT BACK · ELOCUTION
Serverless
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 29 · 29 of 161 · Ch. 4 Architecture & System Design

CDN (Content Delivery Network)

ready
Plain English

A network of servers around the world that cache your static content (images, JS, CSS) near your users. A learner in Tokyo hits a CDN node in Tokyo, not your server in Virginia.

Analogy

Franchise restaurants. McDonald's doesn't fly burgers from Illinois — they have a location near you. CDNs do the same thing with your files.

Example

Cloudflare, Vercel Edge Network, AWS CloudFront. Drivia's static assets and marketing HTML are served from Vercel's CDN.

When to use it

Always, for static files. The performance gain is free and massive.

SAY IT BACK · ELOCUTION
CDN (Content Delivery Network)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 30 · 30 of 161 · Ch. 4 Architecture & System Design

Edge computing

ready
Plain English

Running your code at the CDN level, close to the user — not in a single data center. Latency drops from 200ms to 20ms.

Example

Vercel Edge Functions, Cloudflare Workers. Great for A/B testing, geolocation, and personalization that needs to happen before the page renders.

SAY IT BACK · ELOCUTION
Edge computing
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 31 · 31 of 161 · Ch. 4 Architecture & System Design

Load balancer

ready
Plain English

A traffic cop that spreads incoming requests across multiple servers so no single server gets slammed.

Analogy

The host at a busy restaurant sending you to an open table. Without them, everyone piles up at one booth and the rest sit empty.

SAY IT BACK · ELOCUTION
Load balancer
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 32 · 32 of 161 · Ch. 4 Architecture & System Design

Horizontal vs vertical scaling

ready
Plain English

Vertical = make the server bigger (more CPU, more RAM). Horizontal = add more servers and share the load.

Analogy

Vertical: buying a bigger truck. Horizontal: buying more trucks. The bigger truck has a ceiling; more trucks scale forever (until the roads jam).

When to use it

Default to horizontal. Vertical is a temporary patch; horizontal is the architecture that survives success.

SAY IT BACK · ELOCUTION
Horizontal vs vertical scaling
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 33 · 33 of 161 · Ch. 4 Architecture & System Design

Stateless vs stateful

ready
Plain English

Stateless = each request contains everything the server needs; the server remembers nothing between requests. Stateful = the server remembers you.

Analogy

Stateless is a vending machine (put in money, get a snack, it doesn't care who you are). Stateful is your barber (remembers your usual cut).

When to use it

Stateless web apps scale horizontally with zero effort — any server can handle any request. Push state into the database or Redis, not into the server's memory.

SAY IT BACK · ELOCUTION
Stateless vs stateful
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 34 · 34 of 161 · Ch. 4 Architecture & System Design

Cache

ready
Plain English

Temporary storage of expensive-to-compute results so you don't redo the work.

Analogy

Keeping milk in the fridge instead of driving to the store every time you want cereal. Fast, until the milk goes bad — which is why caches need expiration.

Example

Caching the ‘top 10 lessons’ query result in Redis for 5 minutes. Instead of hitting Postgres 10,000 times per hour, you hit it 12 times.

Watch out for

“There are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors.” Cache invalidation means: knowing when the cached copy is stale and needs to be refreshed. It is much harder than it looks.

SAY IT BACK · ELOCUTION
Cache
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 35 · 35 of 161 · Ch. 4 Architecture & System Design

Queue

ready
Plain English

A list of jobs waiting to be processed, in order. Producers add jobs to the back; workers pull jobs from the front.

Analogy

A line at the DMV. You take a ticket (produce), you wait, a clerk calls your number (consume). More clerks = faster line.

Example

Drivia's course generation queue. When a Scholars' Day attendee submits the form, the job goes in the queue. A worker picks it up, runs the edge function, and sends the email.

SAY IT BACK · ELOCUTION
Queue
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 36 · 36 of 161 · Ch. 4 Architecture & System Design

Pub/Sub (Publish/Subscribe)

ready
Plain English

A pattern where publishers broadcast events and subscribers listen for the ones they care about. The publisher doesn't know who's listening.

Analogy

A radio station. The DJ plays a song; anyone with a radio can tune in. The DJ doesn't have a list of listeners.

Example

Supabase Realtime. Your app publishes ‘lesson_completed’; the leaderboard, the XP tracker, and the notification service all subscribe and update independently.

SAY IT BACK · ELOCUTION
Pub/Sub (Publish/Subscribe)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 05 Design Patterns Proven solutions to problems developers keep running into.

Term 37 · 37 of 161 · Ch. 5 Design Patterns

MVC (Model-View-Controller)

ready
Plain English

Split your app into three layers: Model (data and business rules), View (what the user sees), Controller (glue that responds to input).

Analogy

A restaurant. The kitchen is the model (makes the food). The dining room is the view (where you eat). The waiter is the controller (takes your order, brings the food, handles complaints).

SAY IT BACK · ELOCUTION
MVC (Model-View-Controller)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 38 · 38 of 161 · Ch. 5 Design Patterns

Dependency injection (DI)

ready
Plain English

Instead of a class creating its own dependencies, you pass them in from outside. Makes testing and swapping providers trivial.

Example

Bad: class EmailService { resend = new Resend() }. Good: class EmailService { constructor(provider) {} }. Now in tests you pass a fake provider; in prod you pass Resend.

When to use it

Whenever a class talks to the outside world (database, API, file system). DI is how you keep your business logic testable.

SAY IT BACK · ELOCUTION
Dependency injection (DI)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 39 · 39 of 161 · Ch. 5 Design Patterns

Factory

ready
Plain English

A function whose job is to create objects, often choosing which kind to create based on input.

Example

A createPaymentProvider(country) that returns a Stripe client for most countries, Adyen for Brazil, and a mock for tests.

SAY IT BACK · ELOCUTION
Factory
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 40 · 40 of 161 · Ch. 5 Design Patterns

Singleton

ready
Plain English

A class where only one instance is ever created, shared everywhere.

Example

A database connection pool. You want one pool, not 500.

Watch out for

Abused constantly. Singletons are global variables in a suit. They make testing painful because tests can't get a fresh one. Use sparingly.

SAY IT BACK · ELOCUTION
Singleton
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 41 · 41 of 161 · Ch. 5 Design Patterns

Observer

ready
Plain English

An object announces when something changes; any other object that cares subscribes and gets notified.

Example

React's useState. When state changes, every component that reads it re-renders. That's the observer pattern — you just don't see the plumbing.

SAY IT BACK · ELOCUTION
Observer
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 42 · 42 of 161 · Ch. 5 Design Patterns

Adapter

ready
Plain English

A wrapper that makes one interface look like another. Glue between two things that weren't designed to talk.

Example

Your code expects an ILogger interface, but the library you want to use has winston.info(). You write a WinstonAdapter that exposes ILogger and forwards calls to winston.

SAY IT BACK · ELOCUTION
Adapter
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 43 · 43 of 161 · Ch. 5 Design Patterns

Middleware

ready
Plain English

A function that runs between the request and the handler. Each middleware can inspect, modify, reject, or pass the request along.

Analogy

Airport security. Every passenger walks through it on the way to the gate. Security inspects, stops some, lets most pass.

Example

Next.js middleware that checks for a valid auth cookie before letting the request reach the dashboard. If there's no cookie, redirect to login.

SAY IT BACK · ELOCUTION
Middleware
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 06 Data Structures The shapes data takes in memory and why each shape matters.

Term 44 · 44 of 161 · Ch. 6 Data Structures

Array

ready
Plain English

An ordered list of values, indexed by position. Keys mapped to values, with lightning-fast lookup by key.

Analogy

A row of numbered mailboxes. You go to mailbox 7 and grab whatever's inside. The index at the back of a textbook. You want ‘photosynthesis’ — you look it up and it tells you page 243. You don't flip through every page.

Example

userIdToProfile[userId] — instant lookup of any user's profile by their ID. Far faster than scanning a list.

When to use it

When order matters and you mostly access by index or iterate top-to-bottom. Hash map / Hash table / Dictionary When you ask 'give me the thing with this key' a lot. This is 90% of what you'll build with.

Rule

access = O(1), insert/delete in middle = O(n) lookup = O(1) average, O(n) worst case

SAY IT BACK · ELOCUTION
Array
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 45 · 45 of 161 · Ch. 6 Data Structures

Set

ready
Plain English

A collection of unique values. No duplicates, no ordering guarantees.

Example

Tracking which lesson IDs a user has completed. Adding the same ID twice is a no-op. Checking if they completed it is instant.

SAY IT BACK · ELOCUTION
Set
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 46 · 46 of 161 · Ch. 6 Data Structures

Linked list

ready
Plain English

A chain of nodes where each node points to the next. Insert and delete are fast; random access is slow.

When to use it

Rarely, in modern app code. Useful when you're building low-level structures (queues, undo stacks) and need cheap insertion in the middle.

SAY IT BACK · ELOCUTION
Linked list
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 47 · 47 of 161 · Ch. 6 Data Structures

Stack (LIFO)

ready
Plain English

Last In, First Out. You push things on top and pop things off the top.

Analogy

A stack of plates. You grab from the top, you add to the top. The plate at the bottom waits forever.

Example

The browser's back button. Every page you visit gets pushed. Back pops the top.

SAY IT BACK · ELOCUTION
Stack (LIFO)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 35 · 35 of 161 · Ch. 6 Data Structures

Queue (FIFO)

ready
Plain English

First In, First Out. You add to the back and take from the front.

Analogy

A line at Starbucks. First person in line is first to get coffee.

Example

A job queue. Tasks come in, workers pull them in order.

SAY IT BACK · ELOCUTION
Queue (FIFO)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 49 · 49 of 161 · Ch. 6 Data Structures

Tree

ready
Plain English

A hierarchical structure: one root node, each node has children. No cycles.

Analogy

A family tree. One ancestor at the top, branches below. You can always trace back to the root.

Example

The DOM (HTML document). html is the root; body and head are children; everything nests from there.

SAY IT BACK · ELOCUTION
Tree
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 50 · 50 of 161 · Ch. 6 Data Structures

Binary search tree

ready
Plain English

A tree where each node has at most two children, and left children are smaller, right children are larger.

When to use it

When you need sorted data with fast lookup, insertion, and deletion.

Rule

search = O(log n) if balanced, O(n) if degenerate

SAY IT BACK · ELOCUTION
Binary search tree
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 51 · 51 of 161 · Ch. 6 Data Structures

Graph

ready
Plain English

Nodes connected by edges. Can have cycles. The most flexible data structure — almost anything in the real world can be modeled as a graph.

Example

Social networks (people are nodes, friendships are edges). Google Maps (cities are nodes, roads are edges). A learning graph in Drivia (concepts are nodes, ‘prerequisite of’ is an edge).

SAY IT BACK · ELOCUTION
Graph
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 52 · 52 of 161 · Ch. 6 Data Structures

Heap / Priority queue

ready
Plain English

A queue where the item with the highest (or lowest) priority always comes out first, regardless of insertion order.

Example

An ER waiting room. A heart attack jumps ahead of a sprained ankle, even if the sprain showed up first.

When to use it

Task schedulers, A* pathfinding, top-K problems ('give me the 10 most recent lessons').

SAY IT BACK · ELOCUTION
Heap / Priority queue
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 07 Algorithms & Big O Notation How fast a thing is when the data grows.

Term 53 · 53 of 161 · Ch. 7 Algorithms & Big O Notation

Big O notation

ready
Plain English

A way to describe how an algorithm's speed scales with input size. It ignores constants and focuses on the shape of the growth.

Example

Finding a user in a hash map = O(1) (instant, doesn't matter if you have 10 or 10 million users). Sorting a list = O(n log n). Checking all pairs in a list = O(n²).

When to use it

Every code review where someone writes a nested loop over a big table. The question 'what's the Big O of this?' is how you catch a slow query before it hits production.

Watch out for

Big O is about scaling, not raw speed. O(n²) on 10 items is faster than O(n log n) on 10 million. Don't optimize blindly — profile first.

Rule

O(1) < O(log n) < O(n) < O(n log n) < O(n²) < O(2■) < O(n!)

SAY IT BACK · ELOCUTION
Big O notation
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 54 · 54 of 161 · Ch. 7 Algorithms & Big O Notation

O(1) — Constant time

ready
Plain English

Same speed no matter how big the input. Hash map lookup, array index, pushing to a stack.

Example

users[userId] takes the same time whether users has 10 or 10 million entries.

SAY IT BACK · ELOCUTION
O(1) — Constant time
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 55 · 55 of 161 · Ch. 7 Algorithms & Big O Notation

O(log n) — Logarithmic time

ready
Plain English

Doubling the input adds only one more step. Binary search is the classic example.

Analogy

Guessing a number 1-1000. 'Higher or lower' gets you there in 10 guesses, not 1000. Every guess cuts the remaining range in half.

SAY IT BACK · ELOCUTION
O(log n) — Logarithmic time
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 56 · 56 of 161 · Ch. 7 Algorithms & Big O Notation

O(n) — Linear time

ready
Plain English

Twice the input, twice the work. Scanning a list, printing every element.

Example

array.filter(fn) — has to look at every element.

SAY IT BACK · ELOCUTION
O(n) — Linear time
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 57 · 57 of 161 · Ch. 7 Algorithms & Big O Notation

O(n²) — Quadratic time

ready
Plain English

Twice the input, four times the work. Usually a nested loop.

Example

Checking every user against every other user for duplicates. 1000 users = 1,000,000 comparisons. Painful on big data.

SAY IT BACK · ELOCUTION
O(n²) — Quadratic time
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 58 · 58 of 161 · Ch. 7 Algorithms & Big O Notation

Binary search

ready
Plain English

Searching a sorted list by repeatedly halving the remaining range.

Rule

lo = 0; hi = arr.length - 1 while (lo <= hi) { const mid = (lo + hi) >> 1; if (arr[mid] === target) return mid; if (arr[mid] < target) lo = mid + 1; else hi = mid - 1; } return -1;

SAY IT BACK · ELOCUTION
Binary search
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 59 · 59 of 161 · Ch. 7 Algorithms & Big O Notation

Recursion

ready
Plain English

A function that calls itself with a smaller version of the problem, until it hits a base case.

Analogy

Russian nesting dolls. To count them, you count yourself (1), then count the smaller one inside. Eventually you hit the smallest doll with nothing inside — the base case.

Example

Calculating a factorial: factorial(n) = n * factorial(n - 1), with factorial(0) = 1 as the base case.

Watch out for

Forgetting the base case = infinite recursion = stack overflow. Every recursive function needs a clear exit.

SAY IT BACK · ELOCUTION
Recursion
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 60 · 60 of 161 · Ch. 7 Algorithms & Big O Notation

Memoization

ready
Plain English

Caching the result of a function call so the next time you ask with the same input, you skip the work.

Analogy

The first time someone asks you how to get to the DMV, you figure it out. The second time, you just recite the directions from memory.

Example

Fibonacci without memoization is O(2■). With memoization it's O(n). Same algorithm, massive difference.

SAY IT BACK · ELOCUTION
Memoization
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 61 · 61 of 161 · Ch. 7 Algorithms & Big O Notation

Dynamic programming

ready
Plain English

Breaking a problem into smaller overlapping sub-problems, solving each once, and reusing the answers. Memoization is a form of DP.

When to use it

Interview questions and certain real problems (pathfinding, diff algorithms, sequence alignment). Not something you do casually in product code.

SAY IT BACK · ELOCUTION
Dynamic programming
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 62 · 62 of 161 · Ch. 7 Algorithms & Big O Notation

Greedy algorithm

ready
Plain English

At every step, pick the best local option and hope it adds up to the best global answer.

Example

Making change for $0.67 with US coins: pick the biggest coin that fits each time. Works for US coins, fails for some other currencies.

SAY IT BACK · ELOCUTION
Greedy algorithm
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 63 · 63 of 161 · Ch. 7 Algorithms & Big O Notation

Hashing

ready
Plain English

Converting a chunk of data into a fixed-size number via a deterministic function. Same input → same output, always.

Example

sha256('hello') = 2cf24d.... The output looks random but it's reproducible. Used for hash maps, file integrity checks, passwords, and blockchain.

SAY IT BACK · ELOCUTION
Hashing
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 08 Async, Concurrency & Race Conditions How code handles multiple things happening at once.

Term 64 · 64 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Synchronous vs asynchronous

ready
Plain English

Synchronous = one thing at a time, in order. Asynchronous = start something, walk away, come back when it's done.

Analogy

Synchronous = standing in line at the microwave waiting for your food. Asynchronous = starting the microwave and going back to your desk until it beeps.

SAY IT BACK · ELOCUTION
Synchronous vs asynchronous
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 65 · 65 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Callback

ready
Plain English

A function you pass to another function, to be called when that function is done. The OG way async worked in JavaScript.

Example

fs.readFile('x.txt', (err, data) => { ... }). When the read finishes, your callback runs.

Watch out for

Callbacks nested in callbacks nested in callbacks = 'callback hell'. Use promises or async/await to flatten it.

SAY IT BACK · ELOCUTION
Callback
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 66 · 66 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Promise

ready
Plain English

An object that represents a future result — a value that isn't available yet but will be. Syntactic sugar over promises that makes async code look synchronous. async function loadCourse(id) { const course = await db.courses.get(id); const lessons = await db.lessons.forCourse(id); return { course, lessons }; }

Analogy

A pizza order receipt. The pizza isn't here yet, but the receipt is a promise it will be (or that you'll get your money back).

Example

fetch(url).then(r => r.json()).catch(handleError) async / await

When to use it

Default for modern JavaScript/TypeScript. Way easier to read and debug than .then() chains.

SAY IT BACK · ELOCUTION
Promise
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 67 · 67 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Race condition

ready
Plain English

A bug where the outcome depends on the timing of events that shouldn't matter. Two things happen at almost the same time and corrupt each other.

Example

User clicks ‘Save’ twice fast. Both requests read the old profile, both write their version. The second write silently overwrites the first.

When to use it

To describe the class of bugs that only happen in production, only sometimes, only under load, and nobody can reproduce in dev.

Watch out for

Race conditions are the hardest bugs to debug. The fix is usually a database transaction, an optimistic lock (update where version = X), or a queue.

SAY IT BACK · ELOCUTION
Race condition
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 68 · 68 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Deadlock

ready
Plain English

Two operations each holding a resource the other needs, and neither will let go. Everything freezes.

Analogy

Two cars at a one-lane bridge, nose-to-nose. Neither backs up. Traffic stops forever.

Example

Transaction A locks row 1 and waits for row 2. Transaction B locks row 2 and waits for row 1. Postgres detects this and kills one of them.

SAY IT BACK · ELOCUTION
Deadlock
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 69 · 69 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Mutex / Lock

ready
Plain English

A gate that lets exactly one thread or process hold something at a time. Everyone else waits.

Example

lock.acquire() — do work — lock.release(). If someone else called acquire first, you wait your turn.

SAY IT BACK · ELOCUTION
Mutex / Lock
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 70 · 70 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Debounce

ready
Plain English

Wait until a burst of events has stopped before actually running the handler. Typing-triggered searches use this.

Example

A search box that waits 300ms after the user stops typing before hitting the API. Typing 'lesson' triggers one request instead of six.

When to use it

Search-as-you-type, window resize handlers, form validation on input.

SAY IT BACK · ELOCUTION
Debounce
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 71 · 71 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Throttle

ready
Plain English

Allow a handler to run at most once per time window. Extra calls are dropped (or delayed to the next window).

Example

A scroll handler that runs at most once every 100ms instead of 60 times a second.

When to use it

Scroll/resize/mouse-move handlers. Rate-limiting API calls from the client.

SAY IT BACK · ELOCUTION
Throttle
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 72 · 72 of 161 · Ch. 8 Async, Concurrency & Race Conditions

Backpressure

ready
Plain English

When a consumer can't keep up with a producer, and you need a way to slow the producer down instead of dropping data or running out of memory.

Example

Your course generation queue is filling up faster than workers can drain it. Backpressure tells the intake endpoint ‘stop accepting new jobs for a minute.’

SAY IT BACK · ELOCUTION
Backpressure
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 09 Databases Where your data lives and how you talk to it.

Term 73 · 73 of 161 · Ch. 9 Databases

SQL vs NoSQL

ready
Plain English

SQL = tables with strict columns, joined by relationships, queried by a standard language (Postgres, MySQL). NoSQL = looser schemas, documents or key-value pairs, often faster to iterate on but harder to query (MongoDB, DynamoDB, Firestore).

When to use it

Default to SQL (Postgres specifically). NoSQL is tempting for its schema-less start but punishes you the moment you need relationships, reports, or consistency guarantees.

SAY IT BACK · ELOCUTION
SQL vs NoSQL
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 74 · 74 of 161 · Ch. 9 Databases

ACID

ready
Plain English

Four guarantees a real database gives you: Atomicity (transactions happen fully or not at all), Consistency (valid data in, valid data out), Isolation (concurrent transactions don't see each other's half-done work), Durability (once committed, it survives a crash).

Example

Transferring money between bank accounts. Atomicity means the withdrawal and the deposit either both happen or neither does. Without ACID, you get lost money.

SAY IT BACK · ELOCUTION
ACID
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 75 · 75 of 161 · Ch. 9 Databases

Transaction

ready
Plain English

A group of database operations that either all succeed or all fail together. BEGIN; UPDATE accounts SET balance = balance - 100 WHERE id = 1; UPDATE accounts SET balance = balance + 100 WHERE id = 2; COMMIT;

When to use it

Any time two or more writes have to agree on reality.

SAY IT BACK · ELOCUTION
Transaction
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 76 · 76 of 161 · Ch. 9 Databases

Index

ready
Plain English

A sorted lookup structure on one or more columns that makes queries against those columns dramatically faster.

Analogy

The index at the back of a book. Without it, you read every page to find 'photosynthesis.' With it, you flip to page 243 in one step.

Example

Adding an index on lessons.learning_path_id so pulling all lessons for a course drops from 2 seconds to 2 milliseconds.

Watch out for

Indexes speed up reads but slow down writes (every insert has to update the index). Index the columns you query by, not every column you have.

Rule

Query without index: O(n). Query with index: O(log n).

SAY IT BACK · ELOCUTION
Index
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 77 · 77 of 161 · Ch. 9 Databases

Join

ready
Plain English

Combining rows from two tables based on a shared column.

Example

Pulling a user and their subscription in one query instead of two. SELECT u.name, s.plan FROM users u JOIN subscriptions s ON s.user_id = u.id WHERE s.plan = 'pro';

SAY IT BACK · ELOCUTION
Join
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 78 · 78 of 161 · Ch. 9 Databases

Normalization

ready
Plain English

Organizing data so each fact lives in exactly one place. Reduces storage and prevents update anomalies.

Example

Bad: every orders row stores the customer's address. If they move, you have to update every order. Good: orders has a customer_id; address lives in the customers table once.

SAY IT BACK · ELOCUTION
Normalization
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 79 · 79 of 161 · Ch. 9 Databases

Denormalization

ready
Plain English

Deliberately duplicating data to make reads faster, accepting the cost of keeping copies in sync.

When to use it

When read performance matters more than write simplicity — analytics dashboards, leaderboards, feeds.

SAY IT BACK · ELOCUTION
Denormalization
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 80 · 80 of 161 · Ch. 9 Databases

N+1 query problem

ready
Plain English

A performance bug where loading N items triggers N+1 database queries instead of 1 or 2.

Example

Fetching 100 users, then for each one fetching their profile = 1 + 100 = 101 queries. The fix: a single JOIN or an IN query.

Watch out for

ORMs hide this. You write user.posts.forEach(...) and it looks innocent. Turn on query logging and watch the database scream.

SAY IT BACK · ELOCUTION
N+1 query problem
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 81 · 81 of 161 · Ch. 9 Databases

Migration

ready
Plain English

A script that changes the database schema (add a column, create a table, add an index) in a reproducible, versioned way.

Example

20260411_add_live_intake_source.sql. Run in dev, staging, prod in order. Everyone's database stays in sync.

When to use it

Every schema change, without exception. Never edit the schema by hand in prod — you lose the audit trail and break every other environment.

SAY IT BACK · ELOCUTION
Migration
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 82 · 82 of 161 · Ch. 9 Databases

RLS (Row-Level Security)

ready
Plain English

Database-enforced rules that decide which rows a user can see or modify. Policies run inside Postgres; the app can't bypass them.

Example

Drivia's RLS policy: user can only SELECT their own rows from lesson_progress. Even if someone bypasses the app, the database refuses.

When to use it

Multi-tenant SaaS. RLS is your last line of defense — an app bug should not turn into a data leak.

SAY IT BACK · ELOCUTION
RLS (Row-Level Security)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 83 · 83 of 161 · Ch. 9 Databases

Connection pool

ready
Plain English

A shared collection of database connections that the app reuses instead of opening a fresh one for every request.

Example

A pool of 20 Postgres connections. 200 requests coming in? They wait for an idle connection, use it, return it. You don't DOS your own database.

SAY IT BACK · ELOCUTION
Connection pool
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 10 Networking & APIs How one piece of software talks to another across a wire.

Term 84 · 84 of 161 · Ch. 10 Networking & APIs

HTTP

ready
Plain English

The protocol the web runs on. Client sends a request, server sends a response. Methods include GET, POST, PUT, PATCH, DELETE.

SAY IT BACK · ELOCUTION
HTTP
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 85 · 85 of 161 · Ch. 10 Networking & APIs

REST

ready
Plain English

A style of API where URLs are resources (/users/123) and HTTP methods are verbs on those resources. GET reads, POST creates, PUT replaces, PATCH updates, DELETE deletes.

Example

GET /api/users/123 returns user 123. POST /api/lessons creates a lesson. DELETE /api/sessions/456 logs out session 456.

SAY IT BACK · ELOCUTION
REST
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 86 · 86 of 161 · Ch. 10 Networking & APIs

GraphQL

ready
Plain English

A query language where the client says exactly which fields it wants and the server returns just those. One endpoint, flexible shape.

When to use it

When you have many different clients (mobile, web, partner) all needing different slices of the same data. Overkill for a single web app.

SAY IT BACK · ELOCUTION
GraphQL
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 87 · 87 of 161 · Ch. 10 Networking & APIs

WebSocket

ready
Plain English

A persistent, two-way connection between client and server. Unlike HTTP (one request, one response, done), a WebSocket stays open so either side can push messages anytime.

Example

Supabase Realtime. Live chat. LiveKit audio/video. JAX streaming tokens as they're generated.

When to use it

Real-time updates, chat, collaborative editing, live notifications.

SAY IT BACK · ELOCUTION
WebSocket
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 88 · 88 of 161 · Ch. 10 Networking & APIs

Webhook

ready
Plain English

A URL you hand to someone else so they can POST you an event when something happens on their side. Inverse of an API call.

Example

Stripe POSTs to /api/stripe/webhook when a payment succeeds. You don't have to poll Stripe — Stripe tells you.

Watch out for

Always verify the signature. Webhooks are public URLs; anyone can POST to them unless you cryptographically check the sender.

SAY IT BACK · ELOCUTION
Webhook
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 89 · 89 of 161 · Ch. 10 Networking & APIs

HTTP status codes

ready
Plain English

Numbers that tell the client what happened. 2xx = success, 3xx = redirect, 4xx = client's fault, 5xx = server's fault.

Example

200 OK. 201 Created. 301 Moved. 400 Bad Request. 401 Unauthorized. 403 Forbidden. 404 Not Found. 409 Conflict. 429 Too Many Requests. 500 Server Error. 502 Bad Gateway. 503 Service Unavailable.

SAY IT BACK · ELOCUTION
HTTP status codes
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 90 · 90 of 161 · Ch. 10 Networking & APIs

CORS (Cross-Origin Resource Sharing)

ready
Plain English

A browser security rule that blocks JavaScript on site A from calling site B, unless site B explicitly allows it with a special header.

Watch out for

If you see 'CORS error' in the browser console, the fix is on the server, not the client. Add Access-Control-Allow-Origin on the API side.

SAY IT BACK · ELOCUTION
CORS (Cross-Origin Resource Sharing)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 91 · 91 of 161 · Ch. 10 Networking & APIs

TLS / SSL / HTTPS

ready
Plain English

The encryption layer on HTTPS. When you see the padlock, TLS is doing its job — the traffic between your browser and the server is unreadable to anyone in the middle.

Watch out for

SSL is the old name; TLS is the current one. ‘SSL certificate’ usually means TLS certificate. No one except pedants cares.

SAY IT BACK · ELOCUTION
TLS / SSL / HTTPS
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 92 · 92 of 161 · Ch. 10 Networking & APIs

CDN edge caching

ready
Plain English

When the CDN saves a copy of a response and serves it directly to future users without asking your server.

Example

Cloudflare caches your marketing page. The next 10,000 visitors never touch your server.

SAY IT BACK · ELOCUTION
CDN edge caching
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 93 · 93 of 161 · Ch. 10 Networking & APIs

Rate limiting

ready
Plain English

Capping how many requests a client can make in a window. Prevents abuse and protects the service from itself.

Example

100 requests per minute per IP. Beyond that, return 429.

SAY IT BACK · ELOCUTION
Rate limiting
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 11 Security The ways attackers try to break your app, and the words we use to stop them.

Term 94 · 94 of 161 · Ch. 11 Security

Authentication (authn)

ready
Plain English

Proving who the user is. Username + password, magic link, OAuth.

Watch out for

Don't confuse authentication (who) with authorization (what). Different problems, different solutions.

SAY IT BACK · ELOCUTION
Authentication (authn)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 95 · 95 of 161 · Ch. 11 Security

Authorization (authz)

ready
Plain English

Deciding what an authenticated user is allowed to do.

Example

User is logged in (authenticated), but they're not a super_admin, so they can't delete other users (authorization check failed).

SAY IT BACK · ELOCUTION
Authorization (authz)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 96 · 96 of 161 · Ch. 11 Security

OAuth / OAuth 2.0

ready
Plain English

A protocol that lets a user grant one app access to another app's data without sharing their password.

Example

‘Sign in with Google’. Drivia asks Google for a token; Google asks the user to approve; Google hands Drivia a scoped token. Drivia never sees the user's Google password.

SAY IT BACK · ELOCUTION
OAuth / OAuth 2.0
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 97 · 97 of 161 · Ch. 11 Security

JWT (JSON Web Token)

ready
Plain English

A signed string that encodes a user's identity and claims. The server verifies the signature without hitting the database.

Example

Supabase Auth hands the client a JWT after login. Every subsequent API call includes it in the Authorization header.

Watch out for

JWTs can't be revoked mid-flight (without extra infrastructure). Keep their lifetime short (minutes, not days) and use refresh tokens.

SAY IT BACK · ELOCUTION
JWT (JSON Web Token)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 98 · 98 of 161 · Ch. 11 Security

XSS (Cross-Site Scripting)

ready
Plain English

An attack where the attacker injects JavaScript into your site that runs in another user's browser.

Example

A user sets their bio to <script>steal(cookie)</script>. When another user views the profile, the script runs in their browser with their cookies.

When to use it

As a reason to escape user content before rendering. React does this by default; dangerouslySetInnerHTML is where XSS creeps in.

SAY IT BACK · ELOCUTION
XSS (Cross-Site Scripting)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 99 · 99 of 161 · Ch. 11 Security

CSRF (Cross-Site Request Forgery)

ready
Plain English

An attack where a malicious site tricks your logged-in user's browser into making a request to your site without their knowledge.

Example

Evil site has <img src=https://bank.com/transfer?to=evil&amount;=1000>. If you're logged into bank.com, the browser happily sends your session cookie with that image request.

When to use it

When deciding whether to use SameSite=Lax or Strict cookies, or CSRF tokens on form submissions. Modern frameworks handle this for you; know the word so you can verify.

SAY IT BACK · ELOCUTION
CSRF (Cross-Site Request Forgery)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 100 · 100 of 161 · Ch. 11 Security

SQL injection

ready
Plain English

Tricking a database into running attacker-supplied SQL by shoving it into a query string that wasn't properly escaped.

Example

query = 'SELECT * FROM users WHERE name = ' + input. If input is '; DROP TABLE users; --, your users table is gone.

Watch out for

The fix is parameterized queries, always. db.query('... WHERE name = $1', [input]). Never concatenate user input into SQL. Ever.

SAY IT BACK · ELOCUTION
SQL injection
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 101 · 101 of 161 · Ch. 11 Security

Hashing vs encryption

ready
Plain English

Hashing is one-way: you can turn input into a hash, but not the hash back into input. Encryption is two-way: with the key, you can recover the original.

Example

Passwords are hashed (bcrypt, argon2). Your database column never stores the real password, only the hash. Credit card tokens are encrypted because you need to retrieve the original.

Watch out for

Never store passwords plain. Never use MD5 or SHA1 for passwords — they're too fast, which makes cracking them cheap. Use bcrypt or argon2.

SAY IT BACK · ELOCUTION
Hashing vs encryption
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 102 · 102 of 161 · Ch. 11 Security

Salt

ready
Plain English

Random data added to a password before hashing so that two users with the same password don't produce the same hash.

Example

Without salt, an attacker can precompute hashes for common passwords (a 'rainbow table') and match yours. With salt, they'd need a table per user.

SAY IT BACK · ELOCUTION
Salt
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 103 · 103 of 161 · Ch. 11 Security

Secrets management

ready
Plain English

Keeping API keys, database passwords, and private tokens out of code and out of git history.

Example

Vercel environment variables, AWS Secrets Manager, a .env.local file that is in .gitignore.

Watch out for

Once a secret hits git, assume it's compromised even if you force-push to delete it. Rotate immediately.

SAY IT BACK · ELOCUTION
Secrets management
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 104 · 104 of 161 · Ch. 11 Security

OWASP Top 10

ready
Plain English

A regularly-updated list of the most common web-app vulnerabilities, maintained by the Open Web Application Security Project.

When to use it

Reviewing code or talking to a security auditor. Everyone in security assumes you've read it.

SAY IT BACK · ELOCUTION
OWASP Top 10
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 12 Git & Version Control The time machine every developer uses and half of them fear.

Term 105 · 105 of 161 · Ch. 12 Git & Version Control

Commit

ready
Plain English

A saved snapshot of the project at a moment in time, with a message explaining what changed and why.

SAY IT BACK · ELOCUTION
Commit
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 106 · 106 of 161 · Ch. 12 Git & Version Control

Branch

ready
Plain English

A separate line of commits. You can experiment on a branch without affecting main, then merge the branch back in when you're happy.

Analogy

A writer working on a draft of a chapter in a separate document, then pasting the finished version back into the book.

SAY IT BACK · ELOCUTION
Branch
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 107 · 107 of 161 · Ch. 12 Git & Version Control

Merge

ready
Plain English

Combining two branches. Git tries to integrate both sets of changes; if they touched the same lines, you get a merge conflict to resolve.

SAY IT BACK · ELOCUTION
Merge
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 108 · 108 of 161 · Ch. 12 Git & Version Control

Rebase

ready
Plain English

Rewriting your branch's history so it looks like it was built on top of the latest main, instead of branching off an older commit.

Analogy

Merge is stapling your work onto the book. Rebase is re-typing your chapter as if you'd written it yesterday, after everyone else's edits.

When to use it

Before merging, to keep history linear. Great for your own branches. Never rebase public branches others have pulled — you rewrite their history.

SAY IT BACK · ELOCUTION
Rebase
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 109 · 109 of 161 · Ch. 12 Git & Version Control

Squash

ready
Plain English

Combining a bunch of commits into one. 'Fix typo', 'oops', 'actually fix typo' becomes one clean commit.

When to use it

Before merging a feature branch, so main stays readable.

SAY IT BACK · ELOCUTION
Squash
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 110 · 110 of 161 · Ch. 12 Git & Version Control

Cherry-pick

ready
Plain English

Copying a single commit from one branch to another, without merging everything else.

SAY IT BACK · ELOCUTION
Cherry-pick
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 111 · 111 of 161 · Ch. 12 Git & Version Control

Pull request (PR)

ready
Plain English

A formal request to merge your branch into another branch, usually reviewed by a teammate before it's approved.

Example

You push feature/live-onboarding, open a PR to main on GitHub, a teammate reviews, you address comments, the PR gets merged.

When to use it

Every change to main in a team setting. PRs are where code quality and culture live.

SAY IT BACK · ELOCUTION
Pull request (PR)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 112 · 112 of 161 · Ch. 12 Git & Version Control

HEAD

ready
Plain English

A pointer to the current commit — 'where you are right now' in git.

SAY IT BACK · ELOCUTION
HEAD
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 113 · 113 of 161 · Ch. 12 Git & Version Control

Detached HEAD

ready
Plain English

When HEAD points at a specific commit instead of a branch. Anything you commit here is orphaned unless you create a branch from it.

Watch out for

Not a bug, but junior devs panic when they see it. It's just git saying 'you're visiting this commit directly.'

SAY IT BACK · ELOCUTION
Detached HEAD
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 114 · 114 of 161 · Ch. 12 Git & Version Control

Stash

ready
Plain English

A temporary drawer for work you haven't committed yet. git stash hides your changes; git stash pop brings them back.

When to use it

You need to quickly switch branches but aren't ready to commit.

SAY IT BACK · ELOCUTION
Stash
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 115 · 115 of 161 · Ch. 12 Git & Version Control

Force push

ready
Plain English

Overwriting the remote branch with your local version, even if they diverge.

Watch out for

Destroys remote commits. NEVER force-push to main or any shared branch. Fine on your own feature branch after a rebase.

SAY IT BACK · ELOCUTION
Force push
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 116 · 116 of 161 · Ch. 12 Git & Version Control

Reflog

ready
Plain English

Git's private history of where HEAD has been. Saves your life when you think you lost commits.

When to use it

After any 'oh no' moment. git reflog usually shows the commit you thought you lost, and you can reset to it.

SAY IT BACK · ELOCUTION
Reflog
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 117 · 117 of 161 · Ch. 12 Git & Version Control

Worktree

ready
Plain English

Check out a second branch into a separate folder without touching your current working directory.

SAY IT BACK · ELOCUTION
Worktree
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 13 CI / CD & Deployment How code goes from your laptop to real users.

Term 118 · 118 of 161 · Ch. 13 CI / CD & Deployment

CI (Continuous Integration)

ready
Plain English

Automatically running tests and checks on every push. If the build or tests fail, the PR can't merge.

Example

GitHub Actions running npm run test and npm run build on every PR. Red build = merge blocked.

SAY IT BACK · ELOCUTION
CI (Continuous Integration)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 119 · 119 of 161 · Ch. 13 CI / CD & Deployment

CD (Continuous Deployment / Delivery)

ready
Plain English

Delivery = every successful build produces a deployable artifact. Deployment = it also ships to production automatically.

Example

Vercel on Drivia is continuous deployment. Push to main, it's on the internet in 90 seconds. No human in the loop.

SAY IT BACK · ELOCUTION
CD (Continuous Deployment / Delivery)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 120 · 120 of 161 · Ch. 13 CI / CD & Deployment

Pipeline

ready
Plain English

An ordered sequence of CI steps — lint, test, build, deploy. Each step depends on the previous one passing.

Example

Lint → unit tests → integration tests → build → deploy to staging → E2E tests → deploy to prod.

SAY IT BACK · ELOCUTION
Pipeline
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 121 · 121 of 161 · Ch. 13 CI / CD & Deployment

Artifact

ready
Plain English

The thing your build produces that you actually deploy. A compiled binary, a Docker image, a zipped JS bundle.

When to use it

Whenever you're talking about reproducible deploys. The key rule: the same artifact ships to staging and prod, so you know what you're promoting.

SAY IT BACK · ELOCUTION
Artifact
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 122 · 122 of 161 · Ch. 13 CI / CD & Deployment

Environment

ready
Plain English

A distinct copy of your app with its own config: development, staging, production. Same code, different secrets and data.

Example

Dev points at a local Postgres. Staging points at a staging Supabase project. Prod points at the real one. Same Next.js build everywhere.

SAY IT BACK · ELOCUTION
Environment
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 123 · 123 of 161 · Ch. 13 CI / CD & Deployment

Staging

ready
Plain English

A near-identical copy of production used for final testing before a release.

When to use it

Anytime the cost of a bad prod deploy is bigger than the cost of maintaining staging.

SAY IT BACK · ELOCUTION
Staging
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 124 · 124 of 161 · Ch. 13 CI / CD & Deployment

Ephemeral / preview environment

ready
Plain English

A throwaway environment spun up for each pull request, so reviewers can click around the actual running version of the PR.

Example

Vercel automatically spins up drivia-git-feature-live-onboarding.vercel.app for every PR.

SAY IT BACK · ELOCUTION
Ephemeral / preview environment
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 125 · 125 of 161 · Ch. 13 CI / CD & Deployment

Zero-downtime deploy

ready
Plain English

A deployment strategy where users never see an error during a rollout. Old version keeps serving traffic until the new version is ready to take over.

Example

Vercel does this by default. The old deployment keeps running until the new one has fully built and passed health checks.

SAY IT BACK · ELOCUTION
Zero-downtime deploy
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 14 Observability Knowing what your system is doing, while it's doing it.

Term 126 · 126 of 161 · Ch. 14 Observability

Logs

ready
Plain English

Text lines your code writes describing what happened. The oldest and still the most useful debugging tool.

Example

console.log('[travel/intake] submission saved', id). In production, these land in a log aggregator like Datadog or Logtail.

SAY IT BACK · ELOCUTION
Logs
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 127 · 127 of 161 · Ch. 14 Observability

Metrics

ready
Plain English

Numerical measurements over time. ‘Requests per second,’ ‘average response time,’ ‘error rate.’

Example

Grafana showing Drivia's request latency over the last 24 hours. You see a spike at 3am and know when to dig into logs.

SAY IT BACK · ELOCUTION
Metrics
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 128 · 128 of 161 · Ch. 14 Observability

Traces

ready
Plain English

A record of a single request's entire journey across your system — every function it touched, every database query, every external call, and how long each took.

Example

OpenTelemetry traces show you the Scholars' Day intake took 240ms, of which 180ms was waiting on auth.admin.listUsers. Now you know where to optimize.

When to use it

Debugging slow requests across microservices or edge functions where logs alone lose the thread.

SAY IT BACK · ELOCUTION
Traces
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 129 · 129 of 161 · Ch. 14 Observability

SLA / SLO / SLI

ready
Plain English

SLA = Service Level Agreement, the contract with the customer ('99.9% uptime or your money back'). SLO = Service Level Objective, your internal target ('99.95% uptime'). SLI = Service Level Indicator, the thing you actually measure (uptime percentage from a probe).

Example

Drivia promises 99.9% uptime (SLA). Internally we target 99.95% (SLO) so we have buffer. We measure uptime via synthetic probes every 60 seconds (SLI).

SAY IT BACK · ELOCUTION
SLA / SLO / SLI
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 130 · 130 of 161 · Ch. 14 Observability

Error budget

ready
Plain English

How much failure you can tolerate before breaking your SLO. A 99.9% SLO gives you ~43 minutes of downtime per month — that's your budget.

When to use it

To decide whether to slow down and fix reliability (burning budget fast) or speed up and ship features (budget healthy).

SAY IT BACK · ELOCUTION
Error budget
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 131 · 131 of 161 · Ch. 14 Observability

Alert

ready
Plain English

An automated message that fires when a metric crosses a threshold — paging oncall, sending a Slack ping, opening a ticket.

SAY IT BACK · ELOCUTION
Alert
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 132 · 132 of 161 · Ch. 14 Observability

On-call

ready
Plain English

A rotation where one engineer is the first responder for production incidents, usually for a week at a time.

SAY IT BACK · ELOCUTION
On-call
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 133 · 133 of 161 · Ch. 14 Observability

Postmortem

ready
Plain English

A blameless written report after an incident. Timeline of what happened, what was broken, what the fix was, and how to prevent it next time.

Watch out for

Blameless is the key word. The goal is to fix the system, not the person.

SAY IT BACK · ELOCUTION
Postmortem
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 134 · 134 of 161 · Ch. 14 Observability

MTTR / MTBF

ready
Plain English

MTTR = Mean Time To Recover (how fast you get back up). MTBF = Mean Time Between Failures (how often you go down). The goal is high MTBF, low MTTR.

SAY IT BACK · ELOCUTION
MTTR / MTBF
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 15 AI / ML Vocabulary The words every CTO building on LLMs needs to speak fluently.

Term 135 · 135 of 161 · Ch. 15 AI / ML Vocabulary

LLM (Large Language Model)

ready
Plain English

A neural network trained on billions of words that can predict the next token given previous tokens. GPT-4, Claude, Gemini, Llama.

Example

JAX in Drivia is an LLM wrapped in a system prompt, a retrieval layer, and the H2E adaptive context.

SAY IT BACK · ELOCUTION
LLM (Large Language Model)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 136 · 136 of 161 · Ch. 15 AI / ML Vocabulary

Token

ready
Plain English

The unit an LLM processes. Not quite a word, not quite a letter — somewhere in between. 'hello' is 1 token; 'unbelievable' might be 3.

Example

A 500-word lesson is roughly 650 tokens. An 8k-token context window can hold about 6,000 words of conversation + system prompt + retrieved context.

Rule

~1 token = 4 characters of English = ¾ of a word

SAY IT BACK · ELOCUTION
Token
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 137 · 137 of 161 · Ch. 15 AI / ML Vocabulary

Context window

ready
Plain English

The maximum number of tokens a model can consider at once — prompt + response combined.

Example

GPT-4 Turbo: 128k tokens (~96,000 words). Claude: 200k+. If you exceed it, the model forgets the oldest parts.

When to use it

Designing prompts. If your prompt + expected response is near the limit, you need a retrieval strategy.

SAY IT BACK · ELOCUTION
Context window
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 138 · 138 of 161 · Ch. 15 AI / ML Vocabulary

Prompt engineering

ready
Plain English

The craft of writing model inputs (system prompts, user prompts, examples) to get reliable outputs.

Example

Telling JAX ‘You are an expert tutor. Respond in 3 sentences. Address the student by name.’ gets very different outputs than ‘help’.

SAY IT BACK · ELOCUTION
Prompt engineering
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 139 · 139 of 161 · Ch. 15 AI / ML Vocabulary

System prompt

ready
Plain English

The instructions you give the model before the user's message. Sets persona, rules, tone, and constraints.

Example

Drivia's JAX system prompt includes the H2E context, Wilson's voice, and the rule 'never break character.'

SAY IT BACK · ELOCUTION
System prompt
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 140 · 140 of 161 · Ch. 15 AI / ML Vocabulary

Fine-tuning

ready
Plain English

Training a pre-trained model further on your own data so it specializes in your task or voice.

When to use it

When prompt engineering isn't enough and you have thousands of high-quality examples. Expensive; usually prompt engineering + RAG beats fine-tuning in cost and flexibility.

SAY IT BACK · ELOCUTION
Fine-tuning
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 141 · 141 of 161 · Ch. 15 AI / ML Vocabulary

RAG (Retrieval-Augmented Generation)

ready
Plain English

Before calling the LLM, look up relevant documents from a database and stuff them into the prompt. The model answers with fresh, specific knowledge you didn't have to train it on.

Example

A student asks JAX 'what's on slide 3 of today's lesson?' Drivia retrieves the lesson content from Postgres, pastes it into the prompt, and JAX answers from real context instead of hallucinating.

When to use it

Anytime the answer lives in your own data. RAG is the default pattern for ‘AI that knows my stuff.’

SAY IT BACK · ELOCUTION
RAG (Retrieval-Augmented Generation)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 142 · 142 of 161 · Ch. 15 AI / ML Vocabulary

Embedding

ready
Plain English

A fixed-length vector of numbers that represents the meaning of a piece of text. Similar meaning = similar vectors.

Analogy

GPS coordinates for ideas. 'puppy' and 'dog' are close together; 'puppy' and 'calculus' are far apart.

Example

Drivia turns every lesson into an embedding and stores them in a vector index. When a student asks a question, we embed the question and find the closest lessons by vector distance.

Rule

similarity = cosine(vec_A, vec_B), range [-1, 1]

SAY IT BACK · ELOCUTION
Embedding
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 143 · 143 of 161 · Ch. 15 AI / ML Vocabulary

Vector database

ready
Plain English

A database optimized for similarity search over embeddings. Pinecone, pgvector, Weaviate, Chroma.

Example

Drivia uses pgvector, Postgres's vector extension, so the embeddings live next to the rest of the data.

SAY IT BACK · ELOCUTION
Vector database
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 144 · 144 of 161 · Ch. 15 AI / ML Vocabulary

Hallucination

ready
Plain English

When an LLM confidently makes up facts that aren't true. It's not lying; it's generating statistically plausible text without a grounding in reality.

Watch out for

The #1 product risk with LLMs. Mitigations: RAG, citations, 'I don't know' prompting, and user-facing disclaimers.

SAY IT BACK · ELOCUTION
Hallucination
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 145 · 145 of 161 · Ch. 15 AI / ML Vocabulary

Temperature

ready
Plain English

A knob on LLM generation. Low (0.0) = deterministic, boring, factual. High (1.5+) = creative, varied, weird.

When to use it

Temperature 0.2 for factual answers. Temperature 0.7-0.9 for creative writing. Match it to the task.

SAY IT BACK · ELOCUTION
Temperature
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 146 · 146 of 161 · Ch. 15 AI / ML Vocabulary

Chain of thought (CoT)

ready
Plain English

Asking the model to show its reasoning step by step before the final answer. Reasoning visibly often beats reasoning in one shot.

Example

'Solve this problem step by step. Then give the answer.' Accuracy on math problems jumps dramatically.

SAY IT BACK · ELOCUTION
Chain of thought (CoT)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 147 · 147 of 161 · Ch. 15 AI / ML Vocabulary

Function calling / Tool use

ready
Plain English

A feature where the LLM can request a structured call to an external tool (database, API, calculator) and use the result in its answer. Training method where humans rank model outputs, and the model learns to prefer the highly-ranked kind. How ChatGPT became agreeable.

Example

JAX calls getStudentProgress(userId), gets a real number, and uses it in the response instead of making one up. RLHF (Reinforcement Learning from Human Feedback)

When to use it

To explain why modern LLMs are so polite. It's not natural — it was trained in.

SAY IT BACK · ELOCUTION
Function calling / Tool use
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 148 · 148 of 161 · Ch. 15 AI / ML Vocabulary

Zero-shot / Few-shot / Many-shot

ready
Plain English

Zero-shot = ask the model directly with no examples. Few-shot = include a handful of examples in the prompt. Many-shot = dozens of examples.

When to use it

Few-shot is usually the sweet spot for niche tasks where the model needs a pattern to match.

SAY IT BACK · ELOCUTION
Zero-shot / Few-shot / Many-shot
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 149 · 149 of 161 · Ch. 15 AI / ML Vocabulary

Distillation

ready
Plain English

Training a small, fast model to imitate a big, slow one. You get most of the quality at a fraction of the cost.

Example

DeepSeek-R1-Distill-Llama-70B, mentioned on your Scholars' Day slide 13, is a smaller model trained to imitate DeepSeek-R1's reasoning.

SAY IT BACK · ELOCUTION
Distillation
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 150 · 150 of 161 · Ch. 15 AI / ML Vocabulary

Quantization

ready
Plain English

Compressing a model's weights to smaller numbers (int8, int4) so it runs faster on cheaper hardware, with a small quality hit.

Example

Qwen2.5-3B-Instruct-AWQ on your RunPod endpoint — AWQ is a quantization method. A 3B-parameter model runs on a single consumer GPU.

SAY IT BACK · ELOCUTION
Quantization
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

Chapter 16 Team & Process Vocabulary The words engineering teams use to coordinate and decide.

Term 151 · 151 of 161 · Ch. 16 Team & Process Vocabulary

MVP (Minimum Viable Product)

ready
Plain English

The smallest version of a product that delivers real value to real users and lets you learn whether anyone cares. Not 'cheap' — 'minimum to learn.'

Watch out for

MVP is not 'shoddy and incomplete.' It's 'ruthlessly scoped and actually good at the one thing it does.'

SAY IT BACK · ELOCUTION
MVP (Minimum Viable Product)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 152 · 152 of 161 · Ch. 16 Team & Process Vocabulary

Spike

ready
Plain English

A time-boxed investigation to answer a technical question before committing to a plan. 'Can we actually do this in 2 days?' 'Is this library fast enough?'

SAY IT BACK · ELOCUTION
Spike
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 153 · 153 of 161 · Ch. 16 Team & Process Vocabulary

RFC (Request for Comments)

ready
Plain English

A written proposal for a technical change, circulated for team feedback before building anything. Forces clarity and catches objections cheap.

When to use it

Any change that affects more than one person's area. 'I'm going to restructure the billing service' — write the RFC, circulate, discuss, then build.

SAY IT BACK · ELOCUTION
RFC (Request for Comments)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 154 · 154 of 161 · Ch. 16 Team & Process Vocabulary

Code review

ready
Plain English

Another engineer reads your PR and comments before it merges. The single highest-ROI activity in engineering culture.

Watch out for

Good reviews are kind, specific, and focused on impact. Bad reviews are pedantic, ego-driven, or a rubber stamp. Train the team on what a good review looks like.

SAY IT BACK · ELOCUTION
Code review
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 155 · 155 of 161 · Ch. 16 Team & Process Vocabulary

Sprint

ready
Plain English

A fixed time-box (usually 1-2 weeks) in which a team commits to a set of work and ships it.

SAY IT BACK · ELOCUTION
Sprint
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 156 · 156 of 161 · Ch. 16 Team & Process Vocabulary

Standup

ready
Plain English

A short daily meeting where each engineer says what they did yesterday, what they'll do today, and what's blocking them.

Watch out for

Easy to ruin by turning into status theater for a manager. Keep it under 10 minutes and focused on unblocking each other.

SAY IT BACK · ELOCUTION
Standup
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 157 · 157 of 161 · Ch. 16 Team & Process Vocabulary

Retrospective (retro)

ready
Plain English

A team meeting at the end of a sprint or project to talk about what went well, what didn't, and what to change.

When to use it

After anything that mattered — a launch, an outage, a finished sprint. The team that runs good retros gets better. The team that skips them plateaus.

SAY IT BACK · ELOCUTION
Retrospective (retro)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 158 · 158 of 161 · Ch. 16 Team & Process Vocabulary

Backlog

ready
Plain English

The prioritized list of work waiting to be done.

SAY IT BACK · ELOCUTION
Backlog
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 159 · 159 of 161 · Ch. 16 Team & Process Vocabulary

Kanban

ready
Plain English

A work management style where tasks flow across columns (To Do → In Progress → Review → Done) and you cap work-in-progress to avoid chaos.

SAY IT BACK · ELOCUTION
Kanban
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 160 · 160 of 161 · Ch. 16 Team & Process Vocabulary

Paging / oncall rotation

ready
Plain English

The practice of having one engineer on-call 24/7 to respond to production incidents, usually rotating weekly.

SAY IT BACK · ELOCUTION
Paging / oncall rotation
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.
Term 161 · 161 of 161 · Ch. 16 Team & Process Vocabulary

SEV (Severity)

ready
Plain English

How bad an incident is. SEV-1 = complete outage, all hands. SEV-4 = minor, fix during business hours. You don't need to memorize this. You need to recognize patterns. When a developer on your team says ‘we're hitting an N+1 on the lessons query,’ you already know the shape of the problem (too many queries), the shape of the fix (JOIN or batch fetch), and the right follow-up question ('is this blocking a user-facing page or a background job?'). That recognition is what separates a CTO who leads engineers from a CTO who gets led. The vocabulary is the thin end of the wedge — knowing the word gives you the permission to ask the right question. The right question gets you the real answer. Keep this open next to your editor. Come back to sections when real code forces them on you. The terms will stop being words and start being instincts — and when they do, you'll be running the best engineering org UMHB ever produced. — Your terminal AI, 2026-04-11

SAY IT BACK · ELOCUTION
SEV (Severity)
Tap Hear it first to listen, then Say it back. Speak naturally — we score how closely you match.

⌨ Keyboard Shortcuts

Jump to chapter N
19
Hear pronunciation of nearest chapter
H
Toggle record
R
Animate formula breakdown
A
Focus typing on nearest chapter
T
Typing: auto-indent / skip to end of line
Tab
Typing: newline + auto-indent next line
Enter
Reset current chapter typing
Esc Esc
Toggle this overlay
?