See also this tweet from last night for a real-world application:
I sometimes feel like I could be lazy, but I just never seem to need to deal with that type of tuning due to the nature of my work which is business apps. Don't get me wrong, I do deal with performance tuning - but never at the data structure or algorithm level. I would say I spend time architecting to preventing huge data structures to begin with. Also SQL tuning, interface design and things that I have to deal with. The low-level stuff like sorting algorithms are just built into whatever language I'm using and they don't seem to be a bottleneck.
and
> Also SQL tuning
Are at odds with each other. Although the terminology is different, you are in fact doing it if your SQL tuning includes things like adding an index and selecting the right kind of index for your workload (every database has different names, but the different kinds usually include hash, btree, and a couple of others).