Hacker News new | past | comments | ask | show | jobs | submit login
Software Developers: how to get a raise without changing jobs (fearlesssalarynegotiation.com)
272 points by Axsuul on Nov 7, 2016 | hide | past | favorite | 192 comments



If only things were so easy. Our department gets allocated $XX,XXX each year for raises. My boss has to split that among eight people. If I were to get a 5% bump like OP recommends, other people would get nothing.

Sounds like typical D-grade manager motivation. "Everyone work yourself to death and I might throw you a bone after one year!" I'd rather give up that 5% to have a sane work-life balance.

It's common knowledge that you must quit to increase your salary. It seems like a stupid practice for companies to follow, but it must make sense economically or they wouldn't do it.


That surely sounds like a negotiation tactic was played on you. "I cant give you a raise without taking it from someone else" or "It's out of my hands" are cut and dry sales tactics.

I am a bit pejorative to that tactic because if answered correctly, it actually harms the salesman: proclaiming you cant give X salaries means that they dont respect market rates and thus an employee is incentivized to leave to someone that does. Their inability to give raises is a showing of weakness not of strength.


Sure it's a weakness, but they (management) don't care. If the developer leaves, they'll hire another and in the mean time the remaining devs get to pick up the slack. It's actually a convenient excuse for the schedule slipping; they blame it on the developer who left because he "wasn't a team player", even though management knows the real reason is because they simply don't ... know ... how ... to ... manage.


I can assure you as a (reluctant) manager I definitely care. Its literally the only reason I'm management. I'm also constantly having discussions with the people who generally make these kind of broad decisions about how unrealistic their decision making processes are. I tend to start those conversations with some variant on "it doesn't matter what you say the raise limits are for a person, the market sets those things and the market right now says you're wrong".

It turns out that deciding what a software developer is worth is a very challenging proposition because deciding which ones are good is an open problem. Probably the central open problem in our industry today. But salary conversations are largely not about that. In sufficiently large organizations they are about how well you, or your manager if they are good, play the game, and in smaller ones its about having the cash flow to back up outstanding liabilities.

In any case, I think its fair to characterize these approaches as a tactic, whether its a negotiation tactic or a real cost limitation varies from organization to organization but its not the employees job to worry about that. If you are in a good organization they are constantly making the value proposition to the company make sense, if not they aren't and you shouldn't feel guilty about either asking for more pay or leaving if it isn't provided.


> it doesn't matter what you say the raise limits are for a person, the market sets those things and the market right now says you're wrong

This is very common. They often justify it with "In this company we're not paying as much, but we have greater freedom/cooler tech/<other benefit>". Well good for you. We have already established that we're a good fit, but I'm not working for 20% less than I can across the street.


I don't think there is anything wrong with justifying a lower pay rate that way. I have definitely taken lower paying jobs for those very reasons. When you are making that value proposition you accept that some potential employees you'll miss out on because the money is not there.

The problematic behavior is when the people setting the pay bands get the value proposition wrong or they think they are paying market when they are not.


Well, ATM I tell everyone that unless they add 15% to my current salary I won't even listen; I love the place I work ATM, they have been consistently nice for 18 months straight and I actually enjoy work.

I also have an OK salary so this is partially about reducing risk and partially about giving something back.


They can try and justify it, but as it turns out I can't pay the rent with "greater freedom".


IME that's usually a lie. Worse working conditions almost always correlated with lower pay.


Replace-ability is actually a solid negotiation tactic, but that's not the same as intransigence regarding budget.

The characterization of management as incompetents backastabbers is as childish as the one that says employees are lazy bums who should be grateful of their salary.


A million times this. The insidious part is that if you come up in that kind of management culture, it destroys your motivation and ethics to where you actually become a bad employee. You will then be less hirable by good companies, and hence the vicious cycle. It's really a type of abusive relationship.


You're correct. But it has been cultivated from seeing too many good engineers laid off due to bad management. Bad management who get to keep their jobs.


The type of company and management I'd recommend people strive to work with prefers to retain good staff rather than hire fresh.


Hiring itself and losses from going without are very expensive, I find it weird that any company wouldn't rather retain. I wouldn't ever be surprised that hiring cost $10k all up.


If a company only used external recruiters for any position above 100K it's going to cost them 15K+. More likely 25K. Now if they try on their own as well by posting jobs, hiring internal recruiters, network... Hiring is expensive.


Recruiters take up to 20% of first year salary or more plus the time to retrain, a 10k dev is a cheap one.


In Chicago, some recruiters have started asking for 30%. I've refused to work with these companies but rates are definitely going up.


London here. Thought it was 10-20%

I asked a recruiter that placed me and he said he's usually taking 20-35% :D


Great, that's win. The company gets another interchangeable cog that they value equally and the developer that leaves gets to work someplace better.


I notice you don't mention increasing revenue or cutting costs anywhere in your analysis.

Which is exactly why any developer in that situation needs to get out as soon as they can find a better position. Such a company is obviously not going to prosper in the long run.


> Manager: "I cant give you a raise [...]"

The employee got an offer the next week somewhere else for +30%.

He gave his resignation letter to the manager right away. It didn't even occur to him to ask the company to make a counter offer (even though they may have).

