back
93 comments
I wonder if the "game" operates somewhat differently for junior people, versus developers with 10 to 15+ years experience?

When I was fresh out of school, at the tail end of the dot-com boom, negotiation seemed very much central. Employers (and the third-party recruiters working for them) always wanted me to throw out the first number, or wanted to know what I was making at my last job. Then once I was at the new company for awhile, people would gossip... and I'd always discover that I'd low-balled myself. So I would leave, using the apparent market rate as my baseline in the next search. And I simply stopped disclosing what I was making at the previous job.

I learned that the difference between a $70k candidate and a $90k candidate is basically just that the latter declares himself to be a $90k candidate.

However, once I crossed over the $120k line (at least in my local market) it seemed that things plateaued and changed a bit. It's not as easy to just "declare" that you're a $180k candidate rather than a $140k candidate. At that level, you often start to find that you're interviewing for managerial positions rather an individual contributor technical role.

At this stage of my career, I pretty much tell the recruiter my target (which happens to be about 5-10% more than my current salary), and then I'm not even wasting my time interviewing with companies that won't go that high.

Ten or fifteen years ago, I was apparently selling myself short. Today, I don't talk about salary IRL, because I'm making significantly higher than what I hear through gossip or see on Glassdoor.

Is this common for other experienced devs out there? Or am I selling myself short, and probably should be making $750k for a non-managerial job outside of the Bay Area by now? (haha)

This is in line with my experience (~7 years in industry).

