&gt; It&#x27;s a very painful way of earning money<p>But.. strangely fun, in a twisted way?
I love a blank canvas or a well-written codebase as much as the next guy, but I find that fixing &quot;legacy&quot;[1] codebases can be pretty enjoyable.<p>Slowly figuring out and fixing a &quot;legacy&quot; codebase, to me, is basically solving a giant, complicated puzzle that was left for you by your predecessors.<p>Granted, you&#x27;re mired in evil gunk from the past, but every time you figure out a small piece of the garbage and refactor it into something nice, you get to feel awesome. Of course, this assumes that you&#x27;ve convinced management that the codebase must be tamed[2] and that this will take time; otherwise you&#x27;re just fighting with your hands tied.<p>Then again, maybe I&#x27;m just a masochist.<p>[1] &quot;Legacy&quot;, because people don&#x27;t like it when you call it &quot;evil gunk from the past that must be destroyed&quot;.<p>[2] And it must indeed be tamed, because otherwise it will just grow more and more evil until development grinds to a halt. If management understands this, they&#x27;d be crazy to choose the &quot;let the beast grow&quot; option.