[Just to say that sometimes, negotiation strategies can backfire, but managers don't seem to realize (or care about) that.]


Being in that situation is so satisfying.

  Boss:      HR won't give me the money for your raise. 
  Employee:  I quit. I've been offered more money elsewhere. 
  Boss:      No wait actually I can get that extra money
  Employee:  Too late, kthxbai


+1 Never take a counter offer.

You'll get more pay but you're stuck in the same company run by the same narrow minds.


That's a rather narrow minded way to thinking about the issue.

I've accepted a counter offer twice, and both times I was glad that I did.

There could be many other reasons for a company not paying what you can get somewhere else. A very trivial one is the yearly update cycle: that may happen in January whereas you get an offer in June. Companies that hire don't align to the schedule of your current one.

And hiring companies inherently know asking somebody to quit and somewhere else carries a risk that needs some amount of kind of reward.

Hell, how can one personally even know what he/she is worth? There are so many factors at play. It'd be narrow minded to expect pricing perfection on something nobody really can get right.


Yes, but these are the narrow minds you know. Be sure there will be a new/different set of narrow minds at the next company.


In my experience narrow minds can be expanded.


Sure. If you need to seek out an offer every time you want to expand them, it's going to take a bit of work however.


All narrow minds can be expanded in theory. With an axe for example.


Plus they'll likely be looking to drop you in favour of someone they can play less soon after.


I'd like to strongly opposite to this advise.

You've got 2 companies you can work at. You should go to the one you prefer to work with. Maybe that's the one you already are in, maybe not.

Do what's best for yourself.


Never say never.


Some employers have special exemptions for counter-offers; your boss literally gets more money for your raise if you have a competing offer.


Not always the case. I did accept counter-offer and it worked out pretty well.


I've worked at a number of places which had this basic policy. Upper management gives middle management a % of their budget for merit increases, and its up to the middle manager to break it up how they see fit.

While you can certainly try to negotiate increases in compensation outside of this, I've never seen it happen successfully.


I've never seen it happen successfully.

I've done it at least half a dozen times in my career. I was told "the maximum we can give is a $7k raise since there is a fixed pool for raises in the department."

I said if I quit and you have to replace me, not only will you have to hire 2 devs to replace me (as I pulled dev and sysops duty) and pay them market salaries, you will have to pay a recruiter 20-30%. They still wouldn't budge, so I got a counteroffer for $30k more than I was making, plus some other perks. They not only matched, they also matched for other devs on the team.

Do not fall for that fixed budget BS...the pie can always get bigger.


> They still wouldn't budge, so I got a counteroffer for $30k more than I was making,

Getting a counteroffer is not the same as what the OP is suggesting. Using another job offer as a leverage for a raise is not recommended by most experts. Just google "Should i accept a counteroffer?". Mainly because you create bad blood at your current employer and you have to be ready to follow through on your threat. Also, that employer you just pushed right to the edge of hiring you is going to be mad you were just using them. There are entire top 10 lists about why it is a bad idea!

I have pleaded the entire "it would cost you thousands to train a new guy, and you will have to pay him to start what i'm asking for right now!" line to bosses before. They are unmoved by financial arguments. It's as if management just decided to take a hard line against "persuasive" raises across the board, nevermind the damage it costs to lose talent.


Of the top five results Google gives me, all are by recruitment agencies who have a strong incentive not to loose candidates and their commission.

The notion that accepting counteroffers is always hurtful to your career is contested to say the least: See this [1] HN discussion from about a month ago.

[1] https://news.ycombinator.com/item?id=12624112


When considering this tactic, ask yourself one question: "Do I work for psycopaths, or for (relatively) rational human beings?" If rational, go ahead and let them know the market rate of your labor by showing a competing offer, knowing full well that you're ready to take it and move on. It's only business. If you work for psychopaths, just take the offer and leave because fuck that shit.


I feel like any company large enough to have a significant HR department won't count as a "rational human being". They'll probably fall into the "psychopath" category by virtue of dispassionately and emotionlessly assessing how much of a liability you are to them if you're willing to demand they make counter-offers.


In a large HR department, chances are you're dealing with somebody for whom you're just a number instead of somebody has a personal grudge.

Nothing personal, just business is the attitude you want when handling something as trivial as a salary negotiation.


Being a psychopath isn't about holding a grudge, it's about acting in pure self-interest with no regard for the effect on others. So psychopathy is a good way to describe an HR dept that does its intended job.


Exactly - given the prevalence of "psychopath" in common conversation as violent, unreasonable etc., perhaps I should have specified further or instead used "sociopath".


That is not what psychopath means. Maybe you are confusing with sociopath?


As far as I know, the two are synonymous or nearly so.


Just as a head up, most of the people who write answers to "Should I accept a counteroffer?" are recruiters who next mortgage payment is contingent on you not accepting the counteroffer.


I've read that, are you sure it's not a scare tactic by recruiters?


Why would there be bad blood if you decide to stay?

If you can bring in more than you make they will pay - management doesn't care about another 10k. They know what the replacement cost is.


Honest question, did that affect your working relationship with your manager / their manager, or did it work out well long term for everyone?


Honest question, did that affect your working relationship with your manager / their manager, or did it work out well long term for everyone?

It worked out well for all parties, depending on how you look at it.

Management was a little out of touch with market rate salaries, since they weren't tech guys (once the CEO referred to engineering as "black magic" since he didn't understand it). So while they were shocked at an offer I was able to get in a few days, they understood that engineers are in an enviable position in the job market.

This was 2013 and I was making $110k in Los Angeles, and they were offering $117k. The counteroffer was for $130k plus perks valued at about $10k (401k plus match, extra week of vacation, etc). So they matched at $140k.

I stayed there and after a year I got a promotion to director of engineering and a raise to $155k + up to $25k bonus. A few months later I renegotiated to have the bonus removed and the base salary increased to $175k.

During the time after I pulled my stunt I expanded on a pet project using sentiment analysis and that became the core of a new product that is now 40% of their revenue.

In December 2015 I left to work as a remote freelancer, which would have happened eventually regardless.


Thank you for including real numbers. Helps understand what's possible or realistic.

"During the time after I pulled my stunt I expanded on a pet project using sentiment analysis and that became the core of a new product that is now 40% of their revenue."

This is the most important number you give! Very important to understand the need to point to concrete revenue generated (or costs cut) when negotiating a raise. Otherwise, management will probably just call your bluff.


