If there's a shortage of programmers, why aren't wages up?
"There's no shortage of IT workers because wages would rise!"
I've heard that so many times that I want to scream. And it's all because of one damnably simply, yet misunderstood, supply and demand graph:
We all learn about that graph in introductory economics classes and, to misquote Mencken (as everyone does), it's simple, elegant, and wrong.
The graph not wrong per se, but there are a few problems with it. First and foremost, it's a model of how a market with perfect competition responds to changes in supply and demand of goods and services. A model, however, is not the market, and there's no professional economist (worthy of that title) on the planet who would claim that it is (well, maybe from the Austrian school ... </snark>). A model is a tool used to illustrate a principle, to help understand it. After a moment's reflection it should be self-evident to anyone that given the complexities of economies, a simplistic graph isn't enough to model developer wages.
However, I mentioned that there was more than one problem with that graph. I mentioned perfect competition. Did you know that the graph looks radically different given a monopoly? Or a monopsony? Or an oligopoly? Even with perfect competition that graph is easily distorted by manipulating the information consumers receive. There are, in fact, myriad ways of impacting what that supply and demand curve looks like, but nobody seems to know (or care) about that. Again, after a moment's reflection it should be self-evident that given the complexities of economies, maybe brandishing an economics 101 graph isn't quite enough to model typical developer compensation packages.
But actually, programmer's salaries have gone through the roof ... for Facebook, Google, Twitter, and so on. They have average salaries around $120,000 US, but keep in mind that "average" means that many are making far more than that.
Most developers are earning far less and I still regularly get contacted by recruiters in London offering me an "attractive" position at £45K per year. Um, no.
The salaries tend to be higher in areas like San Francisco and New York, but those are to help offset insane living costs. And while it's clearly geographically biased, many of us still have the feeling that salaries aren't rising that much, even though there's still this talk of a "market shortage" for developers. So what gives?
First of all, there is a market shortage. My wife and I are starting a company that, amongst other things, handles international IT recruitment, and our research confirms again and again that yes, there's a shortage. There's enough of a shortage that for knowledge workers in general and IT workers in particular, many of the normal roadblocks to relocating abroad are being torn down. Many startups are trying to recruit back-end developers, front-end developers, system administrators, and other "tech" people, but finding competent ones is hard (once at the BBC, a manager lamented to me that while they couldn't find Perl developers, they could find plenty of PHP developers, none of whom the BBC was willing to hire).
And the landscape of internet history is littered with the carcasses of companies who had no idea how to monetize their ideas but were nonetheless flush with VC money. It wasn't quite the electronic equivalent of the California Gold Rush because at least in the Gold Rush the inherent value of gold wasn't in question. Instead, it tended towards being a modern day tulip mania. Today, while we hardly have what economists would call a "mature market" for the internet, the crazy days of the 90s are gone and while investors are cautiously optimistic, the keyword is caution.
And that's the issue. There are still many, many new companies constantly springing up to innovate and find or create new markets. For every startup swimming in cash, you can find plenty more who are scraping by, hoping to make it. They can't pay those higher salaries, even if they're increasing demand. And even if they wanted to, there's a problem there. You see, while there may be demand for you, you're generally not the product: you're helping to build the product. Thus, your salary is constrained by the demand for the product, not the demand for you.
Yes, the demand is increasing, but the ability to pay higher wages simply isn't there. This does not make the demand go away, but it does distort the market. One statistic I've been reading over and over again lately is how telecommuting is more common outside of Europe and the US. I believe that part of this is European and US companies hiring less expensive telecommuters from developing nations. I've read several anecdotes about this and I can't prove it, but from an economic standpoint, it's a natural response: and it's going to continue to limit your salaries.
On the plus side, the demand means that you'll still have better job prospects than many of your compatriots, but it's going to be hard for many of us to hit Google-level salaries or better unless we:
- Become such skilled developers that Google or their competitors will hire us
- Become essential to a cash-flush industry such as finance
- Launch our own company and succeed
It's going to be a long, long time before this industry settles down and until it does, simplistic supply and demand graphs won't even begin to explain the dynamics of developer compensation.