Hiring contract shops, and letting them handle the actual recruiting (you're building "foursquare for trunk sales", what do you know about finding good developers?) is the other route.
And it's not like there's a static pool, either. Hire enough developers at a high enough salary and people will be drawn to the profession. You'd be surprised how many spreadsheet jockeys are basically doing programming already, albeit in a roundabout fashion and a sketchy language/environment, and can be converted into "real" developers in relatively short order.
EDIT:
Here's an idea: take a group of actuaries (ie, people with quantitative skills, pre-screened IQ and diligence, and exposure to some sort of programming environment) and offer them jobs if they teach themselves Python on their own time. They'll even take a pretty rigorous test at the end if you ask them to; they're used to it. Their salary data is here: http://www.dwsimpson.com/2013_Actuarial_Salary_Survey.pdf
Do you think you might be able to hire developers for those kinds of salaries? I'd think so.
Instead of going into it with the mindset of "Well, I want to hire a software developer for $80k because that's what they should make" the thinking should be more based on "how much value will be added to the company/product/etc if this particular software developer we are seeking is hired, and what number can we afford to offer him or her based on that?"
People can argue until they are blue in the face if the best developers are 2x, 5x, 10x or 100x better than the worst, but whatever it is, there is certainly a wide variation in productivity and overall talent. Assuming that there should be a nearly fixed salary number based on years of experience is as ridiculous as assuming that all NBA players should make some flat rate based on years in the league or whatever else.
The software industry pays a lot of lip service to "meritocracy" but then they often throw the idea out the window when it comes to compensation of non-founders, which is goofy.
If a fresh grad is making $80k, then a junior developer (say 2-3 years experience) will probably be making $160k (x2), a senior developer might pull $400k (x5) or more, and beyond that you start to get into the world-famous engineers who receive whatever they ask for.
According to Google's financials at http://investor.google.com/financial/tables.html, they have approximately $220k of unallocated profit per employee. Even if they were to take all of that and convert it into salary, it would likely only bump the fresh grad's compensation to around $100k because the junior and senior developers will demand percentage-equivalent increases in their own pay.
> Assuming that there should be a nearly fixed salary
> number based on years of experience is as ridiculous
> as assuming that all NBA players should make some flat
> rate based on years in the league or whatever else.
Years of experience is useful as a rough approximation of value, because someone who is not constantly improving their skillset is unlikely to be promoted and will eventually leave their position for greener pastures.I doubt you'll get that from anyone, too many variables to set a minimum, IMO.
"If a fresh grad is making $80k, then a junior developer (say 2-3 years experience) will probably be making $160k (x2), a senior developer might pull $400k (x5) or more, and beyond that you start to get into the world-famous engineers who receive whatever they ask for."
It doesn't really work like that. I mean, sure there are articles about how Google pays $3 million or whatever to keep a top developer, but if you read past the headline you see it isn't salary, mostly one-time RSUs or such and the person is actually more of a project manager or even executive rather than a developer. The industry's issues with compensation extend up into the higher end too where there's somewhat of a loose glass ceiling at around $150k-175k or so (which can vary quite a bit based on region/cost of living, but the general idea of a glass cap is pretty universal) beyond which it is very difficult to go without being a Linus-level name brand, or going into management or founding your own company and hitting the startup lottery. Of course there are exceptions to this that prove the rule, like people doing HFT/financial software can make quite a bit more because they are compensated like financial sector workers instead of like software industry workers.
"Years of experience is useful as a rough approximation of value, because someone who is not constantly improving their skillset is unlikely to be promoted and will eventually leave their position for greener pastures."
As someone who is 40 and still an active non-managerial software developer, I should find this somewhat flattering, but I've seen plenty of evidence that suggests you are simply incredibly optimistic about the efficiency of the industry at weeding out those who aren't productive or talented.
Maybe the spread is bigger in Silicon Valley? If so, I wonder why. Doubling your salary based on 2-3 years of experience doesn't happen here, and 5x for senior engineers would require a very narrow definition of senior.
The economics of a free market says that salaries should be at the point where supply meets demand. If there's a shortage of labor, it implies that salaries are not high enough. And there's nothing in economic theory that precludes a developer from being paid more than a CEO, if that's the price it takes to hire a developer.
Unfortunately, we know that the big Silicon Valley companies don't believe in a free market for labor since they were busted for conspiring to keep salaries down by not recruiting each others' employees (while simultaneously lobbying the government to allocate more H1-B visas).
> The economics of a free market says that salaries should
> be at the point where supply meets demand. If there's a
> shortage of labor, it implies that salaries are not high
> enough.
This is only true if supply is easily increased. The percentage of the population willing and able to be trained as software developers appears to be strongly inelastic. > lobbying the government to allocate more H1-B visas
If a company is willing to pay above market rates to import a developer from another country, doesn't that imply that there is indeed a lack of local talent?If the salaries of software developers go up relative to the salaries of Wall Street analysts or neurosurgeons, more smart young people will quickly start going into CS. Conversely, if word gets out that tech companies are doing everything they can to hold salaries down while making their employees work long hours, fewer people will major in CS. The number of people willing to enter a field is a function of the job prospects in that field. Also, people in other fields who already write code as part of their jobs (e.g., scientists using NumPy) wouldn't be that hard to train as software developers. I've known some excellent software developers who used to be scientists.
"If a company is willing to pay above market rates to import a developer from another country, doesn't that imply that there is indeed a lack of local talent?"
If a company has been caught illegally colluding with other companies to artificially hold down the salaries of local employees, wouldn't you be somewhat suspicious that its goal in importing more workers (increasing the supply of workers and thus the competition among workers for jobs) might also be to keep down the price of labor?
An alternative would be to offer higher salaries, at which point they'd have a much better chance of recruiting developers from other parts of the U.S. to move to Silicon Valley, which is one of the most expensive places in the country to live. If a Silicon Valley company offered me 50% more than what I'm making now, my standard of living would probably decline, especially due to the quality of housing I could afford within easy commuting distance of work.
For comparison, the average male high school graduate who has experience under his belt in this same region will will earn $52K per year. $10K above that average is not exactly what I would expect a shortage to look like for a supposedly rare skill that is in high demand.
Maybe you could argue that it is only a Valley shortage, but it makes you wonder why the Valley isn't attracting some of these people outside of that region? Perhaps $80K (or even $120K) isn't interesting enough for them to give up their current life to make the move?
Cost of living must be a big one. I released that with different tax rates I would need to add around 50% extra onto my Spanish salary to make a move to Germany worthwhile.
if you want to have 2 kids, you're staring at a $600k+ condo, or a $1mm+ house; 2 cars; and daycare so you can both work. Plus 9% CA income tax. Oh, and if you ever want to retire, you're going to pay the state $1200/mo of rent just to be allowed to continue to live in the home you fully own (ps: don't take this the wrong way, I understand the state needs money, but $20k+ a year between property tax, insurance, utilities, and a handful of repairs is hard to budget into retirement.)
A couple I'm friends with just left to move back to MI. One was a developer with a masters from a top 10, making $140k. The partner was an account manager and made $90k, for a total of $230. The engineer took a paycut to $105 and the partner took a paycut to $60, for a total of $165. However, you can buy a pretty nice home for $350k; they live near family to help with daycare (saying $400/week for infant childcare); and taxes are lower. It's a much better deal for them. And again, to own a home, they need $100k+ as a downpayment and still have a housing/income ratio of 600/230 for a condo and 1100/230 = 4.8 for a detached house. Compare to MI where they have a housing/income ratio of 350/165 of 2.1. That makes an enormous difference in your financial lives, particularly as you think about savings, retirement, paying for college, etc.
So there is no "should" here. It's what do people need to be paid to live in an insane housing market with a busted ass public transport system, when there are far cheaper deals available elsewhere.
I was contacted by Google last summer for a potential job. I was shocked at how mediocre their recruiting staff were - unfocused, intentionally vague/evasive, rambling, didn't answer my questions, didn't followup when they said they would. Perhaps Google can't convince some people to uproot their lives and move across country because they're not doing a very convincing job in their initial outreach?
The free market works for buyers and sellers of labor too, not just of goods. (Within certain limits, of course--labor isn't fungible like books.)
That might work out somewhere like Texas.
When I graduated UT quite a few years ago, friends were getting offers of between 75 and 85K. Granted, they were really, really good and were already consulting on the side.
San Antonio might be a bit cheaper.
You /might/ be able to find a decent Texas State grad for 60K. Maybe.