I'm growing a little tired by how the "industry" complains about lack of skills.  Now, they're saying software graduates are lazy.

I think the "industry" has a few problems.  Frankly, it's boring.  And, well, it's wrong-headed.  Why does "the industry" always look for a quantity of software graduates?  I've seen job adverts for "10 Junior PHP programmers", for example.  It's not unusual for a large number of people with similar, low-end, skills being asked for.  At the same time, there's a massive gap between that low experience level and the early-career experience level.

My first job was great.  I was well-paid, well-treated, and was surrounded by intelligent people.  Three rather decent jobs after that, I wasn't even earning the inflation-adjusted amount I was earning in my first job.  And, yet, somehow, a few months after that meant a difference of 40% or so in the salaries of the types of positions I was being asked to apply for.

I can only imagine it's as irritating for other people, working their way up between the fifteen billion other graduates that compete for the sorts of jobs you're able to apply to with your experience.  You're at least 20 times more effective than the average of those fifteen billion people, and somehow you're being extortionate for asking for 10-30% more salary.  And you need that salary, since, being interested in the field, you want to buy books, be online, and so forth.

The reason there are fifteen billion other graduates is because the companies are asking for quantity of staff, not quality of them.  People see lots of jobs open, and so decide to go "into IT".  Those people who go "into IT" because of the available jobs are just not worth as much as those actually interested in the particular subject.  10 low-experience programmers earning R5k a month (take home) aren't nearly as valuable as 2 higher-experience programmers earning R25k a month (take home), and the 10 low-experience programmers also cost more because they use more desk space, more parking bays, and so forth.

That's bad enough, of course, but now they're calling IT graduates lazy, because the average IT graduate probably is lazy, because the average IT graduate is in the wrong field.  If you want someone who isn't lazy, don't ask for 10 graduates - ask for 2 higher-experience people.

The worst reason I see for hiring more junior people is that more senior people - people with more love for the field - tend to move jobs, which is a lot worse than if you only have one or two of the ten people churning at a time.  But, frankly, look at the way you treat the more senior people, and you'll quickly find why they leave - because they're not given the things they need to perform.

Unless you're grossly underpaying your senior staff, they're likely to stay if they're treated well.   Sure, that may mean forking out more so that the development area is properly lit.  Or that the environment has enough air flow.  That the temperature is managed.  That there are enough plug points.  That there are two LCD monitors on their desks.  Heck, offices for every, or every two or three, developers, so that they're not constantly surrounded by noisy colleagues who sing along to music playing on their earphones, or are making sales calls, or who just talk to themselves loudly or discuss the cricket or how to make money fast with property with other members of the staff.  But, you'll find, they're worth it.  They're worth more than five other people, and don't cost five times as much.  And they're there and if you treat them well, they'll stay there.  And they know what they're doing already!  Less time wasted on training!

Now, people will say that I'm being elitist - that I'm not thinking about ways for junior people to join the industry.  Well, firstly, boo hoo!  Why should we care about all of the artificially high number of people who go into an industry for the wrong reason and into an industry that doesn't actually need them?  We should care about those that are in it for the right reason, and those that would be in it if given the opportunity.

With less chaff, there will be less competition for those that are in it for the jobs available.  Those that would be in it if given the opportunity are not a problem that is solved by having tons of low-experience jobs.  That requires work before they even decide what job they want to go into - they need to know that they're interested and/or suitable in it by then.

Of course, this does leave a lot of people who've been through all these courses and so forth without something to do.  Maybe we can buy all of them a series of books by W. Richard Stevens, Frederick Brooks, and Donald Knuth, and see who floats.  It'll be cheaper than the fly-by-night or utterly useless "programming course" they've been on and will go on again when they're conned into thinking it'll get them a well-paying job.