|
> And it gives employers confidence that you have the skillset to handle whatever they throw at you. Blindly having confidence in someone with a degree vs. someone with no degree is a bad mistake in this industry, IMO, sadly it happens. It really comes down to the person, self taught or not, if you don’t pursue continuing education (which is a must in this industry) whatever CS knowledge you learnt with your degree will only take you so far. Also said “broad exposure” can be well… self taught as well, algorithms, data structures, OS, etc… all things you can learn and "master" with no CS degree. With all that said, I do agree CS education is essential to become a better developer. As a self thought myself, learning CS has made me a way better developer for sure, and I would advise all self taught devs to do the same, it will pay off immensely and best of all no student loan to repay. |
In a good CS program you will be presented a series of challenges below your “depth”....
“wait, you want me to WRITE a data structure? I usually just use a good one from a library”
“wait, you want me to fix a compiler? I have only ever run a compiler”
“wait, you want me to write code that CREATES processes out of nothing? I am used to letting the OS create processes”
... etc. These provide you a series of epiphanies, “wow, I can build a compiler from scratch, that means I could fux with LLVM if I had to”.
Ideally, these programs are designed to take you all the way down to the bottom of the machine. For some students, the end result is confidence in their ability to “dive in” to a problem anywhere in the system.
If your point is that you can teach yourself that outside of school—absolutely. But... well, in my case I doubt I ever would have. It wasn’t fun, I was pushed to do things I would never have followed through on if I was just casually teaching myself about programming languages or operating systems.
And if your point is that students can get away without learning the material—well, also yes. Of course.
But you are wrong to dismiss the idea that a CS degree is just another few things to learn. This business of “get all the way down to the bottom and challenge yourself at every step” is kind of the whole point of a CS degree, and the world outside is not going to encourage you to do it the way your profs will.