Get AI summaries of any video or article — Sign up free
Bullsh*t Enginners Say Tier List | The Standup thumbnail

Bullsh*t Enginners Say Tier List | The Standup

The PrimeTime·
5 min read

Based on The PrimeTime's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.

TL;DR

“Premature optimization is the root of all evil” was ranked worst because “premature” is undefined and the advice provides no actionable decision rule.

Briefing

A group of programmers and engineers ranked common “thought-terminating clichés” in software engineering—phrases that shut down discussion instead of clarifying tradeoffs. The central takeaway: many of these lines are harmful not because they’re always wrong, but because they prematurely end the reasoning needed to choose the right technical path, often masking uncertainty, shifting blame, or locking teams into bad decisions.

The discussion put “premature optimization is the root of all evil” at the bottom (F tier). The complaint wasn’t that optimization is never needed; it was that the word “premature” makes the advice meaningless. Optimization can be appropriate early, and the phrase gives no actionable criteria for when to measure, what to optimize, or what “premature” even means in context. Closely related, “never do a full rewrite” also drew heavy criticism, landing near the very bottom (F tier in the group’s final leaning). While the phrase is often treated as a rule of thumb, the participants argued that full rewrites can be justified—especially when baked-in complexity, missing knowledge, or a fundamentally broken design makes incremental change too risky. Still, the group agreed that “never” is too absolute, and in practice it can trap teams in legacy code.

Other clichés earned mid-to-high rankings depending on how honest they were about tradeoffs. “Programmer time is worth more than CPU time” landed around B/C. The group disliked the attitude when it becomes an excuse to ship inefficient software indefinitely, but they acknowledged it can be a pragmatic business stance when the goal is to buy compute rather than engineer performance. The phrase “make it work, make it right, make it fast” was also graded as B: it sounds reasonable, yet it often gets used to defer the hard requirements work until later, encouraging teams to ship something that works but is structurally hard to optimize. Participants suggested a more truthful framing—prototype first, or “make it work but don’t ship it,” then iterate.

Several “process” phrases were treated as especially unhelpful in team settings. “Don’t repeat yourself” (DRY) was debated: it can be valuable for individual code, but becomes thought-terminating when used to force abstractions that add complexity, create “util” graveyards, or block straightforward, readable duplication. “Use the right tool for the job” split the room: one side saw it as S tier because it should mean choosing tools based on constraints (e.g., Rust for memory safety, C when you intentionally need unsafe control), while others argued it’s often used as a lazy justification for whatever stack is fashionable—like defaulting to TypeScript for everything.

The group also ranked “best practices” talk as a frequent red flag. “Use my phone / use my best practices” was treated as S tier because it offers no evidence, changes over time, and turns engineering judgment into authority. “You ain’t going to need it” was discussed as an “ultimate self-terminating” cliché, but the participants admitted they hadn’t encountered it often enough to rank confidently.

Overall, the ranking exercise framed these phrases as shortcuts that can end productive technical debate. The most consistent remedy across the conversation: replace absolutes with context—measure, prototype, and be explicit about goals—so teams don’t confuse slogans with engineering decisions.

Cornell Notes

Engineers ranked common “thought-terminating” software clichés by how much they shut down useful reasoning. The lowest scores went to statements that are either meaningless (“premature optimization is the root of all evil”) or too absolute to be safe (“never do a full rewrite”). Mid-tier phrases were often seen as situational: “programmer time is worth more than CPU time” can be honest about tradeoffs, but becomes harmful if it excuses permanent inefficiency. Several team-oriented slogans—especially “best practices” and DRY-as-a-command—were criticized for encouraging authority over evidence and for pushing abstractions that add complexity. The practical message: swap slogans for context, measurement, and explicit goals (prototype vs. ship, incremental vs. rewrite).

Why did “premature optimization is the root of all evil” land at the very bottom?

Because “premature” is undefined. The phrase implies there’s a correct time to optimize, but it never provides criteria for when that time arrives. Optimization might be appropriate early in some cases, and without measurement or context the advice becomes a non-statement—people repeat it as if it bans optimization, even though it doesn’t actually tell teams what to do.

