I think many approach legacy in the way of "let's replace everything that sucks." I think the best approaches are "how can we add value to the product in a way that's de-coupled from the mess?"
This starts to get into topic like domain-driven design and "enterprise" integration patterns.
Developers who can quickly add new functionality to an existing legacy product can be superheroes 😂
Business: "Can we add new feature X?"
Dev1: "The system is so messy.... no"
Dev2: "Sure! We'll just have to move some things around an introduce some new ways of doing things."
From humble beginnings at an MSP, I've adventured through life as a sysadmin, into an engineer, and finally landed as a developer focused on fixing problems with automation.
I think many approach legacy in the way of "let's replace everything that sucks." I think the best approaches are "how can we add value to the product in a way that's de-coupled from the mess?"
This starts to get into topic like domain-driven design and "enterprise" integration patterns.
Developers who can quickly add new functionality to an existing legacy product can be superheroes 😂
Business: "Can we add new feature X?"
Dev1: "The system is so messy.... no"
Dev2: "Sure! We'll just have to move some things around an introduce some new ways of doing things."
Business ppl love dev 2.
Dev2 makes things worse. Look like a rockstar then jump ship in a year.
Sure, the same could be said of dev2 (jump ship in a year). If the team understands how to deal with legacy code properly then not an issue.