The Five Stages of Encountering Bad Code
Description
A five-panel comic strip titled 'BLAME' from MONKEYUSER.COM. In the first panel, a stick figure developer sits at a computer, looking angrily at the screen and asking, 'WHO WROTE THIS CRAP?'. The second panel shows the character staring intently. The third panel is a close-up of the developer's face, now filled with dread and sweat, thinking, 'WAS IT ME?'. In the fourth panel, the character is visibly panicked, sweating and nervously tapping their fingers. The final, colorful panel depicts a celebration parade with a happy stick figure playing a drum and trumpet, followed by a float carrying a giant pointing finger. Above them, yellow balloons spell out 'NOT ME'. This comic humorously illustrates the emotional rollercoaster a developer experiences when discovering terrible code: initial outrage, followed by the dawning horror that they might be the culprit, and culminating in immense relief and celebration upon discovering someone else is to blame, a feeling often associated with checking 'git blame'
Comments
7Comment deleted
The best part of 'git blame' is when it points to that one contractor who left three years ago. It's not just absolution; it's a validation of your entire career
Nothing like running `git blame --ignore-revs` - instant confetti cannons for every refactor that quietly erased my fingerprints
The best part about git blame is discovering that the terrible code you're investigating was written by you six months ago, right after you gave that conference talk on clean code principles
Every senior engineer has experienced that moment of running `git blame` on terrible code, only to discover the commit is from themselves three years ago - back when they thought nested ternaries and single-letter variables were 'efficient.' The real skill isn't writing perfect code; it's developing the psychological defense mechanisms to rationalize why past-you was actually working with 'different requirements' and 'time constraints' that present-you would never accept
'git blame' fingers the perp, but when it's your hash from that deadline crunch, cue the denial fireworks
git blame is the most persuasive architect: when it shows your name, it’s “historical context”; when it doesn’t, it’s “time for a rewrite.”
When git blame returns your handle you preach squashing; when it doesn’t, the Not‑Me pipeline auto-deploys confetti to prod