If I can help it at all, I will not be the person responsible for somebody to write the rant that OP has posted.
Of course, it's not all sunshine and puppies--there's grunt work that just has to get done, and everyone takes their share.
Crappy employers of programmers just want to exploit employees, just like crappy employers of other kinds of workers.
Sure, we're in businesses (well, most of us), and there's little room for gilding the lilly or perfectionists who can't deliver.
That said, I've always found that elegant code is easier to maintain, thus reducing technical debt. If your employer doesn't want to reduce technical debt, you're either working for a start-up that's in a mad rush to 1.0, or you're working for someone who doesn't understand or care about the interest you pay on technical debt, and it may be time to move on.
If I can deliver something, even if not the most interesting or elegant, that gives the sales/marketing people giant, shit-eating grins, well, kudos to me. Usually, that means I'll be given time to go back and make enhancements, add functionality, or placed at the top of the list for the next cool project.
Then I go home and write pure OO coffescript/C#. The company is great, but we have very different views on how software should be desigened.
Don't get me wrong, I push for doing things the right way whenever I can, but acting like you can have it all with no compromises seems silly.
Lucky you, I have been there too. But at my current position, trying to use more modern technologies (Angular.js for example instead of a 15-year old stack without clean separation between front-and backend) to be more efficient is met with stares.
And I venture to say this happens very often in a lot of shops. At least outside of California.