> management will probably just call your bluff.

You don't need some enormous revenue or productivity win on the board to ask for a raise (although it helps). It just needs to be less hassle for them to pay you a raise than to replace you. In most cases it's really that simple.


> A few months later I renegotiated to have the bonus removed and the base salary increased to $175k.

What was your negotiating strategy here? Did you just say "I'm going to make the bonus anyway, please let's just write it in now", or was it more "I might leave if we can't work this out"?


That's the puppy. You have to have a card, you have to be willing to play it, and they have to believe you are willing to play it. And they have to value you. That is base camp for negotiating.


Same here. If you're somewhat good, getting a new developer will always be expensive and it is a risk for the company.

The new developer needs to familiarise himself with everything and what happens if he's actually worse than you?

Of course no sane boss will ever tell you this. Just nag them and don't accept "no" for an answer.


As director of engineering, I gladly gave generous raises to retain people, because it cost way more in lost productivity to read resumes, interview candidates, and onboard new devs, not to mention the $30k check you have to write to the recruiter. And you're right, one bad hire can be disastrous...apparently the guy that replaced me wanted to prove his value by rewriting the whole architecture. So they spent a whole year doing that which I'm sure is much cleaner than the original under the hood, but to the end user, it is not apparent.


> apparently the guy that replaced me wanted to prove his value by rewriting the whole architecture. So they spent a whole year doing that which I'm sure is much cleaner than the original under the hood, but to the end user, it is not apparent

Anecdote: We had a guy show up, he claimed that we had to do a rewrite. We spent 2 years catching up to the base product. Complete waste of time, had to fire him 1 year into the rewrite. Gained no value from it. He was simply too arrogant, vain, and/or unskilled to bother to read other people's code.


What position did he come in as? Seems awfully odd to have a new-hire making such a decision. From the sounds of it, he effectively tied up resources for almost a year before being pushed out?

There are two problems there, from what I can ascertain:

1. The guy wanting to rewrite your product.

2. Management that allowed him to do so without proper motivation and/or cost-benefit analysis.


I was a noob at the time and had assumed he was a minimum of 1 year experience better than me and really knew what he was talking about. He used great business terms and convinced the non-techies, too. In retrospect, it's a very obvious mistake. He convinced us the open source project that we based our business on for the 6 months before hiring him had limitations, but it turns out that the open source project was packed full of features, well polished, well designed, easily extensible, etc. and we spent 2 years catching up to where that product was, just in a different framework.


In 2011 we had to rewrite a backend which was architected by a guy who left after his plan didn't work which was effectively a rewrite of the rewrite. I left the company in 2013 and in 2014 they hired him at my new workplace (we had no contact before and this decision was oblivious for me). I left that company when they put him as team lead on my team and several years later I heard from an ex-colleague that they dumped a backend which was architected by this guy.


Very similar story to mine! :) I was hired together with a guy like this, knew all the fancy keywords and didnt want to touch the old code. We were lucky to refuse him, but it was just by chance. He left the company few months later.


"Well, yes. They did. They did it by making the single worst strategic mistake that any software company can make:

They decided to rewrite the code from scratch."

http://www.joelonsoftware.com/articles/fog0000000069.html


It's always a risk, but it comes with the tiny chance that the new hire will be the guy who designs the next iPod.

From the employer point of view, keeping someone aboard who is willing to jump on every opportunity for leverage is also a risk. You might want to have the fiercest of negotiators in sales, but the same thing is not a trait you want to see in developers. Bad for their earnings, but that's how it is. The most capable developer in the world would not be a someone you want as an employee if you suspect that he could use his powers for extortion tactics. (It's bad enough already that the worst developers become "irreplaceable" without even trying)


It's often a bit true though. I bet your direct manager didn't have that authority himself and had to go up higher and justify it to either his boss or his boss's boss.


That is true but in this last case I became that manager and suddenly there was no such set pool for raises.


It's just reflective of the level of trust invested in the business leadership.

Bigger orgs manage compensation seperately and usually only gives management limited levers to pull to affect changes. They do this to manage costs, avoid internal competition and because they don't trust line management.

Workers are a cog in the wheel in these orgs, and treating shiny cogs better is ultimately worse for the org.


It's not a tactic. It's, in fact how a LOT of companies do it. As the guy in charge of doling out my pool of raise money it has absolutely been a zero sum game everywhere I've done it.

If our across the board raise rate is 3% and I give you 5%, I had to give someone else 1%. In practice, I would like take 0.25-1% from more people to spread the pain out some.

If there was someone performing at a level that made me feel it was okay not to give them a raise, I might grab it all from them. But doing this pretty much means they will leave in 3-6mos or I will wind up letting them go sooner. They were likely already on a PIP or we've had serious performance discussions throughout the year.

It's not a tactic, it's simply the way it is. not giving a raise to someone is a signal that puts the wheels in motion for them to be gone. Your relationship with them will be tested, likely broken. If I want to keep everyone on my team, barring extraordinary circumstances, I need to generally even them out. Evened out seems to settle between 2.75 and 3.25%.

What most people don't say is that a good company will have set aside a pool of money for retention. It could be a salary correction because someone got in cheap and we recognize that we need to adjust them up more than a simple raise- most of the time it's the emergency money I can go to the CEO and beg for in order to match that offer you got if I really want to keep you and think you'll be happy to stay.


I don't know if you can assume it's a negotiation tactic. My friend is a manager for Amazon and he wasn't able to give people raises like he wanted to. I don't remember if he couldn't give them a raise or couldn't give them as much as he wanted to, but either way, it's definitely a thing in some places.


That's still a negotiation script, just one set from above the first line manager.

Double effective because now first line are insulated from negotiations and grunts don't know who are the negotiatiors they need to talk to.


