Inherited legacy code? Obviously rewrite it from scratch, says every new developer
Description
Three-panel Dilbert comic strip. Panel 1: Dilbert stands beside the Pointy-Haired Boss’s desk holding a coffee mug and says, “THE PROJECT I INHERITED HAS WEAK CODE. I NEED TO REWRITE IT FROM SCRATCH.” Panel 2: the boss reclines in a large blue-backed chair and asks, “WILL THERE EVER BE AN ENGINEER WHO SAYS, ‘THAT LAST GUY DID A GREAT JOB. LET’S KEEP ALL OF IT’?” Panel 3: Dilbert replies, “I’M HOPING THE IDIOT YOU HIRE TO REPLACE ME SAYS THAT.” The office setting features a grey desk, CRT monitor, and plain green background. The gag pokes fun at developers’ reflex to dismiss legacy code, embrace wholesale rewrites, and assume future maintainers will repeat the cycle - illustrating classic technical-debt, refactoring, and code-quality frustrations
Comments
6Comment deleted
Greenfield is just legacy with better PR - give it six sprints and the next staff engineer will file an RFC to rewrite your rewrite
Every rewrite starts with "this codebase is unmaintainable" and ends with you becoming the cautionary tale in someone else's architecture decision record
Every senior engineer knows the three stages of inheriting a codebase: 1) 'This is garbage, I need to rewrite it,' 2) 'Oh, that's why they did it that way,' and 3) 'Please don't let the next person rewrite my elegant solutions.' The real legacy isn't the code - it's the humility you gain after your third rewrite attempt fails for the exact same reasons as the original implementation
Legacy code: where 'great job' means the next architect draws the short straw on the rewrite
Every ‘rewrite from scratch’ ends with two prod systems, a ‘temporary’ Kafka bridge, and a manager wondering why velocity mysteriously halved
Big-bang rewrites are just tech-debt refinancing with an adjustable rate - payments balloon right after you change jobs and your successor discovers the business logic living in cron and regex