In trade mags such as PCWeek and InfoWorld, the problem shows up often. Views and information from both sides are presented. Some claim visas are needed only to keep down the salaries of programmers because companies only want to hire younger, less experienced, and cheaper workers. And some companies restrict themselves to applicants with experience or training in a specific technology such as "Java" or "SAP." Everyone acknowledges that many workers have been sucked up to work on the Year 2000 glitch, the nightmare where the entire economy will collapse and people will starve or die in plane accidents. (Actually, the real danger is that the price of some stocks may drop, making a few consultants and CEOs a little less rich.)
All these factors and a few others are contributing to the shortage: 10% or 346,000 jobs nationwide are currently vacant. And some of the solutions will come from freeing people after the turn of the century, paying more, and providing training.
But I suspect we will lack sufficient technical expertise to run the economy well for the foreseeable future, not just in America, but worldwide.
There are basic types of personalities and preferences. Some people make good salesmen, others prefer solitary pursuits, and some work only to support hobbies such as fishing or numismatics. There are only so many people with the preference, perhaps it's an innate ability, for the logical, analytic skills needed by the computer industry. However, these same people are needed in other professions such as architecture, science, and medicine. Even auto mechanics require these skills. The inescapable technical complexity of modern society will absorb all the logical intelligence produced by humanity. We may be able to turn auto mechanics or doctors into programmers, but then our cars or bodies may not get fixed.
The problem is intractable, but not insurmountable.
Only a certain percentage of humanity has the mentality and temperament to be technical. And only a portion of that group has the talent to be creative. Others will have to perform the less creative but vital roles of draftsperson, brake repair, and network administrator instead of the creative/analytic jobs of architect, master mechanic, or application designer. And of course many others will use their non-logical intelligences in the necessary areas of sales or the arts.
The key to surmounting the problem is education. But it cannot be technical. I believe we already lose too many useful people due to the rote teaching used in schools. Many children learn to associate logic with boredom, and some of the most creative get completely turned-off with book-learning in general.
Rather than repeat the educational theory used after Sputnik where abundant federal money for science education produced a generation of space-oriented techno-geeks and antiestablishment hippies, we need to move our educational system in the direction of valuing the diversity of personality, the varieties of intelligence, and the creativity inherent in most children. We must gear learning to the student's age and preference instead of towards the latest political crisis that provides the most money for new teachers. In the world of tomorrow, the one we're training our children for, every hand will be needed somewhere.