Actually 1) is wrong. The issue is, in software development how good of code you write usually doesn't matter at all. Just deliver a solution that does what management wants and you win. Unless other people work on the code base, literally no one cares how well it's written. This guy was just doing arbitrage on that.
True. Not everybody cares about the quality of the code. But getting what management wants takes a bit of a quality. If the code doesn't work then you are not really giving what management wants.