Software Developers and the laws of supply and demand.
“Testifying before Congress in 2007, Google’s HR chief stated: ‘We make great efforts to uncover the most talented employees we can find.’ But according to the U.S. Dept. of Justice, Google actually went to some lengths to avoid uncovering some of tech’s most talented employees, striking up agreements with Apple, Intel, and other corporations to avoid recruiting each other’s employees. On Thursday, U.S. District Judge Lucy H. Koh ruled that Google, Apple, Intel, Adobe, Disney, Pixar, Intuit and Lucasfilm must face a lawsuit…
This case fascinates me.
I’ve long contended that there is something fundamentally wrong in an industry where individual software developers are in great demand, where the difference in productivity between a really good developer and a poor developer can be well over an order of magnitude–but where salaries are, generally speaking, within a narrow band of perhaps a factor of 2 difference between entry-level developers and experienced developers.
I think part of it is a stubborn refusal to acknowledge the value of key software developers: I’ve seen companies allow multi-million dollar projects fall apart for want of paying a $10k raise to a key person. I’ve seen companies fail to acknowledge the value of key contributors who have had to face the prospect of replacing a key contributor with three or four separate developers (at a total burn rate around 3 times the salary of the key contributor) just to stay even. I’ve seen companies who routinely have no problems with paying a premium to a key vendor who is strategically important to their company dismiss a similarly strategic contribution from a key developer.
And I’m not surprised that in Silicon Valley, companies are doing everything they can to keep developers from discovering their true value by job hopping key skills: after all, if Apple is making $400,000 in profit per employee, the basic power law of distribution of skills implies there must be a few software developers at Apple who are making the low 6 figures in salary, but whose contributions to the company is in the low 8 figures.
I think a number of factors determine the improper valuation of developers. (And I’m not arguing that developers all deserve a raise; there are quite a few who are significantly over paid.)
(1) Management doesn’t understand the skills or difficulty involved with development.
A really really good software developer makes things look simple. They’re not; he’s just very very good. Problem is, management gets lulled into believing it really is simple, and finds himself frustrated when that really really good developer leaves (being under-appreciated; face it, if what you do is magic, but your boss thinks it’s mundane, you’ll feel under-appreciated too), that he’s unable to find another good developer.
By the way, this cuts both ways: a manager who thinks something is simple may think that a replacement developer is almost as good as his really really good developer and pay him (perhaps) 70%-80% of the salary the key developer was paid before his departure, for (perhaps) 10%-20% of the skills and work load. By not understanding what it really takes to be a really really good developer, our manager not only winds up replacing his key person with someone less skilled, but he also winds up paying a premium for it.
(2) Venture capitalists and businesses, given the belief in an artificially low price of good developers, and given the supremely high values attributed to things like Facebook, are mis-allocating capital.
Here’s the thing: go to any developer meetup and talk to the business people looking for engineers. There is this persistent belief that it should be easy to find some cheap college graduate software engineer to build the next-generation social media site, and then make millions when it succeeds.
But if that were true: if there really was an endless supply of software engineers out there who were able to, with the right hint from some guy who runs around flashing his Rolex and chatting up the girls at the bar, build a multi-million dollar web site property, then we’d all be millionaires.
When something is rare, however, it tends to be more expensive. And if it is more expensive than you think, perhaps you want to re-think how you’re spending your efforts, to make sure your expenditures are ultimately profitable.
Sadly, however, business people refuse to face the reality that there is a huge demand for software developers, and good software developers are extremely rare. Instead, they tend to think they can walk into a bar, find an engineer, convince that engineer to work for free (but for a percentage of the business they build together), build a business, and make millions–it’s just a matter of finding the right bar where all the engineers hang out.
Honestly, they’d be better off spending their time and effort playing lotto scratchers.