All the stuff I mentioned has essentially zero application to writing a server script or a website backend or a commercial application, is the thing. It's like knowing car engines backwards and forwards, but never actually getting to drive one.
I should mention, also, that our programming exercises were in C++ exclusively, on the campus Unix system exclusively, and the only development environment we were ever officially taught was vi. Not even Vim. IDEs, debuggers, webcode, and GUI libraries were never mentioned. Hell, they didn't even teach us anything about CLI or vi beyond the absolute minimum needed to create a file, compile it, and run it. I spent some time trying to figure out how to just get a C++ compiler on my desktop so I wouldn't have to mess with vi anymore, with no help whatsoever from my classes.
I have never had to use C++ in my entire career since.
I've heard the same complaint from a lot of my classmates. The ones who were successful right out of school were the ones who were working on their own projects outside of class, and learning that way--which some people will say that I "obviously" should have been doing myself, but in my teenage naivete I assumed that the curriculum I was paying so much to receive would actually teach me what I needed to know.
It's unfortunate that you're getting downvoted, because I think you're speaking the truth. I had a similar experience as someone who was trained to be a computer engineer 10 years ago, but actually make my living doing modern web systems development. Don't get me wrong, I had an awesome experience in undergrad on all fronts. But it would be inaccurate to say my course work was particularly applicable to my actual profession.
I suspect you were down voted because there are a lot of people who went the traditional route into programming who now feel threatened by (or at least indignant towards) people coming in via accelerated routes like bootcamps and self-teaching.
The reality is that the universities _should_ be doing a better job.
I also think there's a lot of people who feel protective about "pure" computer science, in the same way a philosophy major might feel about their degree, and look down on people like me as mere technicians. They don't seem to realize that we need technicians, and they have to be trained somehow.
Ah, yeah, this totally comes down to the age-old (or at least, decades-old) debate about what universities should be for: higher education or job training? The "job training" forces seem to be starting to win most of the mindshare, which I think is a bit of a shame, but c'est la vie.
Personally, I think splitting the two roles into different kinds of institutions with different goals makes a lot of sense, and we already have this with universities vs. trade schools and community colleges, but (unfortunately, IMO) employers have consistently shown that they prefer to hire people from places that at least make a show of being more of the "higher education" persuasion than the "job training" persuasion. Sooo, yeah, you're probably right that in the current world, universities should just do a better job of teaching job skills.
I can't upvote this enough. In college I used pine for email and created C++ apps in vi. Did learn how to create VB6 applications though. That was right about the time that .net was finally released. Web app development consisted of editing HTML in notepad, so not a very real world like experience.
I should mention, also, that our programming exercises were in C++ exclusively, on the campus Unix system exclusively, and the only development environment we were ever officially taught was vi. Not even Vim. IDEs, debuggers, webcode, and GUI libraries were never mentioned. Hell, they didn't even teach us anything about CLI or vi beyond the absolute minimum needed to create a file, compile it, and run it. I spent some time trying to figure out how to just get a C++ compiler on my desktop so I wouldn't have to mess with vi anymore, with no help whatsoever from my classes.
I have never had to use C++ in my entire career since.
I've heard the same complaint from a lot of my classmates. The ones who were successful right out of school were the ones who were working on their own projects outside of class, and learning that way--which some people will say that I "obviously" should have been doing myself, but in my teenage naivete I assumed that the curriculum I was paying so much to receive would actually teach me what I needed to know.