I liked your initial point, but the argument weakens... People absolutely have learned all the above things (and very well), on their own, outside of a CS degree, and I bet you could've.
I liked your initial point, but the argument weakens... People absolutely have learned all the above things (and very well), on their own, outside of a CS degree, and I bet you could've.
My point was that I wouldn't have learned it because I don't enjoy it. And sometimes, professionally, we get to do stuff that isn't fun. The nature of being self-taught is heavily biasing the things that interest you. College forces you outside of the box. Outside of the box happens to be those things for me, but they'll be other things for other people.
Sorry if that point wasn't clear.
Learning to think outside the box and learning about specific specialties that you don't find interesting aren't even remotely the same thing. If you read what I wrote, you'll notice the example areas I gave. None of them were "thinking outside of the box", they were fields that didn't interest me.
The value they bring is that I learned a common language. I can talk to ML engineers or Compiler Engineers in a common language because I have experience in those fields that I wouldn't had I taken a different route. That isn't even remotely a requirement for my field. It's just useful for discussions with other people.
Maybe you'll spend hours and hours learning compiler design and implementation so you can have a friendly conversation with a colleague at lunch, but I'm not going to. Formal education forced that on me. That's been healthy for my professional networking, but that's about it. I still consider it useful, but had I skipped the CS degree I wouldn't do it. Nor would most people.
It's natural to gravitate towards things that interest you. Some people are driven by gaps and learn things regardless, most people do not. That's not even controversial.