Sure, we programmers are paid to care what the code looks like. We worry about the guts of our applications. It's our job. We want to write code in friendly, modern languages that make our work easier and less error-prone. We'd love any opportunity to geek out and rewrite everything in the newest, sexiest possible language. It's all perfectly natural.
The next time you're knee deep in arcane language geekery, remember this: nobody cares what your code looks like. Except for us programmers. Yes, well-factored code written in a modern language is a laudable goal. But perhaps we should also focus a bit more on things the customer will see and care about, and less on the things they never will.
What is omitted from his post is, easy-to-read code is much more easier to change, and can respond quickly to new requirements, whereas ugly code is very hard to maintain. Customers do care a lot about what they see and what they get, and it's true that they don't care much about how the code looks like. But they will not forgive you if you can't upgrade your apps according to their expectation within a reasonable time frame. And if so, they will forget what they previously saw and got. Pang, you are doomed. You don't just lose the sales, you lose the good will as well.
The best defense against this crisis, is to write good code so that one can easily find and fix bugs, expand on top it to create new sets of features and is beautiful.
That's why you need all the design patterns, software development methodologies and tools. They all help you to create better code, easy to read and understand code so that the customers will not have to wait forever for a fix.
Programmers may not care about how the code is like initially, but they will care if they need to do maintenance job (Is this the reason why programmers generally abhor maintaining code in favor of writing new ones?). Customers may not bother about how you construct your code, but they are the first to complain if they don't receive bug fixes and new features. In this sense, beautiful code does not only have aesthetic appeal, it is also vital for a company's survival.
For those who can produce popular software despite writing ugly code, Congratulation! But I bet most of us can't. Writing maintainable code is the only sensible path for us to take.