Despite all of this, any time I have interviewed with some of these companies that claim to be in a war for talent, that's not the impression I get. I always end up meeting and talking to people that are looking for CS students who happen to know HTML.
Some random Facebook engineer wasted a half an hour of my time trying to get me to write a function to calculate a square root approximation method. Another interview asks me how to figure out which one of 100 bottles of wine has poison in it using 10 mice. Seriously, WTF?
At no point have these people who say they desperately want a frontend engineer actually asked anything remotely touching the job skills I possess. Want super efficient pages? Well constructed js? An innovative solution to a hard frontend problem? A high performance html5 app that looks native on a phone? Apparently not. These guys just want more CS engineers like themselves and not people that have acquired the best knowledge by years of working in the field.
I work at a big name media company now. When they interviewed me a couple years ago, they got it. They knew what they were looking for and what they actually needed. I work with some awesome people. Sometimes we butt heads because I care a lot about what I build and sometimes big corporate decisions are bullshit, but that's ok. The team I work with is smart and capable and we get shit done.
And guess what? We aren't all CS graduates. We taught ourselves and built careers for ourselves. We learned everything we know the hard way, by actually doing it.