Tier-ranking famous programming laws
- YT :: https://www.youtube.com/watch?v=Bye5avxGMKM
- Original title :: Programming Laws Tier list | TheStandup
Prime, TJ, Trash and Casey Muratori rank eleven well-known "laws" of software engineering. Only Conway's, Wirth's and Hyrum's laws earn S tier without dispute. Most others get demoted into newly invented tiers — "unreliable as a law", "true but obvious", "needs more data" — because the panel sees them as occasional observations rather than laws. A recurring theme is whether AI changes a law's validity: Conway's law is said to survive into agent systems, while Brooks's and Eagleson's laws are weakened by being able to ask an AI about an unfamiliar or forgotten codebase.
Conway's law — S tier
Organizations produce designs that copy their communication structures. Casey reframes it as a law about information-transfer cost: knowledge inside one head moves fastest, between two people slower, between orgs and companies slower still, so a product evolves fastest where it does not need to cross a boundary. Org charts are just one instance. Microservices and micro-frontends are manifestations of Conway's law — techniques to lower its cost, sensible for Google-sized orgs and wasteful for teams where the checkout programmer sits next to you. Casey expects the law to hold for AI agents too: slow links between agents (a compiler in the loop, test round-trips) will become the bottlenecks, and systems will improve in uneven pockets.
Brooks's law — "unreliable as a law"
Adding people to a late project makes it later. Casey calls it a System/360-era observation built on communication-cost graphs that does not reflect modern development: he has seen four-person teams outrun three-person ones and the reverse. Today there is more shared knowledge (everyone knows standard AWS components) and AI can explain repos and commit history to a newcomer. Trash's counterpoint from Epic: projects are often "late" because sales promised a two-year project in three months; adding people only adds arguing over architecture. Prime notes not-invented-here bespoke tooling at large companies still makes onboarding costly. Placed C/D, then into a new "unreliable as a law" tier.
Mooers's law — B tier
An information system will not be used when having the information is more painful than not having it — e.g. ignoring a performance report on a late project because it would raise questions. Casey: true for some people, the opposite for others who love a list of things to work on. Prime links it to ignoring user metrics that contradict a product thesis, and to academic peer review being easier for papers that confirm the consensus. Trash: at some point every team has to stop discovering problems and ship.
Eagleson's law — F tier
After six months, your own code looks like someone else's. Prime jokes it is now six seconds because he never reads AI-written code, and that AI makes returning to old projects easy. Casey finds his own code — even bad code — far easier to return to than others', because his underlying assumptions and style have barely changed in decades. TJ, who deliberately experiments with styles (a functional phase he could not read three weeks later), disagrees; imperative code stays readable.
Linus's law — "needs more data"
Given enough eyeballs, all bugs are shallow. Prime loves it as a statement about locating known bugs via a large engaged community (the kernel mailing list). Others call it "true but obvious" — like buying more lottery tickets — and Casey points out Linux is as buggy as anything else and crowds are often confidently wrong, as in 3 a.m. production incidents. Left off the board pending more data.
Wirth's law — S tier
Software gets slower faster than hardware gets faster. Prime notes DOM add/remove runs in microseconds even on a slow VM, yet websites are slow. Casey: it is now easier to train neural nets (DLSS 5) than to make good graphics; games and movie VFX look worse than they used to.
Cunningham's law and "Annie's law"
The best way to get a right answer online is to post a wrong one. Casey thinks it has degraded: real experts eventually tune out the flood of bad posts. The panel adopts "Annie's law" from a viral post — ask nicely first, then reply from a second account with a confidently wrong answer; people prefer correcting to helping — and ranks it above Cunningham's.
Goodhart's law — A tier
When a measure becomes a target it ceases to be a good measure. Casey: true for indirect measures, false for hard ones like startup time, which cannot be faked; the law comes from public policy and applies less to programming. TJ: it bites organizationally beyond pizza-team size — an "AI token spend" leaderboard leads to overnight token-burning loops; bonuses for startup-time PRs reward shipping slow features to optimize later or splitting work into 50 PRs (the cobra effect). Prime's theory about Netflix: optimizing median watch hours lowered the content quality bar, undermining what made the service valuable, whereas Apple TV is "always a banger".
Hyrum's law — S tier
With enough API users, every observable behavior will be depended on regardless of the contract. Example: Go's loop-variable semantics stayed for many releases (changed in Go 1.22) because code relied on the quirk. Prime, with a career of API work, ranks it S.
Hofstadter's law — "unreliable as a law"
It always takes longer than expected, even accounting for Hofstadter's law. Casey: the real problem is unpredictability — sometimes a feared task takes 30 minutes, sometimes a trivial one takes a month. TJ: in orgs work is rarely handed over early (people finish but keep "working"). Casey's alternative: work tends to finish near whatever deadline is set — Parkinson's law, which the panel agrees is true.