Regularly, we seem to get scare stores about the skills shortage in IT (for example, in Computer Weekly for 10 June 2008 we read that "the number of computing student numbers in universities and colleges has dropped nearly 50% since 2001 to below 1996 levels". At the same time, the next generation is supposed to be entirely computer-literate, which sometimes seems to be an excuse for poor UI design, with buttons too small for adult fingers and font sizes only readable by teenagers. John Suffolk (the Cabinet Office CIO) has said "This generation has grown up with technology. They see it as being as exciting as electricity. I think we have a job to explain to people the value we create".
So what is going on? Well, as Grady Booch said at RSDC, this IT thing is simply very hard to do well. Young people take it for granted—but in the same way 11th century peasants took the efficacy of holy relics for granted, it often seems to me. They can come up with facile applications of IT and can connect anything to anything (which isn't hard, once someone old and boring has invented the Internet protocols) but they have little idea of concepts like cohesion and coupling (which lie behind much of the concept of "beauty" in IT designs) and no idea of what the 0s and 1s actually do.
You don't have to understand how it works in order to intimidate old people with your adept handling of MP3 data and the BBC iPlayer. But you do have to know how it works in order to design the iPlayer—IT that is resilient and works when needed.
Except that you don't—today's legitimate equivalent of the dysfunctional "script kiddy" hacker can build business applications by mashing up whatever happens to be lying around on the Internet and/or intranet. And it will all work reliably—up to a point. After that point, it will slow down for no obvious reason, something in the mashup will be recompiled and it will start giving wrong answers—or the firm will be shut down for breaching some regulatory "Chinese wall" the mashup author wasn't even aware of.
And then we'll need people who understand how it all works, to sort out the mess (as we did after the spreadsheet revolution ran our business on Lotus 123 and Excel ran out of steam).
So, yes, there is a skill shortage—of the right sort of skills. We don't need graduates trained in scripting languages and Microsoft Office—anybody of reasonable intelligence can pick that stuff up easily enough. We need people trained in Computer Science—the hard bits: locks and semaphores and relational theory and even organisational theory and cybernetics.
Surely that can be made challenging and interesting to new University entrants, even if what is currently being taught in the name of IT (apparently) bores the pants off them?