And in my experience, if you are willing to pay the price, either in salary or in training investment, you
will find yourself an engineer. Note that I didn't
just say salary. Compensation includes the whole package,
including, yes, the locality whose cost of living you're paying for, and
especially the skills training you can provide, which is often not nearly as expensive as you think it is.
Not to say there aren't some limits. There are obviously a limited number of people with expertise in kernel-level scheduler algorithms at any given time, for example. But as several of us have said below: if your business model relies on consistently finding and hiring unicorns, that is your problem. Either stop relying on unicorns or move your corporate HQ to the magical land of Equestria.
Still, the BigCos almost all hire people right out of college and actually relocate and train them in the industrial environment, so I wouldn't call it a labor shortage until I've tried competing with that.
(None of this is to say that I'm not trying to take advantage from my side by deliberately getting as close as I can to Unicorn-level expertise. Of course I am! But most of the time a well-run company built to grow should want my hardworking front-end, back-end, every-end web-dev friend who's less egotistical and doesn't rant on Hacker News, not a unicorn.)