Are they willing to take salaries that are low enough to compete?
Some are stuck in the pre-tech bubble mentality of 8 years ago and demand unrealistic wages. Then they wonder why the have trouble getting employed. Those same folks often haven't kept up with current trends, like the shift to Java, etc.
The American citizens who stay up with the times and request market wages always find jobs.
You're a broken record. Compete with what? Third-world programmers with third-world housing costs?