The Software Developer Labor Market

Posted on April 9, 2009  Comments (12)

With the economy today you don’t hear much of a desperate need for programmers. But Dr. Norman Matloff, Department of Computer Science, University of California at Davis, testimony to Congress (Presented April 21, 1998; updated December 9, 2002) on Debunking the Myth of a Desperate Software Labor Shortage is full of lots of interesting information (for current and past job markets).

The industry says that it will need H-1B visas temporarily, until more programmers can be trained. Is this true?

No, it’s false and dishonest… The industry has been using this “temporary need” stall tactic for years, ever since the H-1B law was enacted in 1990. In the early- and mid-1990s, for example, the industry kept saying that H-1Bs wouldn’t be needed after the laid-off defense programmers and engineers were retrained, but never carried out its promise. It hired those laid off in low-level jobs such as technician (which is all the retraining programs prepared them for), and hired H-1Bs for the programming and engineering work.

Unlike Dr. Matloff, and many readers of this blog, I am actually not a big opponent of H-1B visas. I believe we benefit more by allowing tech savy workers to work in the USA than we lose. I understand people fear jobs are being taken away, but I don’t believe it. I believe one of the reasons we maintain such a strong programming position is due to encouraging people to come to the USA to program.

I also do believe, there are abuses, under the current law, of companies playing games to say no-one can be found in the USA with the proper skills. And I believe those apposed to H-1B visas make reasonable arguments and this testimony is a good presentation of those arguments.

This obsession with specific skills is unwarranted. What counts is general programming talent – hiring smart people – not experience with specific software technologies.

Very true.

What developers should do.

Suppose you are currently using programming language X, but you see that X is beginning to go out of fashion, and a new language (or OS or platform, etc.) Y is just beginning to come on the scene. The term “just beginning” is crucial here; it means that Y is so new that there almost no one has work experience in it yet. At that point you should ask your current employer to assign you to a project which uses Y, and let you learn Y on the job. If your employer is not willing to do this, or does not have a project using Y, then find another employer who uses both X and Y, and thus who will be willing to hire you on the basis of your experience with X alone, since very few people have experience with Y yet.

Good advice.

Related: IT Talent Shortage, or Management Failure?Preparing Computer Science Students for JobsEngineering Graduates Again in Great Shape (May 2008)What Graduates Should Know About an IT Careerposts related to computer programming

We started using Ruby on Rails at work over 2 years ago, and at that time it definitely qualified. Finding great developers with Ruby on Rails experience was hard. And we certainly were not restricting ourselves to such applicants (having that experience was nice, but not required). And I think it is still early, though not very-early to move into Ruby (and Ruby on Rails) programming. Another benefit of such new areas is you often work with others that are very interested in the craft of programming with a high desire to do great work (at least I know with Ruby it has been that way in my experience).

These attrition rates are striking. Five years after finishing college, about 60 percent of computer science graduates are working as programmers; at 15 years the figure drops to 34 percent, and at 20 years – when most are still only age 42 or so – it is down to 19 percent. Clearly part of this attrition is voluntary, but most are forced to seek other work when they see the handwriting on the cubicle wall: Employers do not want to hire older programmers.

It should be noted that other technical fields do not show this rapid decline of work in their area. For example, consider civil engineering majors. Six years after graduation, 61% of them are working as civil engineers, and 20 years after graduation, the rate is still 52%; compare this to the decline for computer science majors from 57% to 19% seen above.

Industry lobbyists have tried to dismiss the large attrition rate among computer science graduates by saying “They all became managers!” But civil engineers become managers too, and yet we don’t see a large attrition rate for that profession. Another analyst then postulated that computer science graduates have a greater tendency to become managers than do civil engineers, but this is not the case either. If anything, the opposite is true: The NCSG data show that among those who have been out of school 16 years or more, 13% of the computer science graduates were managers, while 18% of the civil engineers graduates held managerial positions.