Earlier in my career (who am I kidding, 7 years isn't a long time) I'd find myself in a situation where I was consistently lowballing myself (i.e., stating a number and having it automatically agreed to, oops). I soon learned to state the nuttiest, most absurd number I could think of (and then still have people say yes, damn).

Now I find it challenging to find companies willing to pay my current comp. I've largely stopped interviewing at startups completely because the comp is always disappointing, even assuming wildly optimistic things about equity outcomes.

It seems like my path forward now is either into the merry-go-round of AppGooFaceSoft, which are the only companies playing in my comp range, or taking a severe pay cut to work at a startup.

> " you often start to find that you're interviewing for managerial positions rather an individual contributor technical role"

My impression has been that the vast majority of the industry tops out engineers fairly quickly on the compensation scale, and the only way to keep going is to move into management.

The only places where this doesn't seem to be true are the BigTechCos, where ICs can go pretty darned high.

This is common for some developers, but a lot of people view themselves as an "experienced" developer who aren't making this much money: They should read your post carefully and appreciate the fact that either they aren't as experienced as they think they are, or they are selling themselves short. Or perhaps they want to use the term "experienced" to refer to someone less experience. Whatever.

That said, if you want to be making $750k programming outside the bay area, it's possible, but the recruiters on cybercoders and linkedin aren't going to help you get these jobs...

IMO The game does operate differently for experienced developers. I'm not a negotiation expert either (even though ironically I am a founder of a recruiting software company) but I would say there is $100k line and a $255k line. Once you break $100k (ie experienced) then it becomes a challenge to break $255k. This of course just anecdotal and conversations I have had with others.

Back when I was passively looking I too would just state the ole "don't won't to hear it unless it is above a certain amount" (and I too am +15 years developer). I would often state outrageous numbers like $250k (sadly that is no longer outrageous to me but it once was) and you would think that would scare off most but many would want to continue the conversation back and forth regardless if the company could pay or not (at times this was annoying).

> And I simply stopped disclosing what I was making at the previous job.

What's a good way of phrasing this to come off as non-combative? I always feel awkward saying something like "I'm not comfortable telling you that information".

If you are an individual contributor at the high end of the scale, then your experience is not out of line.

Even though entry level positions are more commodity driven - there are many people that can fit the same role - there is still more negotiating room. Maybe more salary can be freed up since the range is lower anyway.

Another important point, is that companies will often allocate for a senior position in order to catch the candidate they want or settle for the best they can get. If you are senior, make that clear.

I've negotiated hundreds or maybe thousands of salaries.

The goal should be to find a salary that is appropriate for the employees skills and experience level. Neither too high nor too low.

You do not want anyone to "win" the negotiation.

The idea is to find a salary that will ensure that the employee feels that they are being appropriately paid during their employment, and will not be browsing jobs because they feel they are under market rate. You want to employer to feel that they have someone who is being paid at a level that reflects the employees skills and experience and is broadly consistent with other employees at a similar level.

Negotiating isn't a battle. It's a process of trying to find if there is common ground.

If the employee and the employer do not find satisfactory common ground then the negotiation should end gracefully - both parties move on.

It's important to work out at the very beginning of the employment process if jobseeker and employee are in the same ballpark on salary - it's silly and wasteful of everyones resources to get to the end of a process only to find out the parties expectations do not synch.

"Negotiating isn't a battle"

of course it is. you make this sound like there is no asymmetry, that it boils down to two equal parties sitting down to chat over tea. that's not the case. this is a completely asymmetrical process, where the firm really has most of the power. they are essentially uneffected, no matter the outcome of the negotation.

"it's silly and wasteful of everyones resources to get to the end of a process only to find out the parties expectations do not synch"

again, you are implicitly promulgating the fiction that this amounts to two equal parties trying to find a meeting point. it just isn't. i see how tech companies go about recruiting. it's an assembly line. their recruiting process is a well-oiled machine, an assembly line -- and i'm the widget on their conveyer belt. if i attempt to get a salary that i think i deserve, and fail, they won't lose any sleep. their well-oiled machine will continue to hum.

software engineers are a commodity to the firms we interview at. you patronize us by suggesting otherwise.

That seems a bit reductionist to me. Basically I think there are a lot of spots where a software developer provides say 500k a year of value to the company, and the company is looking to hire a person for about 150k a year in total comp. But if they hire somebody for 200k a year, it is not as if they are going to get rid of the person, it is still +EV for the company. And while the company might not be quite as delighted with the latter's value proposition, the employee is far better off negotiating aggressively and trying to "win". And as to why the company would not just try and wait and find a person for 150k, it is generally because good software developers are hard to find, and it is easier and lower risk to "overpay" a bit rather than lose out on a good hire.
I completely agree with you!

It boggles my mind how much people will tend to treat negotiations, amongst so many other things, as zero-sum games. If that were true, anyone who claims this should please explain to all the people who entered into negotiated agreements and found mutual benefit how they are actually being screwed by the counterparty.

For those who believe negotiation is zero-sum, I will say to you: if you notice agreements around you tend to turn sour because a party in it feels like they got screwed, take note of the common element.

This includes salary and employment negotiation. Unless you are in a one company town, or otherwise have skills and talents that are transferable to nowhere than your present employer, you most likely have alternatives to explore. Even if this is the case, there are alternatives, although they will not be anywhere near as easy to achieve.

Even then, it is not every employer that will decide the best way to profits is to screw their employees, and hope they feel hopeless. This is but one way to affect the bottom-line, and often not a very effective one. People will be more productive when they don't feel like they are being shafted. Not just in salary, but in: career development; personal sanity; and, if they care and have an interest in such a thing, in the net outcome of the organization.

So, I absolutely agree with you. Do not stand for people who feel like they need to "win" because you'll invariably screw them back. They may ultimately add up to a great big loss for everyone involved.

I agree with your assertion that the salary ballpark should be worked out at the beginning of the process. However, my experience has generally been this: 1) 3rd party recruiters (i.e. staffing professionals who work for another company) are often upfront about this since they are given a salary range for the position that they need to fill 2) Internal recruiters are notoriously bad for being vague about the salary ranges.

In the latter case, the standard response I get at the beginning is something like "we are prepared to pay an appropriate amount of compensation based on your skill level". But then when the negotiation actually starts, they balk at the range that I ask for.

Quite a lot similar posts recently. The more these points are repeated over and over again, the less relevant they are. That same advice you can find in articles from 50 years ago. As more people are pretending to be excited about the job no matter what and not motivated by money just to appear more attractive it lowers the performance scores everywhere and it just doesn't work anymore.

The most productive negotiations should be straight talk about the numbers and terms. You shouldn't just hope the other party is stupid and will agree to less than fair terms. When somebody brings up a number ask or explain where it comes from and how does it compare to other numbers. Ask if their offer is fair, something that they would take in your shoes, so that if they say yes and later on it turns out that was not the case, you can raise the issue with a good reason. If the other party starts to get forgetful, dodge questions or lie - fine, you can treat them as a hostile party, but it makes no sense to start off with deception and advantage play against your team. Especially in startups. Big companies have moved on from this more or less anyway.

