It's a bad career choice
As a society, we don't value engineers. Accountants, lawyers, managers, doctors, dentists, plumbers can all make far more money, which is grossly unfair given the amount of work, education, skill, and determination required to be a good software engineer.
One issue is the recruitment process. People with no experience are simply looked over, and candidates are required to be overspecialized and are rejected if they do not have exactly the right skills for the job.
Another issue is that there are quite a lot of "bad" software engineers, who are just good enough to not get fired, and others who are just ass-hats.
All of these problems do not lie with the courses or the graduates. They are endemic in industry, and the solution is to fix industry. They should recognize and hold on to talent, and hire people based on their long term potential, not based on buzzwords on their CVs. Develop people in their jobs, and create a real sense of passion and loyalty in your employees.
I also agree with the sentiment that we are churning out too many computer scientists. It just dilutes the talent pool, and far too many people go into "computers" for the wrong reasons.