I think it boils down to money, which are a manifestation of demand (and thus existence of jobs). If you have money to spent, you can afford to take risks (take people in and then throw them away if they turn out to be bad), you can afford to train people on the job, you can afford to organize the work better (as a canonical example, look at Facebook Haxl - by building domain-specific languages that are easy to use to non-CompSci people, which they are then interpreted on a platform written by a comparatively small group of CompSci people).
Here in Prague, situation is a little different to US (from my reading). SWEs are locally in quite high demand, as we are on the other side of the globalization. So companies often take almost anybody (for a reasonably paid job).
On the other hand, if the demand is stagnant, you will try to get the best people by being very picky in attempt to lower the costs.