> if you have the mental fortitude and cast-iron gullet
> to specialize in cleaning up other people's messes.
> There's a lot of money to be made that way.
How does an individual or a consultancy go about finding these messes to be cleaned up? I feel reasonably-qualified to go in and take the necessary steps to get engineering projects back on track, but I'm not sure how you would get started doing that?I'd expect a pattern where the original thrower-of-spaghetti-against-the-wall has left, and management assumes the later devs - who can't go as fast, or get more bugs because of the holy mess of the codebase - are just not as good as the first guy.
Not for nothing is it said that the burned hand teaches best.
It also helps to avoid organizations where immediate management is nontechnical - not an absolute guarantee of sensible behavior, of course, but at the very least it's a good baseline to set. And it's hard for any manager, especially any manager accustomed to being on the hook and under the gun for the myriad problems with unmaintainable code, to get too upset when people start saying things like "wow, this is amazing, this never used to work before and now it does exactly what we need, thank you so much, you guys are awesome!"