Offshoring is not making UK computer scientists largest unemployed group
computerweekly.com
computerweekly.com
Saying that, it's not my experience that this is having a noticeable impact, for what personal experience is worth.
While that may be unfortunate for other, equally worthwhile industries, it's hard for me to say that that's a bad thing for the individuals concerned.
"If you have a low skilled job there is a higher chance of your job being outsourced but if you are a software developer developing complex software you are very much in demand."
The fact is that most new CS graduates are "low skilled" as real-world, industrial programmers. A CS education can realistically only provide them a grounding in the core theory of the field; it can't, and shouldn't, be teaching them how to work within the context of massive, old, crufty programs that are the norm in the real world. This is the responsibility of employers, and IMO when employers complain about a lack of "good" CS graduates it just shows that they have abdicated their responsibility to train their employers in their own industry niche and somehow expect cheap programmers who are subject matter experts with years of experience in a dozen hyper-specific tools to drop from the sky.
But of course the outsourcing shops are perfectly happy to peddle the lie that their own people are programming geniuses who are also subject matter experts--and look at all the money you'll save! The IT managers get suckered into hiring boatloads of consultants or sending everything offshore, their own good employees, if they had any to begin with, get fired or jump ship, and the cycle accelerates.
Sure I'm cynical, but I've seen it happen often enough, and heard the same from friends who've experienced the same, to justify it.
Of that 20% most of them failed to be able to handle fairly basic CS questions (implement a linked list, describe how hash-maps work, reverse a string, basic algorithm questions, fizzbuzz, basic language questions on a language the candidate claimed to know). About 5% were able to pass this stage, and of that 5% we made offers to most of them.
We weren't expecting people with a deep grounding in practical programming, we were expecting a decent knowledge of CS and some basic ability to actually produce code. There just aren't enough competent CS graduates on the market.
I saw this as well when I was doing Mech Eng at college: time and time again, we were told, by the IMechE, our supposed professional body, that there was a huge shortage of mechanical (and other) engineers. I gather from physicists and chemists that they are told, there is a huge shortage of scientists. But any fule kno, the laws of supply and demand apply. I still get contacted by recruiters in engineering, offering me in some cases less than half of my present salary to go back...
Doubtless - that old British classism rearing its head - they would say that the managers are the "professionals" and the actual practitioners are mere labourers, like miners.
I believe the normal advice is to go get some of your work out there, contribute to open source projects or something. Make yourself more attractive to employers (or maybe even try and be your own boss)
I'd bet that if you dropped a few links to projects you've done in your spare time during your job hunt, you'd have people here asking for your resume. (assuming, of course, that you've been building projects in your spare time and that they're good.)
I reserve the right to think that nobody will be bothered, but here it is anyway:
http://www.sanfransys.com/pretext/ [Software to rip text from colour images and return a new image with text in 8-bit grayscale]
If you're a competent developer and you're not getting interviews then I'm guessing it's probably your CV that's letting you down.
edit: if you want someone to review your CV feel free to email me.