If threatening to quit is the only way to get the raise that you (presumably) deserve, then it's probably a good sign that it's time to, you know, actually quit and move to a better opportunity where your contribution is properly valued.


Nah. It's just a standard negotiation strategy.

If you want to stay, come back with a better offer and ask your company to match. Be prepared to leave if they don't want to.


This can be true when companies have a "focal" process where everyone is reviewed at the same time. If that's true at your company, your best bet is to shoot for an off-cycle raise (6 months out from that "focal" process) when there's a separate budget or possibly no fixed budget.

I wrote more about this here: https://fearlesssalarynegotiation.com/do-you-have-to-quit-yo...

Sometimes you have to quit. But it's worth pursuing an off-cycle raise and coordinating with your manager to see what's possible.


Devil's advocate: At a low-performance company, perhaps they aren't able to extract any more value out of a developer than what they are paying (plus overhead).


That's especially the case of consultancies.

They resell the human dude at a daily rate. Giving a raise is just lowering their margins.


My experience is that if they want something to really happen, most of times it will. The keyword is "really"


What happens if your boss goes to their boss and says, "Hey, one of my employees is planning to jump ship for salary reasons, can we do anything here?"


I think you are missing the point,

Of course you can do that but you enter another level of negotiation because you are quitting and it might not even count toward the budget at this point. I would not recommend doing that every year as a negotiation tactic either.

I tend to agree with Redwards, and unless you are working in a small company if you do your job correctly it becomes more a political game than anything else.


Depends.

I've had success in getting promotions for some people when this sort of thing happens... sometimes it's a wake up call for the execs to light up a back burner conversation with HR.

Other times, I've gotten a shrug.


You typically only get to play that card once and you'd better be looking to leave in the next two years anyway.


If the option of giving people nontrivial raises is unblocked, you only need to play it once. It is harder to play it this way, of course, but once you have an exception / your boss has more budget / etc., you can hopefully just do normal raise negotiation.


If "threatening to quit" is the process to get a raise at your company, what makes you think that doing so will suddenly stop that process?


I'm referring specifically to 'redwards510's department, which has a specific budget for raises (and to similar cases). I'm not referring to companies where in general one needs to threaten to quit to get a raise, of which there are a lot more. My guess is that if 'redwards510 threatens to quit, and that goes successfully, that will necessarily involve either raising the annual budget for raises (which, if I'm understanding correctly, is in dollars-per-year, not dollars), or fixing the process.


Definitely true, but in software engineering it's typical to have short stints anyway. If you change companies every few years, why not play this card all the time before jumping ship?


> If you change companies every _few years_

Pretty sure that in the current era there isn't a "S" at yearS for someone decent (and willingful).

Most companies are perfectly fine to hire/poach from elsewhere whereas most companies are sucking at retention (that is, if not actively pushing people away). The combination is an aggressive environment.


at my company the answer would be "good, hire the replacement for 25% less than current so I can tell the vp we're saving money"


What happens if he replies that "We've been recruiting for 6 months for this position and we couldn't find anyone decent enough even at his current salary"?


Haha! This is exactly the argument I use when trying to negotiate! I say "you won't be able to find anyone for what you are paying me now". Management shrugs. I tell management in no uncertain terms "i need to make more money", strongly hinting that i will begin looking elsewhere.

If management truly wanted to "negotiate" then they would begin putting conditions on a raise or something.


That may not be the full story.

I also get a pool to allocate for "regular" annual raises between the people on my team.

There's a different, bigger pool that can get pulled from if there's a case of a mismatch with market rate (e.g. we'd hire someone new into that position for considerably more than the person currently in it is making).

There's also a pool (possibly the same pool as market adjustments) that can come into play for retention/negotiation if an employee asks for a raise. But at my employer, at least, the point of proactively doing the second is to hopefully prevent this one from being needed - once you're in a "thinking about leaving" situation you're more likely to actually leave.


Don't assume it makes sense just because the majority are doing it.


It is worth nothing that another way to get a raise is to earn a promotion :)


That's assuming you work in a place with upward mobility or the ability to advance. At my last job, I worked in a place being a new hire meant you were pretty much on the same level as a senior engineer who had been there 10, 15+ years(not including the clout and reputation, though). The only way up from there was to become a manager, which meant waiting for someone who had been there 20 or even 30 years would have to quit or retire.


Yep! If you're near the top of your pay grade, then there may not be much room to move up with a raise and a promotion might be the best way to go. Hard to know that without talking to your manager though. Managers will often hint at this by saying something like, "There's just no room to bump you up in your current job." That's a signal that pursuing a promotion might be the better way to go.


That might depend on the type of promotion. It's actually becoming shockingly common these days (at least in the US?) to not give raises on promotions anymore.


If they do promotions at all, instead of filling higher level vacancies with new hires (at "raise by changing jobs" rates). This also explains why those raise-less promotions are even possible: those who accept them see them as an investment in their future market value, the next time they change for a raise they can enter on a higher level.


Being the very best at your job doesn't always put you in line for management to have you stop doing that job... "too valuable to promote" is a thing.


Kinda like The Dilbert principle https://en.wikipedia.org/wiki/Dilbert_principle