Generally speaking there are two kinds of negotiation situations.

One is a one-time negotiation, for example, buying a new or used car. All you care about is getting the best price. You don't really care if you're eating into the dealer's margins.

Second is a negotiation that is part of a long term relationship. Here you want to exit the negotiation with both sides feeling good about it. You don't want to jeopardize the relationship for the negotiation. You don't want to screw the other side over.

A job offer should be a type II situation. If any of the parties approaches it like a type I then they probably shouldn't be working together. The employee should get an idea of what they'll be happy with and the company should pay the employee what they'll be happy with. If the employee is approaching this with the idea of taking advantage of the company then it basically turns into a type I situation and the company should walk away. If a company is approaching the future employee as a type I negotiation the employee should walk away.

I was really excited in a previous job where I figured out what I thought I was worth based on my current comp and some research and when I asked for that I got an offer that was somewhat higher. That told me the company cared about making me happy more than they cared about the (negligible) extra $$$'s. That was all the negotiation. Both sides were happy and I was very enthusiastic on my first day. Now in a type I negotiation I would have been able to squeeze them for more money but this is not a type I negotiation.

Another situation where a fairly successful small web company offered me less than I was making at the time. When I tried to get some concessions in other areas like extra vacation time or more time working from home I was flat out refused. Their CTO interviewed and liked me, the team liked me, they got the CFO to tell me how they couldn't afford to pay more. They were really surprised when I declined their offer. From my perspective they were treating me as if they were trying to buy my car and that told me that's the way they would keep treating me if I came to work for them.

The way I see it if you've done everything right up to this point and if both sides are interested the offer is pretty much a mere formality. Not a starting point for bazar style bargaining.

> If the employee is approaching this with the idea of taking advantage of the company

You should be aware that this is not possible... A company will never hire you for a salary it cannot pay, because they know very well their numbers. On the other hand, it is very easy for workers to be screwed because they don't know how much the company is willing to pay for that position. The only way to get to know how much the company can offer is to ask for a salary that is way higher than the first offer.

To add to point #3, (information is power), I would advise any candidate to do research into approx. salary ranges for the type of positions they've applied to and the geographical area in which they are located.

The author does lament the general trend of "pay secrecy" in part 2 [2] of his previous article on how he landed a job at Airbnb[1] but it's worthwhile to point out here. Almost any offer/salary does not exist in a vacuum but within the context of the current salary ranges (i.e. the market) for similar positions and also different positions.

Look at it this way: If I tell you that apples are 2 Simoleons (§) per lb, is that a good price? There's hardly any way to know, given that I quoted it in a fictional currency.

But if you know that oranges are 10§/lb, bananas are 5§/lb and that you can get a job at the grocery store selling them making 20§/hour, that gives some context to not only the prices of apples, but also the relative value of different produce and the ability to afford it. This is the essence of a market economy, which the job economy is an instance of.

Sites like Glassdoor and other efforts to share salary information[3] (even if they may be subject to reporting bias) are a good way to give you more information about the relative value of any offer, which will be another tool in your kit for negotiation. Read as much as you can, as in my experience it will be well worth your time.

1. http://haseebq.com/farewell-app-academy-hello-airbnb-part-i/

2. http://haseebq.com/farewell-app-academy-hello-airbnb-part-ii...

3. https://blog.step.com/2016/06/16/more-salaries-twitter-linke...

"information is power" <-- amen to this. It's also important to gather another type of information, and that's information about yourself. You've got to be able to prove (detailed instances, dates even) how you've added value in the past (which hopefully means you can again). You need leverage for these negotiations and that involves knowing what you're worth and what the market thinks you're worth (not always the same).
Given my technical background (SWE), I have found only one useful tip for salary negotiations during a job offer: get atleast two offers and play the companies against each other. I've found nothing else to be effective.
Basically: have a real card to play that they think you might play. Companies will empathise to the end of the earth with you about anything, however you have to have that card.
That might work if you have a unique skill that both companies need, but if there's another appropriate candidate to hire instead most companies will hire that guy and recommend that you accept the other company's role.

