Having done Udacity and also taking a couple CS classes at Cornell, this doesn't surprise me at all. People who take Udacity classes are doing so voluntarily on their own time, so they are going to generally be smarter and of higher socioeconomic status.
If you look at people who take CS classes over the summer at college when they don't have to be and when there are no student loans, you're going to get a similar population.
If anything the opposite is true. MOOCs have enabled vast swathes of economically challenged people to learn from high quality video material, whereas before they were limited to textbooks.
The key is that these kids are absolutely determined. And similarly if you really want that job at one of the Big Four, you might also consider soaking up as much prep material as you could.
So this is unsurprising. The thing people should really be thinking about is why, "how to pass a tech interview" is considered a separate and unrelated skill from "how to code", given how many people claim their interview processes are supposed to separate people who can code from people who can't.
(spoiler: it's because those interview processes don't accomplish their stated goal)
"I need to pass an interview where I'll be asked about specific technologies/algorithms/etc. I will take a free online course to memorize/rehearse that information before my interviews."
Universities don't teach programming, so it's not surprising you don't get applied skills out of the box with a degree.
'Good courses' are focused directly on teaching specific programming skills.
I think they are a good idea because learning programming by 'osmosis' (as you go along) can result in 'not knowing' a lot of key things, even when they are right in front of your face the whole time.
Most importantly - people who are going to take the time to specifically learn new skills, are displaying the kind of conscientiousness that you want in your talent - learning the actual skills is another benefit of that.
I disagree with this statement. Some universities teach programming, some not so much, some only need a Java 101 to graduate.
There is a huge variance. We'd need a statistical analysis accounting for the quality of education given.
"...only 3 attributes emerged as statistically significant: top school, top company, and classes on Udacity/Coursera."