I've been on both sides of this, receiving and allocating raises from a merit pool. Last time around I got the order from senior management that raises would be awarded on a curve in all departments, no exceptions. I had 6 direct reports at the time and to fit the curve I had to give 0% to one person, max% to one person, and some middling% to the other 4 persons. It seemed so stupid that I would have to point out how this approach fails for small numbers. In my case all 6 of my staff had received awards during the year for outstanding performance that had impacted the bottom line of the company. So giving 0% to anyone would have been utterly lacking in integrity. Rather than follow the order to do something that was completely arbitrary I told them to zero out my raise and spread it across my staff. I never even implied it, but they apparently feared that a consequence would be I would quit and take the staff with me. At the time that was a likely event. Ended up scrapping that whole idea and blowing the raise budget. Company had a banner year after that. You'd think they would have thanked me (they didn't).


Sounds like you need to collectively demand a raise for the department.

Our industry is long overdue for unions.


That sounds like a communistic regime :S


Yes, the classic "just world hypothesis" https://en.wikipedia.org/wiki/Just-world_hypothesis

If you "work harder", you will be compensated fairly. Of course, "work harder" is overrated now that work doesn't involve physical labor. "Work harder" has been replaced by "create more value".

The expectation is after you create more value for the owners, you will be compensated fairly. If you believe that, go talk to engineers who worked on startups as early employees and got screwed by investors, founders, managers etc.

Why? For many reasons:

- the owners didn't think you could do any damage to their reputation and impact hiring prospects after they screwed you

- after the company grew, you were now interchangeable

- needed to raise more money and dilute your shares

- you were no longer as valuable to the next stage of the company

- They didn't believe you could replicate the value you created again

etc.

Of course, founders, investors and friends stick around regardless of the stage of the company or the value of their contribution. Why? Because they OWN it, they have power.

Do not confuse performance for power. The only time I got a significant raise (I mean 4X the pay) is when I had significant leverage. Opportunism, self interest and politics rule business.

People are not gonna give you more money if they can avoid it.


Thank you. Spot on.

I've found that most seniors have gained their place because they made sure nobody could become better than them. How seniors usually do this is by restricting training, keeping knowledge of things they designed to themselves, and so on.

Heck, where I'am working now, a senior has designed this billing system, and literally nobody knows how to use it and it always breaks, but he will not tell anybody how to fix it, despite me and dozens others shouting at him.

One word that ensures higher salaries...

Protectionism.


When my contract was up for renewal, what worked for me was to mention to my manager that people doing my job in other companies were being paid $20 more per hour than I was. I was hoping for a $5 increase or maybe even a $10 one but he gave me the whole $20 and made me promise not to tell anyone.

Six months later, we got a new CEO and my contract was terminated because I cost too much.


Sorry but I laughed!!


I've got raises as high as 206% by switching jobs. Most recent switch a little over 2 years ago resulted in a 20% raise which is much more typical.

Never had more than a cost of living increase otherwise (2-3%),

My strategy is to move when I stop learning. It maximizes both my enjoyment (learning challenges me and gives me motivation beyond a paycheck which is good for me and my employer.) and my potential earnings.


Since Oct 2012, I've gone from $32k, to $44k, to $75k, to $85k (and killer benefits) now. None of these were in SF, NYC, LA, Boston or Austin. All from switching jobs.


One thing not mentioned a lot in this discussion is that those triple- and double-digit increases tend to only happen early in one's career. Later in your career, it gets very difficult to find a different company that is willing to pay you even 10% more than you're making. You definitely will hit a ceiling at some point. My last job hop probably did not result in more than a 1% bump or so.

So, Junior Engineer going from $32K to $60K is totally believable. Senior Engineer going from $150K to $175K is going to be rarer. Super-Senior Engineer going from $190K to $225K seems unlikely (but probably does happen from time to time).


> Senior Engineer going from $150K to $175K is going to be rarer. Super-Senior Engineer going from $190K to $225K seems unlikely (but probably does happen from time to time).

I don't think either of those are particularly rare. If you're learning and negotiating aggressively, the salary ramp is very steep.

There is absolutely a ceiling, but it's probably closer to $300k than $150k.


We're talking base salary.

The $300k are usually accounting for stock and bonus.


Just to give a anecdotal data point. I'm in that high end range and have been for a long time, and I go between it (a little higher and lower for that matter) based on the job opportunity. Literally, I've taken jobs that go down that much because it sounded like a good job. Similarly, I've been given raises that much because of a variety of factors.

But to your larger point, at the top end of the scale, to make dramatically more money you need to get attached to the business revenue directly, either as a founder, a partner, a solo operator etc.


Yes, that is definitely a fair point. Also for clarity's sake I'm a designer but the principles here are the same.


> 206%

So it proves that it's possible to get decent people at 206% under the market :D


/commence well-actually mode

If that's how you do math, the sky's the limit.

206% means x3.06, so (s)he was previously making 1/3.06 of the new rate, which is roughly 32.7% of the new rate. Assuming the new rate was "at market", the old rate was 67.3% below market.

Math like that is why I make the big bucks. (I do not currently make the big bucks.)


Yes, but it's more like getting a ticking time bomb. Eventually, they will find out the market rate.


One may or may not find out. One may or may not have the balls to leave after finding out.

So many variables at play :D


I have to agree - a big incentive of changing jobs is how much you learn in those first 1-2 years with any new company. Another reason I have found for leaving recently is that the company makes a change that adversely affects your conditons. I am currently working for a company that when I started offered great pay for weekend work. Then new management came in with a mandate to cut costs and this was then removed which has significantly lowered my pay. The company is making record profits and is hugely profitable already so it wasnt done because of hard times. Either way, the way I see it is that its not my company and they can choose to do this - but then I can also choose to work somewhere else where I will earn more now that this source of extra $ has dried up.


Same for me. Switching is the best way to get a raise, and I like the change. And I'm always at my best when I'm fresh at a new job.


> Bring more value to the company than what’s expected of you. Then ask to be compensated for it.

Sorry but it doesn't always work like this. Sure, performing well makes it more likely for you to get a raise, but there is no guarantee. Perhaps performing well increases probability of you getting a raise. But it does not guarantee anything nor is it most important factor in computing this probability. Probabibility of raise will depend on variety of factors including your company culture, your manager personality, company financial situation etc.


No, it doesn't always work like that. It works that way enough of the time to be worth trying, though. Even if it doesn't get you a raise at your current job, having done things that add value gives you a better negotiating position for a different job.


Exactly. You could do me the minimal amount of work required to stay employed but then you can't expect a generous raise, unless you manage to play office politics very well AND the workplace is quite toxic to allow that.

Personally, I try to give a fair amount of effort to deliver more value than expected. It doesn't mean that I am working 60hrs/wk or anything like that, just trying to be creative and not asking anyone to hold my hand in my explorations.


Saw this set of polls from @zedshaw on twitter and had JUST read this article. Seems relevant. https://twitter.com/zedshaw/status/795687259861172224


Wow. That poll seems to indicate the only way most folks get a raise is by quitting their job and getting a different one. :(


There are also social dynamics and logical fallacies at play.

For example, we brought on a front end developer who was about 1 year out of college and hadn't done much. After 3 years, he had devoured basically everything on the front end, but he hadn't gotten much of a raise, but was leading a team in addition to his own work. An internal position opened up that would have been a promotion for him, and when I talked to the person hiring, I got a response of "What are you talking about? He's fresh out of college". Few in the company could see past their mental model of him even though he'd grown past it by far.

He wasn't able to break away from those pre-conceived, and built up opinions. However, he left, got a new position for a quite a bit of a raise, and he's no longer known as 'that college kid'.

In that way, it's like family dynamics. Being a 'kid sister' even though everyone is in their 40s, has 2 or more kids of their own, and the age gap is only 2 years. Replace your own unbreakable family dynamics here.


Yep. Seen it happens. The only path to right the wrong perception is to start anew elsewhere.


Makes sense. At the macro level, the way you see gains in the economy is when you redeploy resources.

At the micro level, the way you redeploy resources is by using your two feet. :)


Been programming for 25 years, 8 different employers. The only time I've ever gotten anything besides a COL increase was when I switched jobs.


It's the only way I've ever received a real raise in the past ~12 years. I even quit to start a company and came back to the same company 18 months later at $30k higher than when I left (I was originally underpaid, but still).


That sounds right. The link in the OP outlines a pretty solid plan; that's pretty much the way I used to get raises as a corporate dev.


Yeah, that's been the received wisdom for a while now. Certainly true in my experience. Loyalty just doesn't work out for the employee. Firms know they do this and most of them don't care. The only exception I know for sure is Netflix.


Are the image links unclickable in Firefox for anybody else?


Just saw a huge spike in traffic from HN and thought I would stop by to see what all the fuss is about. Glad to see people reading the article and having a productive conversation in the comments.

Happy to answer questions if you have them, and I'll hop into the comments as well.


So you are the reason there are engineers that values themselves so high, that when they reach the market again they ask as much's salary as if they were CEO's?


Are you implying that a CEO is more valuable than a good engineer?


YES

A _good_ CEO it's worth more than 1 good engineer by the fact the second one needs input from the first one, a good engineer is useless without a goal or an idea to develop. Software Foundations are probably the only places were this tough isn't valid for everything else it should.


What's wrong with engineers making as much as CEOs?


Like in a lot of things: Context matters.

I can look at SV salaries and only shake my head. Random 'jump between jobs every 6 month if needed to improve your net worth' advice from single mid-twenties (not talking about the author, no clue about his background. But it feels that this is the general attitude around salary improvement here) is not globally applicable.

And the author basically says 'invest in the company and THEN ask for the reward'. He's ignoring the 'or else' part. I am 100% sure that a healthy portion of envy and fear is part of my rejection, so let's say I'm coming in with a rather negative attitude. But that article is completely and absolutely devoid of content.

"Work harder, then ask for a better salary based on your excellent performance" isn't exactly worth a blog article. Writing down the year over year effects of N percent in salary is trivial maths.

He's followed by Patio on Twitter, so I give the author the benefit of the doubt and believe that he has sound advice to offer, a decent idea about negotiation (with the 'context matters' caveat). But this article seems .. a fluff piece?


> "Work harder, then ask for a better salary based on your excellent performance" isn't exactly worth a blog article.

IMO. It's actually bad advice. It's wrong to think of salary as something synced to productivity/value.

Working more guarantees pretty much nothing about future money. Only that you're underpaid, and you've made yourself even more underpaid because you put more hours.

"Get offers and negotiate as hard as necessary. Then work whatever you may or wish." That's a way better strategy.


4. Organize with (some of) your co-workers, maybe join a union. Act together instead of fighting for higher wages on your own.

Seriously, the moment you are on a "secret" one-to-one with your boss you have already lost. There's reason why unions have always bargained collectively, and there's also reason why bosses have always tried to avoid this.


I'm against them and I'm not a manager. They encourage stagnation due to rewarding seniority instead of contributions.

If everyone in the union gets X% (with or without a seniority bonus), why would anyone give two shits about putting an effort in beyond the minimum.

You want a taste of what a software dev union is like in the US? Join a government organization where income has almost no correlation with performance and you'll be ready to put a gun to your head after 6 months due to the glacial pace people work at (assuming you want to get things done efficiently).


This is great comment. Not necessarily because you're right (you are, at least regarding the current state of things) but because you bring up the biggest problem with unions in their current state.

People don't have an issue with collective bargaining, they have a problem with the other negative effects of unions.


I would be happy with an organization that would group together to avoid the use of body shops that push wages down across the board.

The things that are happening Disney, Edison, and a lot of other places shouldn't be tolerated by software devs collectively.


You should always approach the negotiations with an upper hand - an offer from somewhere else. If it doesn't go well, just move.


You'll be given the raise, but you'll be let go very soon.


Not necessarily true. I have had several occasions where I told my boss that I had this offer and what does he recommend to do. I always got a raise and wasn't laid off.


How long did you stick around after you presented the other offer?


Quite a while. There were no negative consequences.


My experience as well, as both employee and as manager.


Wow, I can't imagine a place where playing the "I got an offer somewhere else" card wouldn't start a countdown clock on your career there.


Do you just think it's that way or do you have experience? I used to imagine management would take this personally but they generally don't. I wouldn't recommend doing this every few months though.


Admittedly no, I've never known anyone to do it but people tend to be pretty cagey about talking about salary and job hunting and that kind of stuff, so who knows? I also have never seen anyone poop on their manager's desk but can speculate about what would happen thereafter :-)


