Duke professor Vivek Wadhwa has research that shows that there’s no shortage of IT skills on the job market, in spite of the assertions of executives and analysts. Some other researchers agree:
“No one who has come to the question with an open mind has been able to find any objective data suggesting general ‘shortages’ of scientists and engineers,” said Dr. Michael Teitelbaum, vice president of the Alfred P. Sloan Foundation, in testimony to Congress last fall. “The RAND Corporation has conducted several studies of this subject; its conclusions go further than my summary above, saying that not only could they not find any evidence of shortages, but that instead the evidence is more suggestive of surpluses.”
Dr. Ron Hira agrees there is no shortage of skilled IT workers. In his capacity as a professor of public policy at the Rochester Institute of Technology, a fellow at the Economic Policy Institute and co-author of the book Outsourcing America, he has pored through Bureau of Labor Statistics data and university graduation rates and found that the United States has consistently graduated more than enough computer scientists and engineers to fill the IT jobs available in the country. Similarly, there he has seen no in unemployment rates to indicate any kind of IT worker shortage
The researchers do have a point in saying that wages don’t appear to reflect a shortage:
“It doesn’t add up,” Wadhwa said. “We live in a free economy. If we were sitting in a government controlled economy it would be one thing, but in a free economy what happens is that when shortages begin to develop is that prices rise and the money compensates for the shortage.”
On the other hand, what I’ll say based on personal experience is that it is very difficult to find competent software developers. I have had the opportunity to participate in the hiring of a number of developers over the years, and it has never been easy to hire developers that I actually want to work with. In 2003, when I had a hard time finding a job and when a lot of people were out of work, it took a very long time to find a solid Java developer to join the team where I worked. We went through at least 100 applicants and interviewed 10 or 20 people before we found someone qualified to do the work — straightforward Java Web application development.
It hasn’t gotten any easier. So I’m not sure what to think about these kinds of articles. The market is complex, but from where I sit, there’s an acute shortage of really solid programmers. I’d say the same for software testers and systems administrators as well. There are a lot of people out there who claim to be able to do those jobs, and who have experience in those fields, but they’re not actually any good at what they do.
We live in this sort of bizarre world where the market looks very inefficient from up close. Salaries seem to indicate that there’s no shortage of talent, but at the same time it’s very difficult to find and hire talented people. Salaries do not tend to vary greatly based on talent, either. Theoretically the most talented programmers are working at companies with stock options that are increasing in value, but I’d be shocked to find that the best developers at Google or Apple make much more money than the worst developers, given equivalent experience. Maybe the academics need to do more research.
March 11, 2008 at 10:50 am
I agree 100%.
There is no shortage of people with IT skills on their resume. There is a serious shortage of individuals that really “KNOW” how to use those skills. I think you can find this in any field, not just IT work. The current practices of most HR companies aren’t helping this trend. Who knows how many great people didn’t even get an interview because their resume didn’t have the right buzzwords. Give me someone who is passionate about their field and learning something new over someone with a buzzword laden resume any day of the week. However, HR may only pass along the guy playing buzzword bingo.
It will always be easy to find someone who is willing to occupy space, but very hard to find someone understands how to add value to a company.
As for the salaries, my guess is that IT pays well and the really great programmers do it because they love it. They’ll take less than they are worth because it’s all they need to live their life.
March 11, 2008 at 12:24 pm
This matches my experience as well: finding anyone over what I consider entry-level (essentially whether they can do more than follow copy-and-paste instructions) is very hard but you’ll get hundreds of people who expect a comfortable salary for a job which could be replaced with a Perl script.
A lot of the salary muddle is probably due to the generally broken processes at most companies, which make it difficult to accurately judge job performance objectively and you have a huge amount of noise in any salary survey.
March 11, 2008 at 12:34 pm
I completely agree. Finding good developers is extraordinarily difficult but it doesn’t seem that the truly good developers are rewarded any more than the merely average or sub-par. And that’s even when the skill discrepancy is obvious to the higher-ups. The squeaky wheel is the one to get a raise.
March 11, 2008 at 2:04 pm
That’s roughly my experience, and I don’t want to sound like a whiner or one of those “Oh, everyone I’ve ever worked with is a total idiot” types.
But: as Chris Adams says above, a large percentage of people are no use for anything but cut-and-paste coding and even then will require your time and attention to unfuckup their messes, that is if you don’t have to throw the whole thing away. Or what they produce sort of works but is so crazy you can’t possibly integrate it without selling your soul to Satan. Or they’re a great programmer but they’ve bought into the idea that it’s okay for smart programmers not to bathe, talk to other people, attend meetings, offer ideas, or in general act like a normal human being in any way. Or they’re a great programmer and they’re realized that that means they can just blow off their job 90% of the time. (I, personally, try to keep it under 50%… ahem.)
I was once asked to do a code review on a piece of Perl code written by an M.S. C.S. who was no doubt very highly paid. It was an incomprehensible mess of spaghetti code, ignored entirely the company’s existing libraries and systems, this one file contained its own database handle pooling system and caching mechanism. I said I couldn’t even tell if it was going to work because it was impossible to tell how it worked. And if it worked, it can only have been by accident. Honestly, it was like the output of a genetic algorithm, not that of a human programmer.
Of course it went into production right after that. Shortly after that the company went bankrupt, which you can hardly blame on this one piece of code but it does amuse me that this piece of code was the billing system.
I’m a “qualified IT professional”, which is to say, I have a C.S. degree, but my impression is that the qualification is not much of a guarantee of anything. True, the smartest person I’ve worked with is a current coworker who’s a Caltech C.S. grad (er, she’d be embarrassed if she was reading this, but it’s true), but the other great, productive developers have had all kinds of backgrounds.
The best HTML person I ever worked with was a hairdresser before she did it and knew literally nothing about computers before learning HTML. She was fantastic – sharp, incredibly productive, a great design sense, and could learn about anything new in no time. And productive – she worked hard all day (something I rarely manage) and that was, as they say, working smart and not hard. She went back to cutting hair; the job stopped being fun once web agencies got super corporate.
One more anecdote. The other developer guy here is someone who taught himself HTML & CSS to get out of a dead-end & particularly crappy non-computing job. I needed some grunt work done – converting a bunch of templates from JSP to FTL – so I hired him on spec. Now he’s pretty happy diving into Java code and while that’s currently more at a cut-and-paste level, that’s okay, I think he has great potential.
Now the salaries thing, that’s tricky. The ingredients in a salary negotiation are complex and part of the reason that the salary range is constrained around here is that you simply can’t live the kind of middle-class life that college grads expect (justified or not) in the Bay Area on less than, oh, $60k, or $80k, or $100k, or $120k, depending on where you live or whether you have kids or other expensive habits and on what your idea of a minimal middle-class life looks like.
So that’s where the negotiation starts, and it probably chops off a big chunk of the bottom of the salary range since hiring even un-spectacular IT workers costs that much.
And the other end of the salary range is a bizarre mess where some people have stock options in varying amounts – not uncommon for two people doing the same job but who joined at different times to have options that are 10x as numerous or at 1/10th the strike price, or both, or more extreme differences. I think it’s also true that a lot of programmers just don’t care that much, something that’s (sadly for my bank balance) true of me to an extent. As long as I’m not running up credit-card debt, I’m paying into my 401k at a decent rate, and I have enough extra to buy the toys (literal/figurative) I want, I have a hard time getting motivated to negotiate for more salary, or to think about looking for a new job with more money. Provided, of course, that I’m enjoying my job, which I don’t take for granted.
Finally, there’s the effect of the brilliant website/game/niche-application/widget that brings in money without an employer. Employers have to compete with the idea that someone could just go out and work for themselves and keep all the profits.
So yeah, I’d say: plenty of IT workers, many of them suck, salaries are bizarre for complicated reasons. It’s a funny old industry all right.
March 11, 2008 at 3:22 pm
If it takes longer than you think it should to get a good developer, why don’t you offer more? Don’t you think if you doubled the salary you were offering, you would get more qualified developers to apply? The problem is that you have a price in mind for the person you want to hire. Just because you are offering a similar salary to other companies in the industry does not mean you are offering enough to attract good people. The companies that are getting the good people are offering significantly more, in terms of salary and benefits. You also can’t look at this as, I’m offering 5k a year more than the other guy. If someone is happy in their job, it will take a significant increase in pay to get them to move at all. (+ marketing, they have to know about it) I have to ask, for those saying they had to go through many candidates to find a good one, did you raise the advertised offer as you went, or do and A/B test? It’s also a catch-22, if you only want to hire the best, that will inherently be less than 5% or so of the general developer population. It doesn’t seem so bad to go through 100 to find 10 suitable for the job at all. Like Jeff said too, good people want to work for fun, doing things they find interesting. You have to pay a huge premium to get good people to work doing boring things. Being a garbage man pays well because no one wants to do it.
March 11, 2008 at 3:31 pm
For the jobs I’ve been in a position to interview people for, the salaries have not been posted. So the problem isn’t finding excellent candidates and then having them decline because the pay isn’t high enough, it’s finding excellent candidates.
March 11, 2008 at 3:32 pm
Looking at it from the supply side, lets say there are a finite amount of good programmers, let’s say it’s inherently hard and that most people just can’t do it. Are we (as companies) just competing and stealing from ourselves? If the only way to get good programmers is to pay them enough to steal them from Microsoft, doesn’t that mean there is a shortage?
Well, if that were the case, everyone would be stealing them from each other, and salaries would skyrocket (which they aren’t, so right there we know that’s not the case.) With these salaries, wouldn’t people who left the field because working conditions sucked (70 hour weeks in a cubicle…) start to come back in? Compared to a smart person with a business degree, programmers don’t even make that much money…
When wheat prices go up, farmers start producing more wheat, not immediatly, but it happens. There might be a shortage of programmers that are willing to work in a cubicle for a micromanaging pointy haired boss in the middle on Michigan for 70k, but that’s not a problem for our economic system, just for the people who are paying the programmers.
March 11, 2008 at 3:38 pm
If the salaries aren’t posted, that sounds like an advertising problem. If I’m happy in my current job, and I can see from salary survey that my pay is fairly standard, why would I look for another job?
That’s exactly the kind of loyalty that a company wants to discourage. If I see my salary is significantly lower or hear about a company paying 60% more, well, it matters a whole lot less how much I like my current job, I might look anyway.
If you want to save time=money looking for good candidates, spend money attracting them, not just keeping them.
March 11, 2008 at 6:23 pm
Recruiting and interviewing are skills, too. Unfortunately, most companies are horribly inept in these skills.
The problem, too, is that HR has contributed a lot to this situation. In order to justify their own high salaries, corner offices, and places at the VP tables, they’ve slowly taken over the meat of the recruiting/interviewing process.
Asking an HR drone to interview a tech person (or any other position except HR, for that matter) before you even let that person past the gate, is one of the key reasons why it is hard to find good people.
(Speaking of which, those who are skilled in getting themselves hired never go through HR until after the fact, and usually then because it is ‘company policy’ — but the decision to hire has already been made by the person’s future manager.)
March 11, 2008 at 10:52 pm
I was going to post something insightful, but most of my thoughts have been taken. I seem to have the same experience as you, Rafe, and everyone else who’s posted (except, sorry, but I don’t really jive with Rob who doesn’t seem to be arguing from experience).
Lately it seems the really qualified folks are turned off by the limits on what we can offer them, and having interviewed them at all makes the other candidates less appealing. Following that stream of consciousness, it’s also amazing how things still keep running even when you’re short half your staff and can’t find anyone qualified and willing to jump in.
But I will make one point related to Jeff’s and bryan’s points about HR screening: there is a skill in tailoring your resume to the job. I’ve seen a lot of applications that may well have been good candidates get passed over because they didn’t take the time to match the list of “required qualifications” on the job posting with the items they list in their skillset. On one hand, it’s easy to blame HR (and in my case, State of Virginia) policies for having to pass these people over, on the other hand, I really don’t know if you’re familiar with MVC development or even version control if you don’t spell it out. We can’t interview everyone.
March 12, 2008 at 11:21 am
Rob, I think the problem is discerning between the candidates. There’s little in a day or so of interviews that’ll tell you if you’ve got a superstar or not. So if I walk in off the street with my resume, I’m going to get offered under a hundred k, but if you know of me and have worked to me, you’ll come to me you’ll offer quite a bit more than that.
Further, a lot of my productivity seems to involve the environment I’m working in, so even I can’t tell how much I’ll be worth to a company in a day or so of interviewing.
Thus Rafe’s company doesn’t have a prayer of hiring me, because if they offer enough to interest me they’ll have to be sorting through a gazillion people attracted by the dollars, but have no way to distinguish between those folks and the actual superstars.
The only way the superstars take jobs is that they’ve developed a network of people who know both how much they’re worth and what sort of environments they’re most productive in. And I’ve tried, once, to break out of that mold that my career has been cast in, I was productive, but salary-wise, even though the raises started to come fast and furious, it was like starting at zero again, and eventually I said “it’s not worth the opportunity cost to build yet another network, let’s just go back to people I’ve worked with before and double my income”.
It’d take a tremendous leap of faith by someone who hasn’t had a few years working along side me to get me out of that network of people I have worked with before to get me or people like me. Most companies won’t risk that. The only way to really do it is to hire ’em young and cheap because they don’t yet know what they’re worth and hope that they’ll be superstars, or hire from your network.
March 12, 2008 at 5:41 pm
Dan, you elucidate my point exactly.
If Rafe’s company wanted to hire you, they’d have to also work their network (their peoples’ networks). Forget Monster, the want-ads, the website, etc., because those are all pretty pathetic options in terms of candidate quality.
Chances are, if the people in a given company are at all active in the tech community (Why isn’t this encouraged at most companies? Here goes that inept thing again.) they know someone who knows someone good who is looking.
Yes, I agree that one must tailor one’s resume to the job, even if one is going directly to the hiring manager, because unfortunately, the idea of having the right buzzwords on a dead tree is so ingrained in our culture that fighting it is impossible. Here’s the rub, though: Past accomplishments are no indication of future performance.
No matter what goes on the resume, the information is worthless. So my dead tree says I “worked on” Oracle implementations, SQLSvr deployments, MySQL clustering, Shards, optimizing queries, tuning indexes, etc, etc, etc. Does that mean I’m a good DBA? Heck no! Does it mean that I know my stuff? No way! If I’m completely inept, so much so that I would not be able to do the job, I would still be brought in based upon my resume. And we would waste everyone’s time.
A good ‘screening tool’ would not allow such a false positive.
March 12, 2008 at 6:45 pm
I don’t put anything on my resume that I don’t actually want to do, just to avoid confusion.
March 12, 2008 at 7:01 pm
Some large HR departments are really out of hand. If Subversion is on the job description and you have VSS, rcs and cvs on your resume there is a good chance you won’t get considered because you don’t have relevant experience. Yes, there are some HR departments that are this “particular”. One thing I’ve learned, is to stay away from employers like this…unfortunately, I’ve learned this the hard way.
March 14, 2008 at 7:12 am
I don’t think there is a shortage of IT workers. There is a shortage of IT workers willing to work for low salaries. Basic economics would dictate that if the shortage is real, salaries would skyrocket. That is not the case.
March 14, 2008 at 6:05 pm
Oh, I’d also add that for all the reasons pointed out by bryan, Monster and the major search sites are pretty worthless for the hiring company, and they’re worthless for the job seeker for exactly the reason Jeff points out.
Oddly, Craigslist seems to be a decent resource, recently used it to find candidates for an admin position, but I think that’s mainly because there are fewer headhunters inserting themselves (usually uselessly) in the process, whereas Monster and its ilk are awash in people looking to take their cut in exchange for badly matching keywords.
October 27, 2008 at 2:16 am
What I’ve noticed after many years in programming is that the majority of “IT” employees nowadays aren’t technical at all..
They’re managers (mostly pointy haired idiots with total lack of any technical skills), help desk phone answerers (who just pass problems along), cable pullers, desktop techs (who install software and swap out hardware), vendor package maintainers, user liaisons, on and on…
The vast, vast majority aren’t technical at all, yet for years they’ve managed to pull down high salaries because their job description has the word IT in it.
Not to say that their skills aren’t needed, but it’s far more difficult to find a solid developer than any of the jobs I just mentioned, yet I’d be hard pressed to say that management really understands that.
So, my answer to the question about whether their is a shortage of IT workers is no, but good developers are hard to find.