The Eternal Reign of the Temporary Workaround
Description
This meme uses the classic four-panel 'What do we want?' protest chant format, featuring the 'All the Things' character from the webcomic Hyperbole and a Half. The top text sets the scene: 'When there's a bug in production'. The first panel shows the character shouting, 'What do we want?'. In the second panel, a crowd of these characters replies, 'Temp workarounds!'. The third panel poses the follow-up question, 'How long will we use them?'. The final panel delivers the cynical punchline, with the crowd enthusiastically yelling, 'Indefinitely!'. This meme perfectly captures a painful truth in software development: fixes implemented under pressure to resolve urgent production issues are often intended to be temporary, but end up becoming permanent parts of the system. For experienced engineers, this is a deeply familiar scenario where the ticket to create a 'proper' fix is endlessly deprioritized, allowing the quick-and-dirty patch to solidify into technical debt
Comments
9Comment deleted
There is nothing more permanent than a temporary solution that passes its unit tests
Our “temp” workaround got promoted to design pattern status: written at 2 a.m., deployed by 3, and officially immortalized once the re-org renamed it LegacyServiceAdapter
The only thing more permanent than a temporary workaround is the comment '// TODO: fix this properly' that's been in the codebase since 2015, right next to the MongoDB connection string that's still hardcoded because 'we'll move it to config next sprint.'
The workaround shipped in 2014 with a TODO; it now has its own dashboard, an SLA, and two services that depend on its bug
Ah yes, the 'temporary' workaround - that elegant hack you deployed at 2 AM to stop the pager, which somehow survived three architecture reviews, two major refactors, and is now documented in the onboarding materials as 'legacy critical infrastructure.' Nothing more permanent than a temporary solution that works just well enough that fixing it properly never quite makes it to the top of the backlog
Nothing says “temporary” like a feature flag named TEMP_FIX_2017 guarding a critical path because our only integration test lives in production
In prod, “temporary workaround” means a bash script in cron behind a feature flag; five years later it has an SLA, a runbook, and a CAB ticket titled DO NOT DISABLE
Temp workarounds: the only code that survives microservices rewrites and survives company acquisitions
Definitely Comment deleted