As a software/hardware guy I can't tell how I feel when I hear pure HW people say "they'll recompile their code and get huge speedup". Legacy is here to stay, and your job as a HW guy is to make sure you don't break performance of legacy code.
That's frustrating, but that's reality
OTOH the inability of software guys to properly use multiple cores is definitely a SW issue (unless you have a buggy HW implementation) and a very frustrating one too...
That being said, I'm very impressed by how processors have evolved in the last 30 years, both from a process and a micro-architecture point of view. That was predicted by Moores's Law, so one shouldn't be surprised, but that doesn't mean it isn't impressive