We've been arguing this for more than 20 years. Not much has changed, and it's not a new question. Code Slinger vs. Book Knowledge. College of Hard Knocks vs College of Ivy. I'm a greybeard now, and while I won't pretend to answer the whole question, I will provide some perspective...
I was a code slinger type - Right out of high school with some programming knowledge, some commercial success (with the C64), and whole lotta balls. I did some college, but it wasn't for me at the time. It didn't connect with what I wanted to do, which was code. I joined a contracting house, and they sent me all over the country. I learned more in 10 years doing that than any college would ever teach. Databases, Integration, GUI's, network programming, mulithreaded programming, and real-world problems, both programming and political. C, C++, Cobol, Fortran, BASIC, assembly (various), and eventually Java.
In the late 90's, I went back to school. Why? Not to learn programming - I was already at the top of my game. I went back to learn all the other stuff, and to do other things. I took psych courses, math courses, art classes, electronics, music, law, languages (Living: French, Dead: Nahuatl) ... I did it on my terms (Harvard Extension, no time limits.) I will graduate next year.
Do colleges teach some basics? Sure - Data algorithms and Graphics programming were very useful. Are they realistic? Not really - sometimes horribly so. Massively Parallel Programming was a mess of math decomposition problems I dropped quickly. Did I need them to enter a career of commercial programming? Nope.
I would say college education is not a prediction of coding ability. Having a college degree when you are entering the field can be useful, but having a CS degree IMHO is not any more useful than a general BA or BS. If you go to college, go to get a general education, learn how to think critically, expose yourself to some interesting things - but it is NOT a training program for coders. Technical schools are a whole 'nother thing, and I would avoid them like crazy. My experience is that they do train you, but the training is narrow and short-sighted. In the end, it would be throw-away time, and the student would have very little gained.
College? Sure - go do it. You will be a better person, and you will have some great social experiences. But if you want to code, you need to put the time in yourself and learn the skills. College won't teach you that.