I like to think about the users of my software and what is needed to satisfy their needs. I also like thinking about the best way to write code to provide the best performance while also having something reasonable to maintain later on.
My users could care less about our ideals such as Pure Object Orientedness, Paradigms, Frameworks, Encapsulation, etc. I am getting users who are asking day after day why they always need faster hardware for software which does the same things as the stuff they bought 15 years ago. To make things worse, their old "obsolete" Windows 98 program loads and runs 50x faster then any of the modern Java/.NET alternatives. It's the difference between an instant load on an older computer vs wait, do something, wait, do something else on a more modern and "faster" computer. They also could care less about modern features such as XML configuration and can live with the little drop down windows.
To make our jobs easier, are we killing our users experiences?