The fact is modern companies don't want you to have the ability to acquire a new skill, they want you to have that skill on day one. This is even more true outside the programming realm. It's short sighted and counterproductive long term but when the next quarter's earnings are what matters, long term is but a an abstract concept.
I was expected to learn and become proficient in things like CSS and Javascript and HTML as well despite never taking a class on any of them.
My degree taught me how computing works, from the theory to the logic gates to the math needed to interact with basics in the field.
You know, companies used to spend money "training" their employees to do the things they needed to do. When computers first came around companies had to turn a mountain of secretaries into the very first programmers and computer administrators, and those mostly women bootstrapped the entire information economy. But that investment into human resources could better be spent on the CEOs private plane so they've spent the past 40 years bitching that "waaah waaah higher education doesn't make me cheap little worker bees waaah" as if you are entitled to free labor just because you "run" a business
Straight out of college, the hard truth is that you know virtually nothing, even if it sounds harsh ( and no you’re not a senior engineer after 3 years ). If I find someone who’s really good at c++ out of college, has started learning rust, wants to learn, and has good foundations, I’ll happily hire them.
The only exceptions I can think of are where you're hiring someone specifically to work on language tooling - e.g., to work on the core C++ library team at Google, you probably need some experience with specifically C++ or C and compilers thereof. Those would be very specialized senior roles, though.
For a counterexample, I hired this way for a long time.
Like you said, it works for university students because they don't have experience under their belt yet.
It becomes less effective as you get into more complicated languages/frameworks and you have less time to ramp people up.
In the worst case, we'd invest a lot of time mentoring people in a new language or framework and 6 months later they'd decide they preferred their old language/framework. They'd either leave the company to find a job that fit their preferences, or they'd become disgruntled and spend their days complaining about our language choice or trying to persuade us to rewrite in their preferences.
In other cases, people would try to write everything in the style of their previous language, even if it doesn't match the new language or framework.
It happened enough times that I now prefer candidates who already have proven experience in the language we're using. I won't exclude candidates who don't have experience in it yet, but it's rare that I'll pick a decades-long Python programmer for a Rust position, no matter how much of a Python wizard they are, as long as we have good Rust candidates in the pipeline.
Hiring for theoretical knowledge, hiring for abstract-reasoning skills, and then training ... sounds good in marketing collateral, but only the Googles of the world can afford to do it, and even Google may be changing their tune. (Of course, R1 faculty have never looked for an industry job in their lives.)
If you don't believe me, look at some job listings.
And it hasn't been my experience at all. But code camps are always an option.
This is the kind of thing that sounds great within the purely abstract world of an academic bubble, but falls apart at first contact with reality.
It's important to learn the foundations, but that shouldn't be treated as mutually exclusive with learning practical skills.
Almost no CS major will get a job that will require them to write their own programming language and compiler from scratch. But having done that, I am way better off than if I spent that semester taking a bootcamp on the latest implementation details of the newest language or framework at the time, which is now obsolete.