They may take pooping on their desk personally so I would advice against that! Try asking for more money first. If that doesn't work then you can poop on their desk.


Have you ever seen that happen? I find it hard to believe that it would start a countdown clock.


This makes little sense. Why didn't they say no in the first place? A successful business does not harbour a grudge like this. The cost of hiring is high, even if they replace you at your former wage the rest of the cost/disruption is expensive.


Yes, I think this strategy has some real downsides. If you're willing to go this far just quit; one who accepts a counter-offer will most likely be seen as suspect thereafter until they leave.


Being let go (not fired) is awesome though. You get severance pay on top of your new higher salary. So you go and find an even higher-paying gig.


What distinction are you making? If by "let go" you mean laid off, the rules as I understand them require the business to actually eliminate the position.


In America they use laid off as a synonym for redundancy and I have seen people made redundant and comeback as a contractor on 3x pay


That would be a really shady thing for an employer to do, if you've seen this happen please call out the company by name.


This can be an effective tactic (meaning it could get you a raise), but it's not my preferred method. I prefer to focus on the situation itself without bringing in that sort of leverage because of the impact it can have on the way you're perceived at your company, by your manager, by your teammates, etc.

This strategy can work, but it's a little riskier than focusing on the value and working with your manager to align your salary with that value.


I wonder, do the managers see it that way? Engineers are doing their job and often buy into the worth of the company, the importance of their work etc. And even if they don't they think most of their peers do.

