College is not job training, it is a place where you learn how to learn stuff. The reason people believe otherwise is because college is really expensive, so it has to be viewed as an investment that will get you a job and deliver appropriate training.
Learning how to learn is important, it lets you move forward in whatever you take on. College as it is, is not a trade school, which seems to be what employers are expecting.
A degree in engineering or CS will churn out someone who has a strong analytical mind and the ability to learn more. Places that are hiring may need to adjust and accept that this is what the market is at the entry level, instead of complaining that the skills are not available at the price that they're offering. Companies might be better off offering less and expecting less (at the start, you might not get someone who can start churning on your application immediately) and growing talent in the process.
Also I've started seeing a lot of companies acting like the work they're doing is on the level of Google, when it's not and interviewing like they are and that's what they need.
Basically, it seems like a lot of employers have expectations that are way off the mark.