Skip to content
DevMeme
2947 of 7590
DeveloperExperience DX Post #3256 · source on Telegram

The Two Moods of a Programmer: Empathy and Unholy Rage

Description

A two-panel meme format based on stock photos, illustrating a programmer's conflicting attitudes toward third-party software. The header text for the entire meme reads: 'Programmers have two moods when using other people's software:'. The top panel shows a man sitting calmly at his desk, looking thoughtfully at a computer monitor with his chin resting on his hand. The text overlay reads, 'This is a complicated domain, I'm sure the devs are doing their best'. This represents the initial, empathetic, and professional mindset. The bottom panel depicts the same man, now wearing glasses and visibly enraged, shouting at the screen. The overlay text on this panel is much more aggressive: 'What the actual fuck is wrong with these fucking donkeys? This is absolute horseshit and whoever wrote this code should be burned at the stake!'. This meme perfectly captures the Jekyll and Hyde transformation developers undergo when a tool or library, which they initially respect, turns out to be buggy, poorly documented, or maddeningly counter-intuitive, causing their professional patience to evaporate instantly

Comments

7
Anonymous ★ Top Pick The transition from 'They probably had good reasons for this design' to 'This API was designed by a committee of squirrels on meth' usually takes about one failed API call
  1. Anonymous ★ Top Pick

    The transition from 'They probably had good reasons for this design' to 'This API was designed by a committee of squirrels on meth' usually takes about one failed API call

  2. Anonymous

    My emotional state machine for third-party libraries has two states - CompassionateExceptionHandling and RethrowWithProfanity - and any semver-minor release is an epsilon transition between them

  3. Anonymous

    The real bug here is thinking we'd maintain the same energy level of empathy after discovering the third-party library stores all data in a single VARCHAR(MAX) column with pipe-delimited JSON strings nested inside XML tags

  4. Anonymous

    Every senior engineer knows this progression intimately: you start with 'Chesterton's Fence' reasoning - surely there's a good architectural reason for this seemingly bizarre abstraction layer. Three hours later, after discovering the 'abstraction' is just nested switch statements wrapped in a factory pattern that instantiates singletons, you realize the only fence here is the one preventing you from reaching through time to stop the original commit. The real kicker? The git blame reveals it was written by someone who's now a Distinguished Engineer at a FAANG company, and suddenly you understand why they left

  5. Anonymous

    The two moods map to two designs: import it directly, or wrap it behind a circuit breaker, idempotent retries, feature flags, and a plan to strangle it in Q3

  6. Anonymous

    Using other people’s software oscillates between 'they had brutal constraints' and 'ah, the constraint was a static initializer that does network I/O and spins up a thread pool on import.'

  7. Anonymous

    Empathy overflows into rage faster than a third-party lib's unhandled promise rejection in prod

Use J and K for navigation