So when an engineer plays this card he tends to assume others will see it as ruthless.

But do management really think this? Do they really drink the kool aide and think less of you? Or do they just see this as part of the game, and only the underlings think like this.


Ex-manager (now VP) here. I've never thought poorly of someone raising the topic of their value to the company or their current salary. Doesn't mean I've always agreed with their assessment, but there's no hard feelings on my side.

By the time you go out and get another bona-fide offer that you're considering taking, I and our company have already lost the game if that's the first I hear about it. I'd much rather hear about it before you've invested that amount of time and energy into it and don't hold it against you regardless of the outcome. If we're talking about it every 3 weeks, it's a problem, of course.

I've also encouraged some very good employees to go interview and see what's out there. This is typically when a potential new role is fundamentally different from what I can offer. (Higher role at a smaller company perhaps, or a job in their home town, or a brand new startup with some past coworkers.) I've had all four outcomes (employee stays-no change, employee gets offer-we counter-they stay, employee gets offer-we counter-they leave, employee gets offer-we don't counter-they leave).

I also don't buy into the "never accept a counter-offer; they'll just be sharpening the knife to fire you later" line of thinking. If I didn't want you here, I wouldn't counter.

If you think of this whole process as a ruthless move in a game, I think you're thinking about wrong. You bring value to the table; the company brings value to the table; we freely exchange that value, making both of us better off.


This is my view on it, I hope others read it and see that management aren't into jumping off a cliff for the sake of it.


> without bringing in that sort of leverage because of the impact it can have on the way you're perceived at your company, by your manager, by your teammates, etc.

Managers and HR don't give a damn about that. They do it all the time, all day along. They are professional negotiators, that's their jobs.

Your line of thinking can only manage to undermine yourself. Get it out of your head.


Yup I've used this recently and it went really well. However, my boss is really good to his employees and understands negotiations are just business. A lot of situations are different and there are a lot of employers who do not like competing with other offers. Also have to make sure you don't over value your worth to your current company.


I often see articles like this talking about getting a "raise," but the steps they talk about seem more in line what I'd think of as getting a "promotion" (along a technical track). Is "getting a raise" the same thing as "getting a promotion" for the purposes of this discussion?

If I get a promotion every two or three years, am I also supposed to be trying to negotiate a non-promotion raise every 12 months?


