It does bother me that it's seen as normal that students should have to seek programming experience on their own time. From my point of view, I was "seeking programming experience" by going to class all the damn time. I feel like I was lied to, basically.
Programming is to CS what telescopes are to astronomy. I understand that this is not obvious to an 18 year old outsider, so in that sense you may have been misled by an admissions counsellor who probably didn't understand it either, but no - studying CS won't make you a software engineer by itself. At all.
Unfortunately, in most cases, it's the option you have. An actual software engineering degree concentration would be better for what most people actually want, but it's a rarity. You'd have to entice professors with industry experience (who are good enough to know what they are supposed to teach), and you aren't doing that on typical faculty pay scales.
> An actual software engineering degree concentration would be better for what most people actually want, but it's a rarity.
Part of the problem, IMNSHO, is that we have widespread disagreement with the profession of software 'engineering' (such as it is) about what is mandatory, what is excellent, what is good, what is minimally acceptable and what is intolerable. We even see that what some people think is mandatory others think is intolerable, and vice-versa.
I don't know that we'll be able to have an actual proper software engineering profession for at least another two decades, but honestly closer to a century.
Exactly that. I told them I wanted to be a programmer, and they told me to do CS--I was lied to.
CS is the only field where this happens, as far as I can tell. There's plenty of degrees that aren't really useful career prep, but they're generally well-known--no philosophy major expects to graduate into the highly-paid world of professional philosophy. But if you're studying law or medicine or architecture, you absolutely do expect to be learning career skills.
There's this bizarre hole in CS where students come looking for a law degree and somehow get philosophy training instead. And then we have a thousand blog posts complaining about how fresh CS grads can't code FizzBuzz, and nobody at the universities ever makes the connection.
I'm not so sure about this. I have friends who are engineers and lawyers and architects who would say that their schooling was a similar mix of foundational theory that is only indirectly useful to their career and practicum that got them started with the kind of work they actually do as my friends who studied CS at various schools. I guess YMMV?