What my company offers is based what value you're bring to the business. If another company sees you as more valuable that's brilliant, but it doesn't change what you bring to mine.

This is a really good article and I would highly recommend it. In case other HN'ers are wondering, its complimentary to patio11's posts on salary negotiation. I especially agree with the point made at the end that it really helps if you try to understand the employer's perspective as well. Remember that the best outcome should be a win-win situation in which both the company and the future employee are happy with the outcome.

I really disliked to work in places where the job was very good but the pay was definitely not the best. The best way to fix this is to negotiate a good pay at the start: that way you can fully focus on the exciting work.

Yes, as in a sale, if both parties walk away happy it was a good sale. I feel there is way too much "screw the companies" attitude here.
I don't know why, but I get really frustrated at the negative sentiment around and apologetics for negotiation.

>I’m the first to admit that negotiation is stupid. It’s a practice that inherently benefits those who are good at it, and is an absurd axis on which to reward people. But it’s a reality of our economic system.

When incentives are opposed (like me wanting good wages, and companies wanting to pay me at little as possible, all else being equal), negotiation seems like the only way to decide how to reach an agreement. Of course it inherently benefits people who are good at it! Those benefits are the things they are negotiating!

Instead of calling it an absurd axis to use to reach mutually agreeable terms, why can't we accept that negotiation is how reach those terms?

I see where you're coming from, and I think there are things negotiation does well.

Negotiation allows a company to offer more (or less) than a standard wage when a candidate genuinely offers more or less value for the same position. Economically, that seems like a good thing, and I consider that the principal virtue of negotiation.

