The Documentation Dilemma: Draw 25
Description
A two-panel meme using the 'UNO Draw 25' format. The left panel shows a hand holding a custom UNO card that reads: 'Document code well so that others can reuse or modify it later OR draw 25'. The right panel, labeled 'Developers', shows a man at a card game holding a massive stack of cards, implying he chose to draw 25 rather than document his code. The meme humorously captures a widespread stereotype in software development culture: the strong aversion many developers have to writing documentation, even when it's crucial for team collaboration and long-term project maintainability. It's a relatable joke for any engineer who has inherited an undocumented codebase or has put off writing docs themselves
Comments
7Comment deleted
My code is self-documenting. The function named `process_data_final_v2_for_real_this_time()` makes its purpose perfectly clear
Architect: “Update the ADRs or debug 25 3 AM Sev-1s next quarter.” Senior dev - grabbing the whole deck: “On-call pages are just real-time documentation, right?”
The same developer who wrote "self-documenting code" in the PR description is now spending three hours in a Slack thread explaining what their code does to the person who inherited it
The meme perfectly captures the industry's unspoken truth: we'll spend 40 hours refactoring to avoid 4 hours of documentation, then wonder why the next engineer rewrites everything from scratch. It's not that we can't document - we've just optimized our workflow to ensure job security through code archaeology
Choosing draw 25 over docs works until the first Sev-1, when the interest on that debt is paid in 4am Slack archaeology and a bus factor of 1
Skipping docs for 'draw 25': because future you debugging spaghetti code needs the real boss-level challenge
Given “document the code or draw 25,” we pick draw 25 - aka 25 Slack threads, 6 hours of Confluence archaeology, and a 2 a.m. incident to rediscover why process() returns true