Forbes Magazine
October 16, 2000

The high-tech industry can blame itself for the "shortage" of software talent: Lots of capable code writers are brushed aside.

Not a Drop to Drink


The most successful industry in history can't shoot straight when it comes to hiring. High-tech employers, complaining of a desperate shortage of software developers, are lobbying Congress to increase the number of foreign workers brought in each year on H-1B visas. Yet employers reject the vast majority of their applicants for programming positions without even an interview. Many of those rejects would be highly productive workers.

Employers do admit to being picky. Cisco receives 20,000 applications per month but hires only 5% of the applicants. Inktomi hires only 1%, Microsoft 2%, Red Hat 1%, and so on. They claim that most applicants are not "qualified": They do have programming experience, but do not have work experience in some new programming language--Java, for example.

Yet this obsession with specific software skills is unwarranted. What counts is overall programming talent. Studies have shown that the sharpest programmers are as much as ten times as productive as the weakest ones, finishing projects ten times faster.

Any competent programmer experienced in the C language (the standard for the last 15 years) can become productive in Java in a couple of weeks. No formal training is needed; just give them a couple of Java books and put 'em to work.

Yet most employers will not hire a programmer on this basis. Nor will they consider hiring programmers who have updated their skills by taking a course in Java. They insist on actual work experience, explaining, "We need someone who can hit the ground running, be productive the day we hire him." Yet the average time it takes to fill a job in, for example, Silicon Valley, is 3.7 months. What sense does it make to insist on finding someone who will be productive "immediately" when it takes three or four months to find that perfect match? And what kind of "labor shortage" is this?

Though industry lobbyists point to low unemployment rates for programmers, these data miss the ex-programmers. Twenty years after graduation, only 19% of computer science graduates are still programmers, so the pool of ex-programmers is quite large. Many of them were forced into semitechnical jobs like customer support. Also, many programmers are working as underutilized independent contractors and would like to be salaried again. And even among new computer science graduates, not even half are hired as programmers, with many of them shunted into customer support, too.

For that matter, what about underemployed Ph.D.s in physics? (More than 40% of physics Ph.D.s are working in nonphysics jobs.) Most have done some C programming, and their high intelligence means they are going to be in the upper portion of that 10-to-1 productivity range, but they aren't considered.

Employers are paying dearly for this "no skills match, no interview" policy. Insistence on Java experience, for example, needlessly forces employers to pay a 16% premium for that skill. Even worse, this policy causes rampant job hopping among the relative few who have the given skill. Having a couple of key players in a project suddenly jump ship can be disastrous, especially within a few months of a project deadline.

Personnel departments fiercely guard their gatekeeper role. I have heard repeated complaints from software project managers that personnel screens out résumés of experienced applicants whom the managers would have liked to interview.

A change in attitudes may be hard to achieve. Recently an employer called me, desperately seeking a programmer to write software for a novel cell-phone design. He was different, he said: He would not insist on experience in a specific programming language. I replied that he was in luck; I knew a good programmer who was seeking work, and as a bonus, had experience with radio-frequency engineering applications. Good, he replied. "What frequency?"