I think there are some good points here for entry-level workers who are finding it hard:
it would seem that companies could hire 2~3 entry-level trainees to do
a job for (possibly) less than the cost of recruiting and paying that
one purple squirrel with 5+ years experience.
Well no, not really. Bringing on new staff is rarely just about the bottom line of salary, there are usually a number of benefits, and those per employee costs are often similar for an entry-level or more experiences employee. Also there are kit costs, training costs etc, which are usually the same no matter what the level.
Obviously companies want the best employees they can find, but the
engineering labor market still seems really imbalanced: why would a
'process engineer' or 'quality engineer' with 5+ years experience (for
example) be that much more attractive to a hiring manager than an
I'm hiring because I need someone now, I only have time to show him how WE work, not how to do the job or use the technologies. Entry-level hires usually have significant ramping up until you get to a productive point.
Also the situation is being made worse by the major universities (at least in the UK) who are becoming more and more out-of-touch with what businesses actually want.
Sure you may be a coding deity who can do the really hard stuff, but the fact of the matter is I need someone who won't take 6 months to do an over-perfect job, can talk to, and negotiate with the business on stories, can be trusted to make reasonable decisions based on experience, and keep me in the loop so we don't get issues biting us.
Most universities are driven around some purest thing, and have little time for teaching survival in the workplace, so most entry-level folks I see want to sit on their own (or telework at different hours to the business), and make career choices based on dress code rather than the team they'll be part of. Meanwhile my schedule is floating off into the sunset as no-one is actually burning down stories.
Now this isn't intended as a rant. I have mentored a number of new engineers over the years and quite enjoy it.
When I started (a long time ago now), you would come into the workplace as a new recruit, the job would be to get a spec for some task (software dev), which you would write, unit test and check-in, and Uni courses were fine for that. These days devs are expected to be agile, use TDD etc, but the unis are still teaching as before.
This is something that could easily be done in a course setting, the course I was on still (in the early nineties) managed to have assignments where the lecturers played roles, and we (as self created teams) needed talk/interview them to gain requirements and work out what was actually a priority to the assignment.
I think the problem stems from the fact that given all the money spent on higher education, the system needs to promote a competitive atmosphere. Modern teams work in a collaborative way, and that can be a huge shock when you've been doing it all yourself.