I’ve spent a lot of my profession managing massive refactoring and rebuilding efforts. At Google, I pushed the AdSense workforce to fully 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 price range and delayed the challenge was, however I’d make the identical resolution 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 reside with it selections are a number of the hardest selections a growth workforce must make as a result of they’re emotionally charged judgments. A legacy codebase is the blood, sweat, and tears of the founding workforce. It comprises the collective knowledge — and errors — of your product’s complete historical past. It’s a identified amount. It has its quirks and challenges, but it surely works.
You’ve been working round its idiosyncrasies this lengthy; you may price range round them sooner or later. Your tenured engineers seemingly constructed their careers alongside this codebase, and their reputations hinge on understanding precisely what to do when tough issues come up.