
Yes, there is a skill shortage but it is in management. As the other replies state current management is in disarray, they should get educated. How you can require a person to have skills in SOX, SOA, ITIL, xxxML, UTMS, SaaS, security, agile, etc when you only know the buzzwords but not how and why?
My current experience is horrible, after 10+ years designing (government, NIST standards) level systems with AAA and security and talking to managers is frustrating. They (may) know about CC, FIPS, ISO, etc but their real knowledge is basically zero coming out from vendor brochures or "dog and pony" shows they have seen and written in job advertisements.
Now, I know many other developers in field who have problems to get work (or to accept work) because they know what, how and when much better than the people doing the hiring. And it is the same with AJAX, REST, SAML, SIP, etc, try and ask the hiring person to explain what those are! You would be amazed of the answers, I have been, they are so much way off that it isn't even funny. No wonder they can't find cheap workers and when they can, what are the results? A lot of bloated and "almost working" systems which will be fixed in next release 2010, maybe. My last experience was looking a contract job which was advertised as design and development.
First it did look good but when it came to questions as how would you do this they meant coding only, I did show a couple of problems in design and was told, no, it is perfect but how would you develop for that? I wouldn't because after a while the whole system would have problems going that way. OK, it didn't work and I was told that is the agile development, we just code a lot just now and think the systems / interoperability / maintainability / etc later, give me a break! Of course unit testing works, you can always make a small piece of system to work alone but try to match it later to your other products and systems, good luck! Haven't they seen the statistics how much an early correction in design saves compared to support and fixing basic design bugs when the system is in production? No, they haven't, so we are back in management eduction!
Same with shortage in mainframe developers, sorry, my 30+ years experience is that it has always been a management cry to hide their own problems. I have had and met development / software engineering managers who like to boast how they coded in Cobol, some even in in assembler, in mainframes in 80's and then "graduated" to PC's so they know everything of development! IMHO, they are the most dangerous types, they never learned whole systems, infrastructure, and they still think that threading, OO, metalanguages, etc are something new and difficult? Or, maybe it is, for them because they are still fighting to understand how PM tools work with SharePoint?