There are updates to this page that haven't been applied because you've entered text. Refresh this page to see updates.
Hide this message.

Given the massive demand for software engineers right now (2012) which is not adequately being met by supply, why haven't salaries increased drastically?

I see a lot of ads for software engineers still in the $100K - $130K base salary range. 

You would think companies would get with the program and really make some daring attempts to lure talent away.  By this I mean, listing $170K-$200K as base salaries for experienced developers.  But this hasn't happened yet. 

Why haven't salaries drastically increased?
Jonathan KangJonathan Kang, CPU Designer
6 upvotes by Anonymous, Quora User, Quora User, (more)
One thing I've noticed is that while base salaries haven't gone up all that much, discretionary bonuses have significantly.

This makes sense as base salary is guaranteed compensation (so long as you don't get fired or laid off, which has its own costs to the company) for as long as that engineer is employed. Discretionary bonuses, however, is something that can vary over time.

With the pace at which the software world moves right now, it makes more sense for companies to attract talent via large sign-on bonuses and keep talent via large yearly bonuses (RSU, cash, options, etc) rather than a promise of a higher base salary.
Quora UserQuora User, I bounce around and help startups.
236 upvotes by Seah yin Hwa, Anonymous, Abdul Rahman, (more)
They have - just not the way you think.

Basically, all the big tech companies - Google, Facebook, Amazon, Apple, Microsoft - have a gentlemen's agreement not to poach talent. After all, if they start a bidding war for talent, it's going to end up hurting them all.

Instead, they focus on "Talent Acquisitions" or "Acqui-hires". Where they basically buy a startup, kill the product, and then re-deploy the engineering talent elsewhere within the company.

For the acquiring company, it's cheaper to do this than to poach talent or raise base salaries.

Investors know this, so they are throwing bucketloads of money at startups with technical talent, even if they don't have a viable business model, because they know that Google or Facebook or Amazon will "Acqui-hire" them.

And that's why all the best technical people are doing startups, because they can get almost any shitty idea funded right now. All the mediocre talent is already working for Facebook and Google. And everyone else is fighting over the scraps.

It's not sustainable in the long term, but that's the way it is.
Quora UserQuora User, Engineering manager at Square
27 upvotes by Anonymous, Anonymous, Quora User, (more)
It's never easy to increase base salaries; it's unfair to the current employees, and almost inevitably will cause a cascade of salary increases across the board.

Plus, it's not as if salaries haven't increased in the past few years. When I came out of school, $70-80k was on the high end, and $100k would have been near the peak of earnings for an indiv. contributor. Salaries are famously inelastic downwards (e.g., no one wants to take a pay cut), so jacking salaries up that much has repercussions down the line.

Yishan Wong has also made the argument that the best devs are starting their own companies and getting acquired to the tune of a few million per dev anyway.

And finally, big companies are making outsized offers, though they're not really publicized.
Vivek ChandranVivek Chandran, Works with engineers
17 upvotes by Kevin Ernest Long, Anonymous, Sarfaraz Rydhan, (more)
Salaries for engineers depend on different factors.

1. Skill set :  If all a company needs is a Java developer, there are quite a few. But let's say the company is looking for talent in a brand new area or in an area where talent is short, that's when they are willing to pay more. A year back Hadoop/MapReduce engineers were scarce. UI folks are being lapped up more quickly these days because of the focus on interfaces be it web or mobile.

2. Other skills: A lot of the developers being paid top salaries are ones that clearly understand the product being built, the audience it is meant for, the competition, the market place. An engineer who gets the entire ecosystem is a lot more valuable than one who has a mere technical skill. A lot of times engineers clearly need to be told exactly what to do. Their ability to get the big picture, find creative solutions, identify risk, are poor.

3. Entrepreneurial experience is a plus. This means that the engineer clearly understands the various aspects to pushing out a product. The product need not be public or even popular. Even if someone goes out developing an app or a website, they become clear on  quite a few concepts: how to -  articulate an idea, identify the competition, do a SWOT analysis, work with a creative person on UI, work on QA aspects for the product, work to popularize the product, more.

Most startups are not in a position to hire people for every role that has been defined. They look out for people who can wear multiple hats and do whatever it takes.

It's a very rare breed of engineer who gets both business and technology. Most get technology, in which case in depth expertise helps, so does supply and depend. Engineers that get both, do need to be stronger on the technology aspect than business, since there are other people in the company clearly tasked for those roles. Both these categories of people are in a minority and are paid better.
Quora UserQuora User, civilized person
16 upvotes by Serign Jobe, Anonymous, Abhinav Vishwa, (more)
I'll add an executive-level twist based on labor cost strategy to the general ideas about demand and supply at the engineering level. For emerging markets, this may be more unpredictable and a bigger factor driving decisions than pure talent competition. Talent markets do not operate in isolation of other business concerns.

There may be unmet demand, but it is demand to fuel something that has been judged to be a "Ponzi scheme until proven otherwise." A potential bubble economy in short.

Consider the environment in which a CEO of one of the larger companies has to make talent management decisions at a strategic level.

Facebook's business model is unclear. Microsoft is struggling for relevance in a clouds-and-tablets world. Google's search core is aging, with spam pollution, Android still makes less money than iOS for Google, Amazon may be running into middle-age cash management problems soon if rumors are to believed, and given its aggressive loss-leader approach to developing new markets like the Kindle.

Even Apple (a relatively "old economy" company due to its hardware-centric business) is struggling with online economics and strategy (mapgate etc.). Its devices may still be great, but it is has never been clear whether Apple is good at online economics, or whether its devices are propping up bad online thinking.

In this environment, nobody is entirely sure whether this whole sector is a minor one, a hyper-inflated bubble, or something substantial that will account for 50% of GDP or something in 10 years. If you are the CEO or high-level exec at one of the large companies driving the game, you cannot just think in terms of how much you want to pay for talent.

You have to decide how much you want to pay for talent, adjusted for the risks of the market opportunity you are going after.

Why? Because labor is the biggest cost fraction here. Take a simple case of a company with 50% s/w labor costs, $10 million total costs, and $20 million revenues. So 50% gross margins, and this company spends $5 million on labor now.

The board and CEO think they could hit an addressable market of $100 million (5x) if they scaled their engineering correspondingly (5x). If they scaled proportionately (something biology teaches us is never the case, but never mind that), they'd be spending $25 million on labor.

Let's say you're willing to take a $100 million market at 25% gross margins, which means if your cost ratio (labor:everything else) remains the same, you could actually afford to budget an additional $12.5 million for getting the best talent. If you spread that evenly across old and new hires, and assume for a moment that everybody gets paid the same, you suddenly have a way of offering a 50% premium over the competition (I think I did my math right here...)

But if the market opportunity comes with only a 50% chance of being realized, with a 50% chance that the market cannot be grown at all, where does that leave you?

You grow aggressively on labor, and if the plans don't work out, you have to do layoffs and get yourself into deep trouble. Your reputation may take such a deep hit that even your original base that you were growing from is threatened, because the talent you do have loses morale and starts quitting in droves for the "next cool company."

What's more, you have to take into account that talent prices may drop as supply from the education system slowly starts to catch up. If you have a 5 year plan to grow 5x, and are betting on an exponential profile with labor scaling towards the end, you want to dollar-cost-average your talent acquisition accordingly, and get the cheaper/more plentiful new grads to the extent possible.

Talent management is equal parts microeconomics, culture management, business model risk management and plain old supply-chain smarts. A startup can afford to play only one of those games, but if you run a company of any reasonable size (like 300+) you get yourself into trouble if you are too simplistic about it.

I forget which question this was, but somebody had a brilliant answer about the pathologies of a company that raised too much money and then hired too many people who sat around twiddling their thumbs and partying essentially.
Nathan WolfsonNathan Wolfson, people are the core of tech
2 upvotes by Anonymous and Avinash Sharma.
Actually, salaries have risen and a few companies have taken the route of paying "whatever it takes". 

One example is Netflix.  Even low level engineering talent has been getting offered in excess of 200k per year.  They do some interesting stuff, however:  No benefits, stock, bonuses.  You decide what you want to do with your big pile of cash.  And, of course, it's not without risk -- whether because of their aggressive efforts of a regular basis to cut out the lower performers (which raises the bar year over year so even the good people have to watch out over time), or because if you made a bad decision about, eg, your health insurance coverage, you might end up in an ugly situation.
3 upvotes by Anonymous, Rakshith Begane, and Quora User.
Published salaries in job openings tend to lag the reality of what is being paid.

So in periods of rapid increases published salaries will appear lower than reality.

Typical pattern at companies in the current environment:

  1. Recognize that you are having trouble filling openings and/or are losing valuable people.  Start to consider increasing salaries.

  2. Lots of good reasons to be hesitant to increase salaries for new hires. 

    If you increase the published salaries offered you will need to increase salaries for all current employees as well (who will see the new published offers). 

    It is easy to make a mis-hire, spending a high salary on a mis-hire feels bad and puts you in a bad position with your boss. 

    Also, once you have increased salaries it is very hard to reduce them later.  Because salaries are "sticky" in response to future downward pressure, companies are hesitant to increase them even when the market suggets an increase is warranted.

  3. So typically the first reaction is not to increase published salaries for new hires.  Instead you will offer higher comp (often in terms of bonus and stock instead of salary) to your current stars.  Also you will offer higher comp to candidates who come in as referrals (existing staff members have previously worked with them).

  4. By focusing on retaining your own staff and hiring referrals and by focusing on stock/bonus not salary changes you have a lower risk profile (since those folks are known entities) and you can slow the general wage inflation by obfuscating what is going on (stock/bonus is harder to compare, also you are not changing the published salary rate because neither of these groups comp is set through that mechanism)
Kane TaoKane Tao
1 upvote by Anonymous.
I have wondered that myself, as I am one of those sought after developers (who also helps with hiring co-workers). From the attitudes of upper management, I gather two thought processes. One, current salaries drive new hire salaries (e.g. they cannot be out of range espescially since no one would give those big raises to current employees). Two, estimation of salary range is not driven by lack of supply or abundance of demand, as supply-demand curves would dictate, but instead are derived by expectations of managers who haven't been in the market in years and have outdated expectations. In acutality, managers are far too busy fighting day-to-day fires to sit back and worry about the fact that they are under staffed or why people aren't submitting resumes for open positions. Plus, everyone knows they can exploit the depression job market. Just look at the explosion in number of contract-to-hire positions, jobs that ask an employee to quit a full-time position for 6 months of no insurance or benefits and the chance that they will hire you at the end of the term. Prior to five years back, no one would have gotten responses to those offerings unless you were a 1098 contractor or unemployed.
Mark SimchockMark Simchock
4 upvotes by Anonymous, Anonymous, Rob Kinyon, (more)
I'd like to note that the universe is actually a subset. That is, not all positions but only positions floated via job ads. It's quite possible that positions are in fact being filled with higher quality talent with salaries that match the skill set. However, once a position trickles down to being (only) worthy of mass publicity then it seems appropriate that the offering rate is also the middle of the market.
Ingmar DrewingIngmar Drewing, - [cartoons,... (more)
1 upvote by Anonymous.
Maybe the "massive demand" is made up by the IT-companies with the intention to cut their costs.
Shuo HuangShuo Huang, Technology Enthusiastic
1 upvote by Serge Kozak.
That will double the operation cost, and stock goes down. They will need to earn twice the profit before doing that.
Matthew BakerMatthew Baker
1 upvote by Quora User.
Two people doing the same job, one is paid $60k, the other is making $180k.

The difference is that one employee takes the first offer, never switches jobs, never demands a raise and doesn't know how to negotiate.

The other employee gets 4 competitive offers before accepting one, switches jobs as soon as he is no longer challenged, keeps aware of the supply/demand curve for his/her skill set and knows how to negotiate or walk away from a dead-end situation.

Ironically, employee #2 often offers a better value proposition to the employer.
1 upvote by Shashank Katkar.
Salaries do not rise because they outsource the work to India and other countries where there is no shortage of software developers. They simply hire s/w engineers in India at a fraction of pay what they give to a s/w engineer in US.
Will SetchellWill Setchell, Engineer @ Google
It is all about the margin

Companies are pretty convinced that a good engineer can create more than $20K in value for them in a year, so they are willing to hire many engineers at $20K / year.  These same companies do not believe that an engineer can create $10M of value in a year, and so would not be willing to hire engineers for $10M / year.

As a company, you should be willing to hire engineers as long as they cost you less than they make you.  So engineers aren't making more, because they aren't worth more to companies.
2 Answers Collapsed
Write an answer