12 Responses to “The Software Developer Labor Market”

  1. gregbo
    April 10th, 2009 @ 11:39 pm

    As one of your readers who is an opponent of having more H-1B visas granted than the current cap allows, I’m glad at least that you’ve acknowleged that there is abuse and fraud in the program which should be stopped. However, I still believe the program takes jobs away – as a recent example, jobs that US citizens (and even some green card and H-1B holders) lose because they are laid off, and asked to train new, H-1B holding recipients on their way out.

    As to the point about getting a job requiring language X that you know well and language Y that you want to learn is concerned, as a practical matter, given the economy, such jobs are rather difficult to find (for a given X-Y pair). Most certainly, any opening is going to get far more potentially qualified applicants (those people whose backgrounds would enable them to learn language Y on the job, possibly using their own time). Practically speaking, many applicants will not be hired, and the decision may come down to intangibles, as opposed to skills that there is some consensus in the industry meet the job qualifications. Another thing to consider is what the projected industry growth is for some particular language Y. In a sense, you are gambling that the Y you choose is going to become sufficiently deployed in such a fashion that it is a reliable source of income. For example, say, back in 1994, what would have made more sense to learn — Windows 95 or Linux? In a down economy, such as now, what if you bet wrong?

  2. Tony
    April 15th, 2009 @ 12:01 am

    The issue here is most programmers are trying to recreate the wheel. CMS are now a dime a dozen and what they should learn is how to implement conversion tools to make sales for their customers. Most dont seem to understand that a simple plugin these days have simplified website design and thus driven down the price for their services. Instead a programmer must learn to expand their expertise in other areas such as SEO.

  3. Anonymous
    April 16th, 2009 @ 5:20 am

    Practically speaking, many applicants will not be hired, and the decision may come down to intangibles, as opposed to skills that there is some consensus in the industry meet the job qualifications.

  4. gregbo
    April 16th, 2009 @ 10:46 pm

    If (paid) programmers are trying to recreate the wheel, it is because that is what their employers are asking them to do. We are in a recession, and some people do not have the luxury to turn down honest, paying work. Not everyone is in a position to refuse such work, in order to work on some new technology. The purpose of (paid) software engineering is to provide solutions for (paying) customers. It does not always involve working on/with shiny new technologies. And all entrepreneurs or others who take risks on new technologies are not always rewarded with robustly paying work. Those who are facing foreclosures, etc. can’t be faulted for not taking risks on new technologies.

  5. Anonymous
    April 17th, 2009 @ 7:52 am

    Practically speaking, many applicants will not be hired, and the decision may come down to intangibles, as opposed to skills that there is some consensus in the industry meet the job qualifications.In a down economy, such as now, what if you bet wrong?

  6. Anonymous
    April 22nd, 2009 @ 12:33 am

    I know what you say is really good but US govermnet should think seriously about this . even though the navies are loosing jobs but this the people from out side has come to uplift the country.let us govermnment think it right and make it right.

  7. Curious Cat Science and Engineering Blog » Productivity Gains in Software Engineering
    June 29th, 2009 @ 6:33 pm

    […] 10x Productivity Difference in Software Development – Is Productivity Growth Bad – The Software Developer Labor Market – Myths of Manufacturing Productivity by curiouscat   Tags: Economics, Engineering […]

  8. Curious Cat Management Improvement Blog » Improving the Recruitment Process
    July 3rd, 2010 @ 8:31 am

    […] – IT Talent Shortage, or Management Failure? – Find management improvement jobs – The Software Developer Labor Market by John Hunter   Tags: Career, Management Comments (0)   Permalink to: Improving […]

  9. Keshav
    January 6th, 2012 @ 3:33 pm

    I know I am late coming into this (almost 3 years too late), but this is an interesting thread that I happened upon. What I find so strange is that in this day of high technology that businesses don’t make more use of, and save money on hiring, remote workers. It is very easy for distant workers to program independently, and still collaborate when needed using desktop sharing programs.

  10. Learn to Code to Help Your Career » Curious Cat Management Improvement Blog
    February 22nd, 2012 @ 7:56 am

    […] Involve IT Staff in Business Process Improvement – Joy in Software Development – The Software Developer Labor Market – Hiring the Right People – Programmers at […]

  11. How to Balance the Benefits of Foreign Workers and the Potential Damage to Citizen’s Job Prospects at Curious Cat Investing and Economics Blog
    July 24th, 2013 @ 2:41 am

    […] have been quite a few complaints about companies hiring foreign nationals to work in the USA to save money (and costing citizens jobs or reducing their pay). The way the laws are now, companies are only […]

  12. Improving the Recruitment Process | Curious Cat Management Improvement Blog
    July 30th, 2019 @ 6:06 am

    […] Related: Job Listings Online Filled with Jargon – Interviewing and Hiring Programmers – IT Talent Shortage, or Management Failure? – Find management improvement jobs – The Software Developer Labor Market […]

Leave a Reply