But the downside is that negotiation enables candidates who are better at negotiating to command stronger offers (because they're more charismatic, or courageous, or just better studied in the practice of negotiating). That's clearly arbitrary. Negotiating skill is an axis that's mostly orthogonal to the value a candidate brings to a company. Here the public sector's system of having fixed, publicly known wages for positions is a good one. Candidates who are good at negotiating make just as much as candidates who are bad at it.

The question then boils down to how much of the variation in negotiated offers can be attributed to variation value as opposed to variation in negotiating skills.

I suspect it's weighted toward the latter. But if you think it's mostly toward the former, then I think it's sensible to claim that negotiation is mostly a good thing.

I understand it but still hate doing the dance. Negotiation doesn't end once you've started a job either. If you want good projects, promotions, higher compensation, you usually have to negotiate for those too. Sometimes managers recognize talent and take initiative, but it's easier to compensate the loudest voices or people who are credible flight risks. This can lead to a very toxic culture. It takes very mature and long-sighted management to pay for value before the employee complains.

I agree with the author's one point: The best possible thing you can have is an alternative. I remember reading through the leaked Sony emails where executives were discussing compensation packages for people making millions of dollars. They didn't care much about how much revenue a VP brought in, if they were a nice person, how many hours they worked, but they sure cared a lot about losing them to a competitor. Performance reviews, metrics, titles, etc. were just a pretext to pay whatever the boss decided was necessary to keep them.

FWIW, I think careers where you know your objective value and have a portable skill-set or book of business are the best in terms of employees capturing more of their surplus value. Google's revenue per employee is probably similar to a good trading firm, but no one Google engineer can recreate Search, so they take home much less of their value than a trader would. You see the same thing in sales roles, law partners, etc. where employees and management both know what they bring to the table, and know they could walk out the door to another company if compensation is unfair.

The thing you're ignoring is that there is no reason you have to negotiate by yourself. I want you to make more. You want me to make more. Why can't we team up and put our heads together? Why is there this assumption that if I can't negotiate for myself I don't deserve to get what I'm worth? Am I applying to be a lone negotiator?
I stalled in comp and title for about 2 years due to an acquisition. While I was definitely maximizing my compensation, it was a miserable experience. Perhaps I lack the mental fortitude to not skip in to complacency, but for those two years there was no difference between an excellent job done and a mediocre one. After about 12 months of erring on the side of excellent, I just gave up. I did the minimum required and got paid handsomely for it. I eventually left and took a pay cut.

It may have been extenuating circumstances but I do wonder if I would have been happier with less compensation and more room to grow.

That being said, the burden of preventing overcompensation lies on the hiring manager. The candidate should push for as much as possible and the hiring manager should make a judgement call about whether the employee will have room to grow.

There is an implicit assumption in this entire article:

That if you can't come to an agreeable negotiation of salary, you can walk away from offer N because there will be an offer N+1.

Maybe in The Valley or Manhattan or Austin, but in many other places, there is no "N+1". You don't have that implicit position of power with Company N that Company N+1 will give you what you're asking for. Or you don't have time to find N+1 before N-1 becomes untenable (or non-existent).

And yes, I'm talking about developer jobs.

This whole thing seems so overwhelming. I understand negotiation is a skill that you can learn, but like anything else, it takes a lot of practice to get really good.

In a way, negotiation is the polar opposite skill as computer programming. As a programmer, what you do is anything but negotiation. You don't negotiate with PHP to get you code running the way you want it to. You tell it exactly what you want it to do, then PHP does exactly that.

FYI, This looks like a republish of his original blog post[1] that was discussed previously[2].

[1] http://haseebq.com/my-ten-rules-for-negotiating-a-job-offer/

[2] https://news.ycombinator.com/item?id=12086876

Don't suppose anyone could link patio11's posts, could they? I've seen them referenced twice now, and would love to check them out :-)
I enjoyed reading this post, as well as I did patio11's a few years ago, but I feel that a lot of the advice applies mostly to highly in-demand workers (read: software people). At least, so has been my limited experience.
"Exploding" job offers used to target people on their 1st or 2nd jobs with little or no experience in how the hiring process works is borderline unethical.
A couple of interesting talks (and article about one of them) about open source and employment contracts:

https://lwn.net/Articles/688451/ https://www.youtube.com/watch?v=H-m2ozX9zO0 http://meetings-archive.debian.net/pub/debian-meetings/2016/...

> A job is just a deal. It is a deal between you and a company to exchange labor for money (and other things you value).

This came naturally when I became a contractor. Rather than having a salary based on market rates, I was offering the services of my own company that has N value in a B2B deal. It does sound like an abstract point, but it completely changed the conversation at the table.

This ruleset leads him to special sort of companies that "hunt stars at any cost". If you're so precious AND have speech skill, maybe that's for you. But maybe get less-tech, speech-oriented job then?

Most employees are just workers, not stars, and at least among my management environment there is a simple rule: skip negotiators. If he can't tell what he wants, we do not call again. If he said X, we do not negotiate that. Negotiation is about skill and whether he will work here or not, which position and/or responsibilities he will take. Not about salary. It is stupid to constraint employee's living and needs, no matter if these are first- or second-class needs. It is also stupid to not know how much you need.

Enjoyed this read. The part that really stuck out to me was the exploding offers section.

IBM performed interviews at my college weeks (or more) before anyone else was even hiring. After doing the interview process and getting an offer, they wanted an answer within 2 days. Obviously I told them that this wasn't going to work, and they basically said it was too bad. A few months later, I got a call asking if I was still available (wasn't at this point). Be prepared to walk away in a negative situation like that, it says a lot about the company.

Well reasoned post that I agree with many points. I had said in a previous thread and would add here, never forget you are the one in control and never be desperate.
So when you're doing an initial phone interview and they say

"So what is your current salary, and what are you looking for ?"

What are you supposed to say ? Just stay quiet ? Mutter something about not being able to tell them ?

I'm all for negotiation, but it seems that every situation I find myself in, doesn't really lend itself to the described pattern.

Am I missing out if I don't try and negotiate higher salaries or raises? I usually feel like what I'm being offered is fair but then again I wonder if I'm being cheated out of money. Like they are offering something low expecting me to request something higher.
The intro to this article is great. One of the reasons to avoid negotiating is because it's scary. All of us are smart people and can read tips on the Internet but it's hard to follow them it. Having someone in your social circle guide and coach you helps.
I'm a big fan of Haseeb's writing. Looking forward to part two.
Great tips and tricks because I suck at negotiating (trying to change that) and am currently looking for a new job which I have to get pretty hasty (since I'm moving for other reasons).
Rule #11: Disregard rules 1 through 10 if you're a woman, because negotiating your job offer will hurt your career trajectory. Even HBR agrees: https://hbr.org/2016/04/women-who-dont-negotiate-their-salar...
Thanks for sharing. How to negotiate a salary hike during appraisal ?