Seen it, believe it.<p>A long time ago, I thought about this type of issue. It occurred to me that it was a more valuable job skill to be able to manage and augment other people's junk rather than their craft perfect software. Internal developers will always complain that the code sucks and need to be rewritten. Enter the super-consultant who says "sure, I can upgrade you software since I can work with crappy code because I'm super awesome". Consultant gets out the duct tape and make it work leaving a disaster for the internal developers.<p>Unfortunately, it is not a self actualizing skill as one should focus their energies on making good software to power good products. If you believe this, then I recommend doing a start-up. When you do. You will see two things.<p>First, the code you create will be awesome.<p>Second, you will watch as your code degrades over time. You will hire people. They will complain. They will hack.<p>It is the great cycle of life.