What’s the core critique of “never do a full rewrite,” and why wasn’t it treated as universally correct?

The group argued that “never” is too absolute because full rewrites can be justified when incremental change is too risky or when the system’s complexity and “baked-in knowledge” are missing or misleading. They also noted operational realities: rewrites can block feature delivery unless teams maintain two versions or use feature flags, which makes rewrites costly. Still, the absolute wording can trap teams in legacy code when a reset would be safer.

How did the participants evaluate “programmer time is worth more than CPU time”?

They treated it as situational. It can be a pragmatic business decision—paying for compute rather than spending engineering effort on performance—but it becomes harmful when it turns into an excuse to never improve. The phrase was ranked higher than some others because it’s relatively “honest” about intentionally accepting CPU inefficiency, rather than pretending performance doesn’t matter.

Why was “make it work, make it right, make it fast” considered harmful in practice?

Even though the sequence sounds sensible, it’s often used to defer the real structural thinking until later. That encourages teams to ship something that works without the requirements needed to make later optimization feasible. The group suggested a more truthful alternative: prototype quickly, don’t ship the prototype, and only then invest in making it correct and fast.

What was the nuanced take on “Don’t Repeat Yourself” (DRY)?

DRY was criticized when used as a blanket command in team debates—forcing abstractions that create configuration complexity, “util” graveyards, and unreadable indirection. But it was defended for individual coding: when someone notices they’re doing the same thing twice, extracting a function can improve clarity and maintainability. The key distinction was whether DRY is used for judgment and readability or as a weapon to override disagreement.

Why did “use the right tool for the job” get both high praise and strong backlash?

One side treated it as S tier when it means choosing tools based on constraints and requirements (e.g., Rust for memory safety, C when unsafe control is intentional). The backlash came from how it’s often used: as a lazy justification for whatever stack is fashionable, like defaulting to TypeScript for everything regardless of whether it’s actually the right fit.

Review Questions

  1. Which phrases were criticized for being “non-statements,” and what about their wording made them unhelpful?
  2. Give one example of how a phrase like “never do a full rewrite” can become harmful even if the underlying concern is valid.
  3. How do the participants distinguish between DRY as a personal coding principle versus DRY as a team-level argument?

Key Points

  1. 1

    “Premature optimization is the root of all evil” was ranked worst because “premature” is undefined and the advice provides no actionable decision rule.

  2. 2

    “Never do a full rewrite” was treated as too absolute; full rewrites can be justified when incremental change is too risky or when the system’s complexity and knowledge make iteration ineffective.

  3. 3

    “Programmer time is worth more than CPU time” was graded mid-tier because it can reflect a legitimate tradeoff, but it becomes harmful when it excuses permanent performance neglect.

  4. 4

    “Make it work, make it right, make it fast” was rated mid-tier because it often gets used to defer requirements and structural planning, making later optimization harder.

  5. 5

    DRY was criticized when used to force abstractions in team arguments, but supported when it’s an honest response to duplicated logic in one’s own code.

  6. 6

    “Use the right tool for the job” was judged by intent: it’s valuable when tied to constraints, but becomes thought-terminating when it’s just a justification for fashionable defaults.

  7. 7

    “Best practices” talk was treated as especially suspect because it often lacks evidence, changes over time, and replaces engineering judgment with authority.

Highlights

“Premature optimization is the root of all evil” was condemned as a meaningless slogan: “premature” doesn’t define when optimization is actually appropriate.
“Never do a full rewrite” was ranked near the bottom because “never” ignores real cases where rewrites reduce risk or reset broken architecture.
The group repeatedly returned to a theme of honesty: prototype quickly if needed, but don’t pretend a temporary, structurally wrong solution will magically become correct and fast later.
DRY and “right tool for the job” were judged less by the words and more by how they’re used—either to clarify tradeoffs or to shut down debate.

Topics

Mentioned

  • Casey Mirtori