21 hours in the past
I’ve spent a lot of my profession managing massive refactoring and rebuilding efforts. At Google, I pushed the AdSense crew to utterly rewrite our home-grown CRM system. It was a disastrous mistake.
At PagerDuty, I led the hassle to overtake our notifications platform. It pains me to confess how over funds and delayed the challenge was, however I’d make the identical choice in a heartbeat even when the true price had been higher understood upfront.
Now because the Founder and CEO of my very own startup, I simply scrapped my complete code base and am rebuilding from the bottom up.
Rebuild, refactor, or stay with it selections are a number of the hardest decisions a improvement crew must make as a result of they’re emotionally charged judgments. A legacy codebase is the blood, sweat, and tears of the founding crew. It accommodates the collective knowledge — and errors — of your product’s complete historical past. It’s a identified amount. It has its quirks and challenges, nevertheless it works.
You’ve been working round its idiosyncrasies this lengthy; you’ll be able to funds round them sooner or later. Your tenured engineers seemingly constructed their careers alongside this codebase, and their reputations hinge on figuring out precisely what to do when difficult issues come up.