I'm one of those guys who learned how to program on my own with just my friends to teach me what I needed to get going, then when I went, I dropped out of uni and spent a couple of years in the wilderness trying to fix what I felt was a broken career, with only my peers to teach me what I did wrong and how to get where I wanted to go.
Whilst I know I can't do everything, the parts that I do know, I outclass many people who sit beside me, not trying to be egotistical, I'm just pointing out that learning because you need a job is not the reason to learn, you need to learn this stuff because you love it, because in the dark hours of the night, when you're hunting for a bug, your university degree won't help you, only your intellect will.
Maybe the guy beside me learned because he liked to be a programmer, whilst I learned because I was a programmer....there is a difference......
The viciously committed self educated people learn those key parts because they realised and understand why they are important, but skip the other parts we see as "fluff", we tend to not get caught up in minor trends because we know it's just a cool hip scene that in 6 months will be dead and buried.
Not to put down those who did study in university, or didn't do what I did, but I have not yet met a single programmer who was as good as me because they studied at university, every one of them was good in spite of it.
At the end, we sit at the same table and do the same things, so one way is not better than the other