General case (if you are at a startup this doesn't apply): Getting a raise and promotion are different things, though sometimes promotions happen at "raise time" (yearly review cycle). There are also "out-of-cycle" raises but those are generally for special cases where you need market adjustments or are a star performer.

You _need_ to be getting a raise every 12 months just to keep up with inflation. If the company is doing fine and you are a top-50% performing employee you should be getting inflation+extra - if not, that is a bad sign. The 'extra' seems to vary a lot by industry, I've seen 1-10% from friends in other industries.

We're talking about yearly review cycles here, so when it's approaching that time you need to be noting all the concrete work you've done, why it was great, and why you need to be in the "above/way-above average" raise bucket. You need to be managing your manager ahead of time so they think well of you and have already allotted a nice raise to you in the spreadsheet. Your negotiation is in the prep work with your manager: generally once the review happens things are already in motion and not much will change course.


Well, yes, now that you mention it, those little across-the-board raises have occurred.

I guess, to rephrase my question: am I doing myself a disservice if I'm not negotiating "raises" at my current pay grade but only attempting to earn "promotions" (which of course include pay increases)?


Don't ask, don't get. And asking is the only thing you can do. Almost never will your boss/manager approach you and offer you a significant raise, even if you're a kickass developer who is crucial to the company. Just ask.

Still, asking will only get you that far. I got $80->$90/hr raise by asking. But then I got a 40% increase by changing jobs.

And if you're consulting, and are confident enough, you can just raise your prices by a lot. I once was very busy, and told the client that I would freeze my other project if they pay $150/hr, and they agreed to it. Win-win. I get more money, they get the product.


90 x 1.4 = 126. If you were making 126/h in a salaried job, why would you consider 150/h an out-of-the-ordinary high wage when consulting?


Ask, don't get, move on. Or ask, get, move for even more.

Or ask, don't get, stay and hope.

It all depends on your personality.


> If you negotiate an additional 5% raise every two years you’ll make up that gap in your starting salary by Year 6

Well if the average tenure of a software developer at a company is like 2-3 years, you will lose by asking for a raise and should just quit to go somewhere else!


In my experience you'll be much better off just quitting and joining other companies, then going onto contracting.

Here's my own person experience in just a few years:

1. Start off as a Grad on 30k GBP

2. One and half years later quit, onto another company at 48k GBP (>50% pay rise)

3. One and half years later quit. Do own thing for a year. Then go onto contracting at equivalent of 75k GBP (>50% pay rise)

So in summary, in the span of a 4 year period, I've gone from 30k GBP to 75k GBP.

There's definitely an upper limit on this of course. I think if I were to get out of startup land again now and focus on my salary I'd have to head to a different market (currently in Australia). I'd either aim for contracting in the UK where I know you can easily get 400-600 GBP per day, or the US where salaries for devs just seem higher.

I'm playing long game though, taking the startup route. So I'll either be collecting change from the streets in a few years, or hopefully I'll be well ahead of the game. Will have to wait and see...


Contracting for startups at 75k GBP? Is this in London? What industry is the startup targeting?


75 k is acutally low for contracting.

Good contractors can hit 100k+


Equivalent of 75K GBP - I moved to Australia and rates simply aren't as good


'working full time' != 'good'. Some of us choose not to work all year round.


It sounds fairly logarithmic or logistic to me.


Write more code... urgh... code is stupidly expensive to any organization and simple LOC should never be used as metric for anything.

Basically all the suggestions are low level grass roots value proposals. This article has much better advice (IMHO)

https://www.fastcompany.com/3064513/lessons-learned/im-a-ceo...


It really does depend on the organizational structure of the company, and whether they appreciate how difficult it is to replace programmers with an equally competent one. Most non-tech managers don't understand the intangible costs of replacing programmers, but that's never stopped them treating programmers like interchangeable cogs. If you work for a Fortune 500 non-technical company, I don't believe this strategy works to well.


No offense, but this is applicable in fairy land or in an idealized and fair society/economy. Sure there are exceptions and I bet there are software developers who get what they deserve, but the majority is in no position to negotiate a 3-5% raise. I'm sure that for someone working in Silicon Valley it's true but not for many countries I can think off (including Greece where I work).


It's not necessarily true for Silicon Valley either. Despite the whole "shortage of engineers" fairy tale that just won't die, it's very much an employer's market, and employers are in the driver's seat when it comes to compensation.


I feel like you should reassess.

What makes you think it's an employer's market? Do you think Google/Facebook/etc. are paying $250k out of the goodness of their hearts?

Just because your personal experience doesn't confirm that it's very much an employee's market doesn't make that false. Keep in mind that the market is very skill-sensitive. Not all positions have intense competition for employees, but there is a huge amount of demand for senior engineers who are well-versed in a web stack.


I think employers are in the driver's seat because of information asymmetry: they know what the market is and employees (probably) don't. The playing field can be leveled by looking around for information and, if necessary, job shopping. Even if you don't want to move companies, finding out what the market will pay you is the only way to really know.


$100/hr: 120K yr for 3-day/wk contracts, I like long weekends.. Java dev.


As someone who doesn't earn quite as much, whose day job is maintaining and modifying big, monolithic and outdated Spring/Webflow/JSF applications from hell I'd like to ask you: What exactly are you doing and how do did you get there?


Sorry for the late reply, I work in integration. I say I'm a Java dev but I don't write much Java, I've specialised for the past 3 years in an ESB called Mule.

The need for the tech seems to be rising around the world and I just happened to pick it up on my first job (have been working "professionally" for 4 years). Didn't really start fully understanding the quirks and good ways of doing things with it until this year, but I was charging $80/hr 2 years ago.

Seeing as you're already familiar with monoliths, I don't think it would be a very far jump for you if you were interested in the tech. You can get certifications for <$200USD with Mulesoft (a unicorn startup) which would guarantee you a decent salary, contracting on the other hand is a networking game.

Write a blog, give talks, goto meetups and find companies that need your skills. Don't undervalue yourself, if you set your rate too low - your clients aren't going to like it in a years time when you've realised you're worth 2X and you start charging them 2X.


Writing more code is definitely not the way to get a salary raise! Such a simplified and wrong post about salary negotiation...


this "article" reads like it was written as propaganda by in-house HR to retain staff. 3% is basically a non-raise, it just keeps up with inflation. an extra 5% is alright, but is not adequate to retain talent who knows their worth. i once received an annual raise was 2.5%. i pushed back a bit but not too hard, as i've done this enough times to know that it is never worth the amount of stress involved. fast forward a few months, i'm walking out the door to a new gig with a signifigant increase (lets say 20%). old mgmt didnt see it coming, despite the ample warning i gave them, and ample opportunities to correct the situation. they never do, just accept it and move on


Q: How do I get a raise without changing jobs? A: Get a raise without changing jobs.



At least in startups. You salaried gets lowered when funding gets tougher. This has happen to be at every startups I was employed at.


You can not earn more then someone else is willing to pay .


Some are willing to pay more than others. :)


fearlesssalarynegotiation.com sounds like such a reputable place to buy a $199 bundle.

So lets break down why this 199 bundle might work. Odds are that if your buying this, you lacked the confidence to negotiate upfront. If your low man on the totem poll its easy for me as a manager to get you to the same level as everyone else. That deals with year one, your not supposed to try this again till year three. By then your out side the 60 day window, and your not getting a refund on the BS package.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: