The software industry now has so many facets that require in-depth specialisation that no matter how hard you work at it, it is no longer practical to try to be master of them all.
I have spent more than seven successful years as a self-employed software developer/consultant, but have just had a disastrous year of tantalising work prospects falling through. I could not figure out why, in the current climate, this should start happening. However, after seeing the Computer Weekly story that the UK is now a consumer of 37% of outsourcing resources, I am no longer surprised.
But that is only the start of the problems. There is mayhem in the IT employment market.
Firstly, there was a time when it paid to use one recruitment agency exclusively, both to make it worth their while and to deal with your best interests as a candidate. But now it is a case of signing up for 20, 30 or more online agencies, with CV-scanning software that in some cases has the intelligence of a gnat. Often you cannot filter e-mailed job alerts by location, so you have to plough through hundreds of inappropriate jobs to find the one that may be of interest, then click the link and apply.
Secondly, you cannot simply apply with the prospective employer in mind. You are applying first to a person in an employment agency, whose knowledge of the industry is such that some may not know the difference between the Microsoft .net global assembly cache and a Klingon delicacy. And you have to persuade them by tailoring your CV in terms they can understand before you even get a chance to have it forwarded to the employer.
Thirdly, you will be lucky to get an automated one-word response. Prospective employers no longer even acknowledge that they have received your details. This is understandable when for even the lowest paid jobs there are hundreds, sometimes thousands of applications from people all around the world. But in all likelihood they probably did not even see your CV because the agency filtering of appropriate candidates excluded you from a job that you might be perfect for. It is ironic that for an IT job your first judge might be a piece of imperfect software.
It is time to dispel some myths. There may be a skills shortage, but most of the problem is logistical incompetence: an inability to match appropriate candidates with jobs.
There is certainly no shortage of people in the IT jobs market. The market is swamped with desperate people with little experience trying to get their first real job.
At the other end is the problem of ageism. For example, a 50-year-old candidate might have grown with the industry pretty much from the start, and know how to program using anything from hexadecimal to .net web services. They may also have an enormous wealth of real-world experience in dealing with clients and be able to offer real people skills.
Working on the theory that the retirement age will very likely be 70 by the time today's 50-year-olds get there, such candidates will be able to make an effective contribution for another 20 years. Most companies don't even last that long, so what the hell are they worried about? Even if they did, investing in 20 years is not wasting resources. Twenty years is a career.
The employer is unlikely to have to invest in a lot of training for such a candidate. In fact, an older candidate could be a real asset in helping to train their new staff.
Meanwhile, I have seen job advertisements for .net programmers with more than five years' commercial experience. I suppose you might find a suitable candidate if someone from Microsoft who had an early alpha test version to hand were to apply. But such advertisements highlight the need for a greater understanding of the market by some agencies.
Is it really so difficult for us to bring more common sense and care into the recruitment market? There are a lot of well qualified IT staff out there who love what they do and who do it well. Keeping them in the business, and making full use of their skills, will generate benefits for businesses, IT professionals and recruiters alike.
David Lambert is an independent software developer and IT consultant