Considering you pay 25-30% or more of first year salary for a hire by a recruiter and $10k is a complete bargain.
But that doesn't tell if there are enough candidates out there if the salaries and conditions of work were better. The latter is very possibly a big issue with H-1B employees, seeing as how they've a modern version of indentured servants.
I can reframe the issue by pointing out that programming is hard, and it's something we've only recently been seriously doing. I analogize it to reading and writing as "we haven't even found the phonetic alphabet" (or at least agreed that Lisp is that :-).
Going further, that means a lot of aspiring programmers have no chance whatsoever of being good programmers, and a lot just fake it. Going back to the writing analogy, perhaps they write prose good enough for an online comment, but they'll never write a competent novel or serious nonfiction book that a publisher might accept.
But still, they view themselves as programmers, and too many outfits don't check to see if they can really program before making a job offer, and often for some time afterwords. Or they otherwise manage to hold onto positions, at least for a while.
SaaS and tech consulting are really trendy right now because there are a lot of successful role models for these things. That said, a lot of magnificent failures and wannabes...but that comes with anything.
Add to this the fact that the companies who really understand how valuable good, skilled engineers are will make generous offers with benefits and vacations and conferences and food and luxury and and and...and you see why it becomes difficult to find the really sexy workers.