Talent is always there and never hard to find! The problem is employers not wanting to pay for that talent! Yes thats great to offer training to those who cant afford it, and offering a better salary is great too. However, you are still not paying what they are truly worth rather paying what seems great to them. When you barley make minimum wage and suddenly you are making double thats amazing, its not until you realize that those that have the skills are making double that and refuse to settle for lower wages meant for outsourced or h1-b resources.
Well, there are more ways of seeing this. True that talent is always there, but in fact it CAN BE and usually IS hard to find. In my years as a manager I hired a number of developers, several of whom had come from a local technical college. I can attest that their skill levels were all over the board both technical and non-technical. Unfortunately the employer often can't determine this from a resume and a couple interviews. There were even a couple times I had to dismiss a new employee who simply couldn't measure up. There is often a large difference between interviewing skills and technical skills., and inter-personal skills.
I'm all for giving folks opportunities to succeed, but the approach of 'teaching coding' is concerning. There is a huge difference between a 'coder' and a 'developer' or a DBA.
Another thing I will add here is that usually experience is more critical than education, and you don't usually start at higher salaries without it. You earn it.
Believe me, it is far more pleasant to be able to promote and/or give raises to an employee than to have to dismiss one. Never assume that just because you acquire a position that you are going to be able to maintain it.
One of the best days of my IT career was the day I told my boss if the problem was so simple he should go fix it himself.