https://www.thecrazyprogrammer.com/2022/08/anders-hejlsberg-...
However, I'm sure that the ideal (if not the norm) in systems programming companies is that you did finish at least a bachelor's degree. So it's not like you betting against formal education is a good idea.
For example... :D
IIRC, George Hotz studied at CMU for a semester, took 4 difficult classes, got a 4.0, and won a CTF competition before dropping out.
My take is that the normal programmer (frontend, backend, systems, etc.) would benefit greatly from a CS degree.
And technically, Gates is on an extended sabbatical from Harvard. He took leave to see if this software thing would pan out. If it fails, he still has Harvard as a fallback plan.
I agree that for the average programmer, the CS degree still helps, but these outliers remind us that talent can blossom in many ways!
The reason, apart from US which is unique in this in worst possible way, is something else than just pure code hacking skills - these are not that important. What even the crappiest school will teach you way better than no school at all - discipline. Wading through tons of useless topics (at least in my case), its hard to be self-centered primadona.
Real work looks much more like meetings, wading through tons of documentation, accepting mundane tasks since they improve things overall but are not fun at all. Brilliant self-thought people usually require fun and challenging work or they quickly move away, which most work isn't, even in software. I'll take OK disciplined guy over stellar one which needs management babysitting re what I mentioned, any day. YMMV.
But yeah what is actually taught in school, at least in my era, was basically useless at work. The stuff that helped were my projects where I picked/created topics that actually helped me to get better at given area.
If you can't teach an employee to be more disciplined when you can put their job on the line, I don't know why you'd think that even the crappiest school knows some secret to teaching discipline that you don't.
Of course that means if you're hiring and need somebody with "discipline", maybe hiring a CS grad makes sense. But if my hypothesis is correct, a high school student probably wouldn't benefit from going to university to learn "discipline". Not that I think putting up with crap is something I'd want to actively learn.
I have a particular perspective on this: I well into my own career now. I'm presently chief architect at an automaker, and a decent enough systems/embedded programmer - you've probably used some code I've written today at some point. And I didn't even graduate high school.
I've often had a chip on my shoulder about this when I was younger. I am particularly sensitive to "so what school did you go to?" class distinctions when I encounter them. I fully agree people in tech should get a chance to be evaluated regardless of their academical background, and I definitely don't insist on one when I hire.
That said, there's an even mix of great people around me who have spent extensive time in education and academia, and those who have spent none at all. The ones who did rarely regret it, and often found ways to use the environment to its fullest.
I got lucky, too: I fell in with open source instead of, say, online gaming as a teen, and spent my "idle afternoons as a lazy kid" fixing bugs in browser engines and other things that turned out to be useful. Because that online environment was motivating and because I had some fantastic mentors. I'll forever be grateful to my past friend who sent me his yellowed old copy of Wirth's "Algorithms and Data Structures" - with code examples in Modula-2!
IMHO: Forget about exceptionalism, what matters is what you spend your productive hours in the day on and who you do it with. For many their best, easiest way to get something like that in place is likely to attend a university. There are alternatives, but make sure you seek out some version of this.
Before 1975, computer science degree programs were pretty thin on the ground. Most of the Turing Award winners have degrees in physics, mathematics, or electrical engineering, which were closely related to CS.
Fortunately, today, you can become interested in CS topics and easily find a CS program without going through one of the other disciplines.
So I think pigeonholing on CS is not a good idea. My stress on achievements was just to underscore this point.
I graduated with a BA in CS (which is no longer available), and am pretty happy to have skipped the chem/bio/physics requirement; those are a lot of work for very little gain as far as I can see. I've gotten much more use out of the formal logic and automata theory classes (which weren't taught by the CS dept.).
In the world of software development, degrees have often held less sway, and I think this trend will only become more pronounced. Too much focus on CS degrees I feel does not account for the inherent nature of the role - and I say this as a CS grad from a top school.