Tracks·Mixed·33 terms
Start here
The vocabulary almost every engineer meets, whatever they work on. Thirty-three terms, beginning with the ones you have already run into without knowing they had a name.
Read in order · tick what you already know
- 01
the test fails one run in twenty, everyone reruns CI until it goes green, and the suite stops meaning anything.
Flaky testBackend
- 02
you went to click the button, an ad loaded above it, and you clicked something else entirely.
Cumulative layout shiftFrontend
- 03
the meeting spent five minutes on the data retention policy and thirty-five on the button label.
BikesheddingArchitecture
- 04
there is one machine everyone is afraid to reboot, and its configuration exists only in the history of who logged in.
Snowflake serverPlatform
- 05
every task is green, the run took its usual eleven minutes, and it processed zero rows.
Silent failureData
- 06
you sent the same prompt twice and got two different answers, and nothing in your code changed between the calls.
Non-determinismAI
- 07
there is a 3 in the middle of the expression and nobody left a note saying which three that is.
Magic numberPatterns
- 08
nothing is broken, but the way the parameters keep getting passed through five functions feels wrong.
Code smellArchitecture
- 09
you changed the function, everything passed, and it turned out nothing had called it for a year.
Dead codePatterns
- 10
you changed one module and three tests in a directory you had never opened went red.
CouplingArchitecture
- 11
the code for one job is spread over four files, and each of those files also does three unrelated jobs.
CohesionArchitecture
- 12
the same value was stored in two places and they drifted apart, so the header and the sidebar disagreed.
Single source of truthFrontend
- 13
the vendor added three columns and renamed one over the weekend, and nobody told anybody.
Schema driftData
- 14
the class asks for what it needs in its constructor and never goes looking, so a test can hand it anything.
Dependency injectionPatterns
- 15
you changed the shape of the code all afternoon and the tests never went red once.
RefactoringArchitecture
- 16
you shipped the quick version to make the date, wrote down what you skipped, and paid for it every sprint after.
Technical debtArchitecture
- 17
you measure the delay before the work starts moving, separately from how long the work itself takes.
LatencyBackend
- 18
you changed the row and now you have to hunt down every cached copy of it before someone reads the old one.
Cache invalidationBackend
- 19
you fetch a list of fifty orders and then the ORM quietly issues fifty more queries, one per order, to load the customer.
N+1 queryBackend
- 20
the bug only shows up under load, never in tests, and the outcome depends on which of two threads got there first.
Race conditionBackend
- 21
you can safely run the same operation five times and the system ends up in exactly the state it would after one.
IdempotentBackend
- 22
you give up on the call after two seconds instead of holding the thread open until the other side eventually answers or does not.
TimeoutBackend
- 23
you retry the failed call, wait twice as long, retry again, and add a little randomness so your whole fleet does not retry in lockstep.
Exponential backoffAI
- 24
after enough consecutive failures you stop calling the provider at all for a while, instead of queueing thousands of doomed requests behind a dead dependency.
Circuit breakerAI
- 25
every bill, rate limit and context error you will ever see is denominated in tokens, not words or requests.
TokenAI
- 26
everything you send and everything it says has to fit one budget, and the retrieved documents are what usually blow it.
Context windowAI
- 27
you asked for a citation and got a real-looking one that does not exist, delivered with the same confidence as the parts that were true.
HallucinationAI
- 28
you put the new build on the servers, which is a completely separate event from anybody actually using the new behaviour.
DeploymentBackend
- 29
you flip the flag and users start getting the new behaviour, on code that has already been running in production for a week.
ReleaseBackend
- 30
you ship the code turned off, switch it on for yourself, then for one percent, then for everyone.
Feature flagBackend
- 31
the deploy broke something so you put the previous version back rather than trying to fix forward under pressure.
RollbackBackend
- 32
it worked in staging and broke in production, because staging had one replica, no mesh and a different database size.
Environment parityPlatform
- 33
you write up what happened focusing on why the system allowed it, not on who typed the command.
Blameless postmortemBackend