You don't want people to learn on your time? That's incredibly short sighted. Real engineering is about learning all the time, whether it's taking a formal training session or just reading a long post on StackOverflow. If you don't want to pay your engineer to learn things then you simply don't care about the engineering quality of your company and all you care about is short term payroll bottom-line.
I feel sorry for the engineers who work under you.
But I don't want people learning the "right now" skill on my time.
If I need a PHP developer right now, then I'm going to hire someone who knows it right now. I'll preference someone with C skills and I'll preference someone who participates in an open source project. And I'll preference someone who reads Hacker News. And I'll preference someone who has a great profile on Stack Overflow. And I'll preference someone who attends or presents at conferences.
But if they don't know PHP, they're not going to be learning it on my time as I need someone who knows it right now.
There's no need to feel sorry for my team. The things you read on a Hacker News comment reply aren't the entirety of working for me. Maybe you'll be sitting across the desk from me one day and you'll get to work with an awesome team of talented engineers. Carefully selected.
And any good engineer can work blind on a new technology and still produce decent results. If a great engineer with no knowledge of PHP is required to build a PHP website they can sit down with a PHP book open on their desk and crank it out. They fact that they're mentally superior to other engineers (whose expertise on a narrow subject might be better) and know programming inherently better means there's a good chance their output on something they don't know could be comparable to the PHP coder.
The best managers always build skills in teams. It's part of compensation. Every engineer views bullet points on resumes as a form of income. "If they don't know PHP, they're not going to be learning it on my time" means that you're going to be paying higher salaries with higher turnover and much higher recruiting costs. And if that's not true then something scarier is true: you're actually hiring low-quality engineers who don't realize you're a bad manager with a bad team (or who have no other options than to pimp out their 8 years of SharePoint 2003 experience).
Maybe you wouldn't have such an urgent need to hire experts in narrow subjects if you had staffed your team with intelligent quick learners in the first place! Tip: next time you need an expert in subject X try telling your best engineer: hey I have a project coming up for an X project and I'd like you to play a key part, so can you study up on that as it'd really impress me.
What an arrogant prick.
That's what you employers do: you filter out everybody, so there are left like 3 people in the same continent who fit your arbitrary criteria. Then all of you get into a bidding war over those 3, and most of you find that you can't afford to hire.
Finally, you start whinging about a "talent crisis" and blaming the universities for not producing people with the right skills.
Well you made your beds, now lie in them.
At a guess you're projecting other managers complaints on to me. I'm not in the U.S. and don't have these problems.
So you've got actual words from actual me:
* Those three people are worth the bidding war. They're worth 10 times the next rung down.
* I need to fill the position with the best possible person. It doesn't matter that Google et al have take the top people, I still need a new engineer.
* Universities generally suck time and deliver little. Spend the three or four years getting a ton of experience and participating in the community and you'll jump ahead of someone who's passed university, but doesn't have their own project.
So you will pay 10 times more salary, rather than waiting a couple of months for a new engineer to get up to speed? You must be in a hurry. What about all those other employers doing enterprise CRUD apps, are they in a similar hurry?
"I need to fill the position with the best possible person"
I assume then you are not working on enterprise CRUD or dinky mobile apps like everybody else. Are you competing with Unreal's next game engine? Or working on a rocket to Mars? Because your peer employers are NOT.
Yeah, those guys who complain about not finding candidates.