I used to think Google was nuts in the early days, they really wanted people to have a PhD. Here's how my opinion has evolved based on hiring people for my own company.
It's a workshop analogy. A self taught person (the real projects suggestion above) is sort of like a messy shop where nothing is in its place. A messy shop isn't inherently worse, it is absolutely capable of producing fantastic work.
An educated person is sort of like a neat shop, there is a place for everything and everything is in its place. A neat shop doesn't guarantee that you'll produce fantastic work.
In my experience, while the self taught person can do great work, it frequently takes longer than the person with a formal education. As an example, I had a guy working on a compiler for me (because we really needed another programming language :) One of my other guys said "I think you're gonna need an AST for that" and the compiler guy, self taught, was like "Uh, no, I'm pretty sure I can do it without". That went on for a few months and then he did an AST. I think if he had taken a formal compiler class he would have gone straight to the AST (and one might wonder why I didn't have the guy who had formal education do the compiler; good question, I needed his talents elsewhere).
Anyhoo, not sure I made a compelling argument but I slowly came to value formally trained people like Google does (or did, not sure who they hire these days).
It's a workshop analogy. A self taught person (the real projects suggestion above) is sort of like a messy shop where nothing is in its place. A messy shop isn't inherently worse, it is absolutely capable of producing fantastic work.
An educated person is sort of like a neat shop, there is a place for everything and everything is in its place. A neat shop doesn't guarantee that you'll produce fantastic work.
In my experience, while the self taught person can do great work, it frequently takes longer than the person with a formal education. As an example, I had a guy working on a compiler for me (because we really needed another programming language :) One of my other guys said "I think you're gonna need an AST for that" and the compiler guy, self taught, was like "Uh, no, I'm pretty sure I can do it without". That went on for a few months and then he did an AST. I think if he had taken a formal compiler class he would have gone straight to the AST (and one might wonder why I didn't have the guy who had formal education do the compiler; good question, I needed his talents elsewhere).
Anyhoo, not sure I made a compelling argument but I slowly came to value formally trained people like Google does (or did, not sure who they hire these days).