Skip to content
DevMeme
113 of 7435
A Field Guide to Software Development Anti-Patterns
DevCommunities Post #146, on Feb 17, 2019 in TG

A Field Guide to Software Development Anti-Patterns

Why is this DevCommunities meme funny?

Level 1: The Honest Instruction Manuals

Imagine if the books on a chef's shelf didn't say "Mastering French Cuisine" but instead said what cooking is really like: "Tasting It Until It Seems Fine," "Hiding the Burnt Part," and "Ordering Pizza and Plating It Nicely." That's this poster — 28 fake serious-looking textbooks with cute animal drawings, each titled with something programmers actually do but never admit: guessing until things work, copying other people's answers, promising a quick fix that stays forever. It's funny the way any honest confession is funny — every person who builds software looks at this wall, recognizes their entire week, and laughs because the only alternative is to update their résumé truthfully.

Level 2: Decoding the Running Jokes

Some context for the densest covers. O'Reilly is the publisher whose animal-cover books (the camel book, the rhino book) trained generations of programmers — the O RLY? meme generator lets anyone forge covers in that style. Stack Overflow is the Q&A site where developers find answers to paste; the joke isn't that this is rare, it's that it's universal and nobody puts it on their CV. Vim is a powerful terminal text editor with modal controls — you can't just type to type, and you can't just quit to quit — making "how do I exit" a genuine rite of passage. DROP TABLE refers to SQL injection: sneaking database commands into input fields so the database deletes its own data:

-- what the title is doing:
INSERT INTO animals VALUES ('"); DROP TABLE animals;--');
-- if input isn't sanitized, the database executes the DROP

Unit tests are small automated checks that code works; documentation explains the code to future humans; both are universally praised and universally postponed, hence two entire parody volumes of excuses. Getting an Arduino LED to Blink is the hardware world's "hello world" — the first, and for many of us last, electronics achievement. And It Depends is the legendarily correct answer a senior engineer gives to any technical question, because it always, genuinely, does.

Level 3: The Curriculum They Don't Teach

What's hanging on this wall is a complete, anthropologically accurate map of software engineering as practiced — 28 parody O RLY? covers, each with the trademark woodcut animal and colored title band of a real O'Reilly manual, except the titles document what the job actually is. The parody format is devastating precisely because O'Reilly books are the canon of aspirational competence; these covers keep the typography and swap in the confessions.

Read as a syllabus, the poster has a hidden structure. There's the epistemology trackTrying Stuff Until it Works, Googling the Error Message, Getting it to Work (And Having No Idea How), Copying and Pasting from Stack Overflow — which together describe the industry's open secret: most debugging is empirical, not deductive. Nobody reasons from first principles at 4:45 PM on a Friday; they perturb the system until the error changes. Then the technical debt track: "Temporary" Workarounds (the scare quotes are the entire joke — nothing is more permanent), Rationalizing Your Awful Hackjob, Good Enough to Ship, and Excuses for Not Writing Unit Tests, its companion volume Excuses for Not Writing Documentation sold separately. The organizational satire track covers Blaming the Architecture (the blameless post-mortem's favorite scapegoat, since architecture can't defend itself in the meeting), Arbitrary Forecasts (every estimation session ever), Buzzword-first Design and Hype Driven Development (résumé-driven architecture's two loyal parents), and the senior-engineer terminal degrees: It Depends, Nodding Along, and Pretending to Know About Stuff.

A few covers are precision strikes. '); DROP TABLE animals;-- is the SQL injection payload as a book title — the format string is even contextually correct, closing a quote and statement before dropping the table, a loving nod to the Bobby Tables tradition. Exiting Vim mocks the editor whose exit command (:q!) has stranded a generation; Stack Overflow once noted that millions of developers had visited its "how do I exit Vim" question. And Keeping the Whole App in Your Head, subtitle visible: Fragile Development Guide — the most honest description of the bus-factor-of-one architecture pattern ever printed. The poster's collective thesis is the gap between job descriptions ("designs scalable distributed systems") and reality ("nods along, googles error, ships good-enough hackjob, blames architecture"). Everyone who laughs is confessing.

Description

A poster laid out as a grid of 32 tiles, designed as a parody of O'Reilly's iconic animal-cover programming books. Each tile features a black-and-white, woodcut-style illustration of an animal and presents a satirical 'skill' or concept common in software development. The overall title is 'Software can be chaotic, but we make it work.' Examples from the grid include: 'Trying Stuff Until It Works' (a dog), 'Blaming the Architecture' (a fish), 'Essential Copying and Pasting from Stack Overflow' (a sloth), 'Hype Driven Development' (a meerkat), 'Exiting Vim' with an octopus (subtitle: 'Eventually'), 'Expert Excuses for Not Writing Unit Tests' (a giraffe), 'Essential Googling the Error Message' (a frog), and '"Temporary" Workarounds' (a gorilla). Each tile is labeled with a proficiency level like 'Expert' or 'Essential' and attributes the content to 'O RLY?' and '@ThePracticalDev'. The poster serves as a comprehensive and humorous catalog of developer anti-patterns, inside jokes, and relatable frustrations, resonating deeply with experienced engineers who recognize these behaviors from their own careers

Comments

8
Anonymous ★ Top Pick I've been in the industry long enough to realize this isn't a poster, it's an Agile project board
  1. Anonymous ★ Top Pick

    I've been in the industry long enough to realize this isn't a poster, it's an Agile project board

  2. Anonymous

    My O’Reilly bookshelf trilogy: “Trying Stuff Until It Works,” “Buzzword-First Design,” and the senior-edition “Arbitrary Forecasts” - apparently that’s the full curriculum for estimating the rewrite we’ll never get the budget to start

  3. Anonymous

    Finally, a tarot deck where 'Temporary Workarounds' is the only card that accurately predicts your system's future state in production for the next decade

  4. Anonymous

    The senior engineer career path, fully documented: start with 'Trying Stuff Until it Works', graduate to 'It Depends', and retire on 'Nodding Along' - the only series where every volume is evergreen

  5. Anonymous

    This collection perfectly captures the unspoken curriculum of senior engineering: the 'Definitive Guide' to practices we'd never admit in architecture reviews but rely on daily. Notice how 'Copying and Pasting from Stack Overflow' is marked 'Essential' while 'Writing Documentation' gets the extinct dodo - a commentary so accurate it hurts. The real mastery isn't in the clean code we aspire to write, but in knowing exactly when 'Good Enough to Ship' beats 'Hype Driven Development,' and having the battle scars to explain why 'Temporary Workarounds' inevitably become load-bearing production infrastructure

  6. Anonymous

    After 20 years, the elephant's 'It Depends' remains the only architecture answer that survives changing requirements - hype deer and perfect dinos go extinct

  7. Anonymous

    My senior-dev stack in one poster: “It Depends” is the framework, “Temporary Workarounds” is the runtime, and “Deleting Code” is the performance optimization

  8. Anonymous

    Our real architecture diagram: It Depends as the control plane, Temporary Workarounds as the data plane, and Googling the Error Message for observability

Use J and K for navigation