> When doing a degree, you spend several years surrounded by very smart people with a far more diverse variety of specialisations than you're likely to get at a single company.
It gain of it depends. If you've been classes where all teaching staffs having no experience on real world programming, the gain may be negative. (In the "programming project" which worth 6 credits, the curriculum said we shall form groups to produce a website
following the software development cycle. Being taught by someone with no real world experience, while the workflow is the same as on the textbook, the detail is quite "acedemic", I'd say...
Well you are assuming everyone wants to be a programmer their
whole life. CS is far more then programming (in fact most people would say it's a minor part of CS)..
You don't need a college degree to work as a programmer, especially as a CRUD programmer. You don't need a college degree to be a sysadmin either. These are probably the most common "computer" jobs out there. But they are also IMO very boring.
But here is some examples where a college degree really helps.
Any kind of research position. For instance, Microsoft researchers [all?] have PH.D. degrees. This is true for many/most other companies as well, and most definitely for University research (well at least BS/BA degree, but most have PH.D. and are called
"professor" or "research professor").
Mangorial positions often require at least a BA/BS. Sometimes they even want Masters degree.
Some companies wont even hire programmers without a BSCS. This may become more common if the demand for programmers decreases.
At least in the federal government (and many local governments), simply having a college degree means you make often make more money with the same exact job title and responsibilities. What this means is you CAN get a job without the college degree, but
you'll make less! The incentive pay is proportional to your academic level: High School (lowest pay), Bachelors (mid), Masters (mid-high), Doctorate (pretty high). Sometimes this has a huge effect on your pay, entry level college graduate can make more then
H.S. programmer with 20 years experience. (Federal government tend to not value experience as much as education, from my "experience" with them.)
Another good example is the military. What separates an enlisted person from an officer? Well, really, [mostly] the college degree (Bachelors degree). Even the most big shot enlisted solider with 30 years tour E-9, still is of lower rank then the lowest
ranked officer O-1 and on his/her first day of duty with just a Bachelors degree. So at least in the military, experience is much less important then academic achievements.
Of course I am just talking about pay & benefits, which having a college degree is a bit more then that. University education is not job training. It's something different.