I'm with John. Degrees are pretty much worthless. As a programmer I don't think I've ever had an employer who cared whether or not I had a degree, or what degree it was.
Every decent employer I have had has been extremely interested in both my degree and experience. In interviews they, and I when I have been an interviewer, have always included some questions that rely on the candidate understanding and applying the theory they should have learned in any halfway decent degree.
The *knowledge* of the theory is important. Whether you obtained it via self-study on the internet or via paying tens of thousands of dollars to a university is irrelevant.
Agreed.
But the probability of someone knowing the theory is far higher if they have been to a good course at a good university. It is very difficult to imbibe theory solely via self-study; in my career I can count the number of people I've seen achieve that on the fingers of one hand.
Sure. It's difficult. I said that. That's what interviews are for. Or, better, trial periods or short term contracts leading to possible full-time employment later.
I studied some theory at university in 1981-1983, though actually 90% of what I learned was self-study in the library basement reading CACM and SIGPLAN and doing my own projects, NOT from the lectures and assignments.
Since then I have self-studied at least the following things that didn't exist in 1983:
- MIPS, SPARC, ARM (A32, T16, T32, A64), PA-RISC, i386, PowerPC, Alpha, x86_64, AVR, RISC-V programmer's models and assembly languages.
- C++, Java, C#, Perl, Python, Ruby, Dylan, ANSI Common Lisp, OCaml, lua
- MacOS, Win32, Linux, Solaris (and others), NeXTStep/Rhapsody/OS X (all at home at first, then leading to jobs e.g. Solaris on an old SPARC ELC sold by the local university for $50)
- modern programming language and compiler theory (at home at first, later leading to jobs and learning more on the job)
- instruction set and microarchitecture design (at home at first, later leading to jobs and learning more on the job)
Well, I'm sure there's a whole lot more I can't think of right now.
Even if you get spoon fed some initial theory in three or four or six years at a university, there is going to be a WHOLE HEAP of new stuff invented in the 40+ years you're going to be working after university, so you'd BETTER be capable of learning it on your own if you don't want to become a dinosaur.