> All the topics of computer science that undergrad students study at Stanford and MIT are publicly available.
That's certainly true, and the same for mathematics or physics or philosophy or any other subject. But I've met very few people who have on their own actually done it, working through the material you'd cover in a 4-year degree (let alone going on to cover graduate-level work). Not zero people, just very few. I've met many more people who've worked through the equivalent of a few courses of material (e.g. have self-studied SICP), but that's a much lower bar.
Of those people I know who have done so, most are mathematicians. Could be random draw of who I know, but math does seem to draw autodidacts who go all-in and teach themselves the equivalent of a 4-to-6-year (or more) course of mathematics.
It's true that learning the contents of Knuth's Art of Computer Programming or Concrete Mathematics is easier in a class environment, but that's not the whole story. I'm a self taught software engineer. I actually find it fairly easy to compete against CS grads. A shocking number of them don't seem to pick up much CS during their 4 to 6 years in school. I've talked to countless grads who can't describe the differences between a process and a thread. They can't explain how they might implement even a naïve hashmap. I've had to spend an hour explaining to a colleague (a cs degree holder who was also the son of a cs professor) how amortized constant time append works in dynamic arrays.
For reasons I don't fully understand a cs degree does not imply cs knowledge. Grade inflation? Maybe they weren't given enough story problems?
When someone asks me about a concept I'm unfamiliar with, I don't have the excuse of that not being part of the curriculum.
First, there's a reason top-class students get better jobs. Not always, of course, but most of the times.
Second there are concepts that if you don't deal with them every day, you lose a your grip around them.
Third (and maybe most important), maybe CS was a good degree to have in terms of opportunities but wasn't their passion. You can't compete with passion. There are people who read this and that book only to acquire knowledge of a very specific domain out of pure passion about the topic at hand. You can't compete with those. These are the people who usually can make combine sources, spot errors, think outside the box for obvious reasons.
ps. I remember an instance when reading the Cryptonomicon, where Waterhouse - one of the main protagonists - was thinking that the fact he was at Princeton university in the 1930's was nothing special. He thought that in this place there was just a bunch of guys who knew one thing or two about maths and that was all there was to it. Later in the book while almost being drowned inside a German submarine, the only thing he could think of, was how to get his hands on a German strong box he came across. When he was healthy enough, he spent ~ 6 hours in a row trying to open the damn thing. When he did open the strong-box, he was almost depressed because he didn't really give a sht about what was inside. He wanted to know how thins German strong-box worked and if it can be reversed, somehow. Now that he knew that, there was nothing appealing about this strong-box. Not even the contents. To a pure mathematician like he really* was, there was nothing appealing in implementing something, once you understood how it works. Now, how on earth can you compete with a guy like that? :-)
That's certainly true, and the same for mathematics or physics or philosophy or any other subject. But I've met very few people who have on their own actually done it, working through the material you'd cover in a 4-year degree (let alone going on to cover graduate-level work). Not zero people, just very few. I've met many more people who've worked through the equivalent of a few courses of material (e.g. have self-studied SICP), but that's a much lower bar.
Of those people I know who have done so, most are mathematicians. Could be random draw of who I know, but math does seem to draw autodidacts who go all-in and teach themselves the equivalent of a 4-to-6-year (or more) course of mathematics.