Hacker News new | past | comments | ask | show | jobs | submit login
Quick Salary Tip for Software Engineers (markcunningham91.blogspot.com)
177 points by trustfundbaby on Jan 6, 2012 | hide | past | web | favorite | 110 comments

Quicker Salary Tip for Software Engineers: The first one to mention a number loses.

Even when pressed, I never mention a number.

For both of our sakes, however, I want to make sure that we're in the same ballpark or we're wasting each other's time. So I may (only if I have no better way) say something along the lines of, "I'm in the 90's now, but I'm clearly underpaid and I'm looking for the best way to solve that problem."

Then I'll ask, "Are we in the same ballpark?"

If not, we both smile and move on.

If yes, we proceed. I always let them make an offer first. That's when the negotiation begins.

"Don't say a number first" is a popular belief, but is probably wrong in general, and irrelevant in some situations.

There's research that shows that in certain situations, the first mentioned number acts as a strong anchor. So you might want to be the first.

But then, you're not really following your own advice when you mention your approximate current salary. That is mentioning a number first. But you're helping the other side by setting a low anchor. After you've said "90s", you're bound to get an offer in the 90s.

In any case, having a "BATNA", best alternative to negotiated agreement, is often way more important than the first number. If you have a job with salary s and you're otherwise happy with it, you can always refuse offers below (say) 1.10s. And if the company has another candidate who asks less than s, it doesn't matter how well you negotiate.

It's not popular belief, but the result of applying a bit of game theory to the negotiation: http://stevehanov.ca/blog/index.php?id=67

I've seen that, but that hypothetical game isn't even close to a good model for the typical real life negotiation. Basically, it models a negotiation that stops at the first disagreement!

The argument also implicitly depends on several dubious assumptions:

-- that the odds of the company choosing L is only 50% when going first;

-- that I will accept an L offer (not the case if I'm currently employed, then I just want to go for H or bust);

-- or that I value H significantly more than L (not the case when I'm unemployed, then I just want to increase the chance of getting the job), etc.

> There's research that shows that in certain situations, the first mentioned number acts as a strong anchor. So you might want to be the first.

I believe I read the same research (Robert Cialdini? though he might have been citing other people's work).

The effect is certainly real, but the keyword here is "certain situations", I don't quite recall this research to include salary negotiations among these certain situations.

Though I'd love to be proven wrong, do you have a citation?

But let's say it works (I could easily be wrong on the above), this number anchoring effect also works when the number mentioned is not strictly related to the quantity you're trying to make higher (or lower) in the response. So you could passingly mention an hourly rate (or yearly income) of an unrelated profession, or even something like "activity/service X costs 90k yearly". In this case you can also safely name a much higher number than you're aiming for (as long as it's on the same order of magnitude, I suppose), which was shown to strengthen the anchoring effect. That way, you're still framing the "bigness" but without mentioning a possible salary first. So you get to have your cake and eat it too.

You say you don't mention a number, but saying "I'm in the 90's" is basically the equivalent of saying "I make $90,000" as far as the negotiation is concerned.

Was thinking exactly the same thing, because this is exactly what I think when candidates say "I'm in the X's but looking to improve that". Well, yeah, of course you're looking to improve X. You still set the floor, saving me the trouble of guessing it too high.

My other tip is, there's always a little wiggle room to your advantage.

When they give you their 'final offer' tell them to come up a little. They never fail to do it, even if it's only 1-2%, and it's increased my salary substantially over the years.

It helps if they know you're looking elsewhere and getting other offers. One of the jobs I ended up being really happy with made what I thought was a great offer to begin with, but I wanted to think things over. I had 7 days to accept the offer and planned on using that time to be sure it's what I wanted to do. Three days in they came back with an offer 10% higher if I accepted that day and halted the rest of my interviews. I thought it over for a bit and accepted 10 minutes later.

Incidentally, I had a very good recruiter who was in communication with them.

If you don't have a recruiter, use that to your advantage. A recruiter is probably going to get 25 - 33% of your base salary for commission. The company is saving a lot of money hiring you without paying a recruiter fee. That's why you see referrals as high as $10k -- it's substantially less than a recruiter fee.

And my final tip is to consider the overall compensation package and let your potential employer know that. Salary is only one part of it. I wouldn't even negotiate lower pay if they cover health care, because plans change annually, but I would argue for higher pay if their health plan sucks. That sort of thing.

Typically your best opportunity for a big raise is in the initial salary number. Future raises are often at least partly formula-driven. And since they are likely to be computed as a percentage of your current pay, perhaps with a merit component as well, getting more in the initial salary also means your raises will be more later.

Though if you're appreciated (I won't say good), you can get a big raise when you announce you're leaving.

If you have to announce you are leaving before they acknowledge (or realize) your value to them, you should probably leave no matter how much they offer you. That's hard to do if you really like the place, but it's usually a sign that there are bigger problems. I took a counter offer once, and it worked out OK, but things always felt a little awkward with my manager after it.

if an employee has to threaten to leave to get a raise, someone is doing something wrong. probably the employee.

Can you expand on that?

This is the sole model of all the SMBs I know, never worked on Big Evil Corp yet, some expanding is appreciated.

you don't have to threaten to leave to get a raise; you talk with your manager and tell him what you think you're worth and why its important to you that you make that, and you have a conversation about it. maybe you haven't demonstrated that you're worth it (go get a blog, speak at a user group, go earn your credibility). maybe the organization doesn't value talent at low levels [1], in which case you'll never get top compensation.

[1] http://www.dustingetz.com/the-unnecessity-of-superstar-middl...

i think that's bullshit. "I make X, I feel I am worth Y". Credibly demonstrate that you are worth Y[1]. This got me the raise I wanted within my current employer, and willingness to decline an offer less than Y will get me the salary I want the next time I move companies.

[1] here's a hint: don't say "i can do XYZ, trust me" -- signal to them you can do XYZ by blogging, speaking at meetups, portfolio of projects, etc.

If I'm a recruiter, I then say: "Oh good...we're close. The salary approved for this position is 0.8Y. But we offer high-cholesterol lunches that have been 'catered' by the local fast-food meta-purveyors, health care, blah blah blah. Did I mention our free massage Fridays, and extensive selection of free, high-sugar, diabetes-inducing soft drinks?"

You then get to choose to counter or walk away. If you're a good negotiator (which you're not, since you've said the first number), we'll probably end up at 0.9Y.

Meanwhile, Joe Bloggs comes in, and doesn't say a number. The recruiter offers 0.8Y, and Joe finally says "I was thinking 1.2Y". Joe, being a savvy negotiator, ends up with at least Y, and maybe 1.1Y.

It doesn't matter what Y is, you always have a chance of doing better than your goal if you speak last. You lose that advantage if you speak first.

If you're a good negotiator, Y won't be your ideal salary X, but more along the lines of 1.3*X. The basic tenet of negotiation is that both sides are understood to start from a position that is unacceptable for the other side.

You can also always try for the DITF[1].

[1] http://en.wikipedia.org/wiki/Door-in-the-face_technique

Does not matter. As I said, pick any value of Y, and you'll end up better off (on average) by not saying the first number. Doesn't matter if Y = X or if Y = 20X.

Except I was talking to alpha geek, not recruiter, and he didn't say .8y, he said OK. Could I have gotten more? Who knows, but it was a large enough jump that I'm not even thinking about it.

> The salary approved for this position is 0.8Y

So you start by lying to the interviewee? That's the beginning of a great relationship.

It's not a lie when I say I need 1.5 Y. I'll be super happy to get that. However I might settle for Y reluctantly. There's no lying involved. Besides I have no way of knowing what they got approved.

That was pointed at the recruiter and the "approved" salary made up on spot.

"portfolio of projects"

Which reminds me of a question I have been asking myself lately. What do you do with your portfolio of "hacky" code?

For instance, recently I wanted to experiment porting an open source application to iOS, to give the old iPhone 3G I had just lying around a new life. There were certain parts of the existing codebase that weren't well structured to meet the requirements of the iOS APIs I had to fit in, but I managed to squeeze in the changes without any major restructuring.

It is code I am not proud of, code I would never write in a professional setting, but it was the perfect direction for my requirements and constraints. For that, I am really happy with the result.

Ultimately, I determined that the 3G just didn't have enough processing power to meet the expectations I had, so I don't have any interest in taking the project further or cleaning up the mess I made. However, even in the state it is in, it is code that is most likely useful to others. But at the same time I don't feel it reflects well on my abilities.

i leave it on my github. i link the source for my shitty blog from my resume with a note: "solo author. freetime experimental project. my blog is hosted here. don't look too hard at this code, it sucks."

Sounds like good advice. Thanks!

Why even say "I make X?" "I'm looking for Y" still answers the real question and has the advantage of not giving them a lower anchor.

Having one party know critical information about the other party in a negotiation, but not vice versa, gives the knowing party a big advantage. I think stating your current salary gives the other negotiator a pretty good idea of how low of a salary you'd take, which you don't want to put out there right away.

Other options when asked what is your current salary:

1. "Since I was a top performer last year, I will be getting a large raise this month. I can get back to you when I get the specific number"

2. "Since I currently get 7 weeks of vacation and work from home 75% of the time, my current salary is probably not a good starting point since this position does not offer that compensation"

3. " I expect to receive another offer next week so I can't give you a range until I know how much they are going to offer"

4. " The NDA at my current employer prohibits me from discussing my compensation"

As long as you are professional about declining to give you salary, the worst thing that can happen is that you get a really low offer and you tell them no thanks.

As a contractor, I'm ready to name numbers. I charge ~$125/hour for Rails or iOS Contracting, depending on commute and anticipated length of engagement. - aaron.blohowiak@gmail.com

The contractor - client relationship is quite different from employee - employer, so there is usually little negotiating involved.

Additional Quick Tip (Salary Judo):

If they try to play hardball on salary negotiations. Turn their high standards around on them. Bring a copy of the job listing/requirements.

Boss: "So we'll start you at $<salary>, and welcome aboard."

You: "I look forward to it, but can we agree that I've demonstrated a value of $<salary+30%>?"

Boss: "$<salary> is what everyone gets to start out, we'll review you in 6months."

You: "Your job posting listed you were looking for an expert in a number of fields ABC...XYZ? Perhaps you're looking for more of a junior engineer?"

The key is that you have a polite helpful tone the whole time. It's not confrontational or sarcastic. The point isn't to antagonize. Merely point out that high hiring standards = high compensation standards.

This is interesting. I've learned to decode the over-the-top qualifications a little. It's not unheard of to see job listings mentioning 5 years of experience with some form of software development plus ideally a graduate degree with "competitive" compensation that turns out to be a fairly low-paid, junior position.

These days I ignore the crazy qualifications when applying, but I've never called anyone on it.

I mis-clicked and accidentally downvoted you whereas I intended to give you an upvote. Looks like I can't unvote, so please someone up this back one notch.


Here's a tip. Take tips from recruiters with a pinch of salt. Their goal in life is for programmers to change jobs as often as possible, and to make as big a salary as possible so that they get better commission. I'm not saying there's anything wrong with that, but their motivations are different to those of a programmer who wants a career.

When I go for a job I take a lot more into consideration than the salary. There are the other benefits, the work environment, what will I learn, what challenges will I have to overcome, will I enjoy the work. If you change fields you may happily take a pay cut until you can perform at the same level you do now. You may take at a job that's a in a startup or at a company with financial difficulties that you think you can help turn around. In these scenarios a pay cut, deferred pay via bonus schemes or stock options maybe more important. Another issue is job security. Nobody likes to think of themselves as replaceable or average, but of course by definition most of us are. So if you negotiate yourself an extra $10k-$25k you better be prepared to deliver on that value or you will be at the top of the spreadsheet when it comes time to make cuts.

You hear the quote "never give the first number" thrown around a lot and while it's sometimes good advice, it's not always the best option. There are times where setting the anchor is a very valid approach to hitting an upper bound.

The most important aspect of negotiations is power. He who has more power will always have the upper hand in negotiations. This is usually where someone suggests reading the art of war, and that suggestion is generally pretty damn good.

Power is defined pretty loosely as anything from data, supply, demand, urgency and beyond can be considered part of the equation. I'd start by doing some research to get a range of how much someone with the same background is currently making in the particular field. The caveat here is that you want to ask the person who just changed jobs and not the person who've been working at the same place for 20 years (I guarantee they'll be underpaid).

One last point I want to make is that average negotiators always assume that the two parties will meet near the middle. Use that towards your advantage as bait.

This is a hi-fidelity recapitulation of one of the main pop theories of negotiation, that good bargaining is always hard bargaining, especially if it's brainless. However, I think it's completely wrongheaded.

There's a great book called Getting To Yes that I recommend everybody read. Here are the main points in a nutshell:

1. Focus on interests, not positions. 2. Separate the people from the problem. 3. Invent options for mutual gain. 4. Insist on objective criteria.

How might that work in a salary negotiation? On the first point, the employer has interests in retention and morale, as well as in the value they can extract from an employee. (Or, maybe not. This is good information to have.) They want to minimize disruption so that they don't have to retrain. The employee has this interest, too, as it's stressful to change jobs. Neither party is going to be served by a wage that is out of balance either way.

On the second point, one important thing not to do is to treat them as someone whom you'd use petty tactics on, as someone to whom you would use something "towards your advantage as bait." You're always having a meta-negotiation about the terms of the negotiation that carries over into your employment environment. Are you going to be cutting each other's throat all the time? Or, during your working relationship, are you going to want to be reaching understandings about how best and most fairly to proceed?

On the third point, you might find that there is a non-obvious imbalance between your demonstrated skills, for example, and your potential in a job that looks to be an amazing fit. What to do then? Do we shift the risk onto the employer, forcing them to pay for potential? Do we shift it onto the employee, insisting on pay for experience only? Well, to "invent an option," what about a probationary period long enough to see whether the potential is going to materialize? The pay would be, say, slightly above pay for experience only, but well below potential. And then you revisit, agreeing in advance that either party can walk if the fit is poor. That's one option, there may be more. Like contracting at a higher rate with an option to be brought on as an employee. Or so on.

Finally, on objective criteria: "Market rate" is not the only criteria. Market rate is just an average, anyhow. What's more objective would be anticipated value from the unique relationship between this employee and that company. How much can you increase sales? What's the likely perceived differential in reputation of your employer if you, the crack tester, continually find nasty bugs before they're discovered outside, so that they can be patched before they become problems? What if you're the amazing architect who can design a robust system that is easy to program in, increasing developer productivity across the board? These things are measurable, even if Bayesian, criteria, if we can look at your history of providing these goods.

I just bristle at this simplistic view of bargaining as mere power plays, and marvel at its persistence in the face of so many better options, not to mention the enormity of value left on the table by both sides of negotiations everywhere.

The problem with these "everybody wins" situation is that not everyone can win all the time. Same thing with being objective. The problem with this type of recommendation is that this approach to negotiations works well for situations such as conflict resolution where objectivity and a "nobody loses" scenario has inherent value. This is untrue for other types of negotiations, especially those related to financial gains.

Just like programming, more often than not, the simplest solution is often the best solution (in terms of ROI). There really isn't a need to over-complicate negotiations when goals are clearly defined. In the case of salary negotiations, the goal is to get paid as much as possible. That's it.

However, just as in programming, you cannot effectively employ the simple solution without first understanding the theory that leads to it.

It's just like the difference between good developers and voodoo coders. One stops to think before acting while the other just throws canned solutions at the problem, hoping one sticks.

I'll respectfully disagree. Theory is useful for designing algorithms, but has nothing to do with being a good programmer. Perhaps you mean understanding design (of tools, languages etc)? If that's the case, then yes, you need to understand your tools before using them. I'm not suggesting otherwise.

The easiest way of getting better at negotiations, like programming, is actually just about practice.

I've sadly realized that almost all job offers are based on some combination of what they offer other candidates at that level and what you state your previous salary as.

Given that you're an unknown commodity, they use your previous salary to determine how other companies valued you.

Between 2001 to 2006 my salary went from 60k to 94k

2006 to 2008 I took a job at a "hot" startup and went down to 89k in return for options (I am never doing that again for a company bigger than 5 people).

2008 to 2012 I took a job that started at 95k, and I've only been able to drive the salary up to 103k even though I've gotten the highest rating possible on every performance evaluation (and I've been a key contributor to hardware development worth about 50 million in revenue -- when other products are breaking even / losing money).

I feel that the only way I can advance my current position is by getting other job offers, but I don't want to be that guy.

I feel that the only way I can advance my current position is by getting other job offers, but I don't want to be that guy.

I have found this strategy very effective over the years. I have only been working full time since 2004, and since then my salary has gone from 30k to 110k. I have never taken a job that paid less than the previous one, and on a few occasions I have used competing offers to get raises, or just taken the other job. People may look down on the fact that I have worked for 5 companies in 5 years, but at the same time I have learned a great deal, experienced lots of vastly different company cultures, and I've increased my salary by double in the past 3 years alone.

The secret to getting large salary increases when switching jobs and to avoid getting held back by salary history is to show how you are worth more to the new company than you were to the old one. For example, when I took a job that paid 50k as a junior PHP dev, I spent a year learning object oriented PHP5 and payment processing. I used this experience to land a job paying 58k working on high traffic sites where I learned caching, scaling, and performance tuning. I used this experience to get a job paying 70k working on an advanced ad serving platform running on a cluster of 50 servers, where I learned about load balancing. I used this experience to get a job paying 96k working for ClearChannel, working on syndicated radio shows, where I learned about streaming audio and video. This experience landed me at a stealth mode startup where I'm making 110k plus stock options. Each step of the way, the experience I gained at the last job made me more valuable than my last salary, so the new company offered more, and I didn't even have to ask the first few times (though the last two times, the same recruiter did the asking on my behalf).

> I feel that the only way I can advance my current position is by getting other job offers, but I don't want to be that guy.

I don't understand that. Who is /that guy/ and why don't you want to be him?

I think engtech's point is they wish their work was better-recognized and better-rewarded, without him/her feeling he had to force his employer's hand by pulling a "well, XYZ corp is all lined up to pay me 20% more!" (AKA, "the squeaky wheel gets the grease").

Maybe that's realistically what you do have to do, but that doesn't mean it's ideal. It's easy to view the employer/employee relationship in a purely market-driven, antagonistic style, but I think many people who like their jobs really wish it wasn't like that.

Again, it might be naive, but that doesn't make it wrong to feel that way. It really would be great if businesses could treat their employees like friends, and not just resources.

I've heard this point before, and you know, not only do I vehemently disagree with it, I also think it's massive cognitive dissonance. People are brought up told that discussing money is taboo, and rationalize that.

> force his employer's hand by pulling a

> purely market-driven, antagonistic style

Doesn't it strike you as odd that you've made those statements so emotionally laden?

> It really would be great if businesses could treat their employees like friends, and not just resources.

I think that would be dreadful. I want a company to treat me as a resource, and to realize that as a resource, they'll get the most out of me if they keep me happy. I would like the company to be acutely aware of how much I am worth, how much I cost, and what my options are, and to be happy that they're getting good value by employing me. Programmers spend so long convincing themselves they're scientists, but for some reason (and maybe it's because economics is such a weak science) this all completely goes out the window as soon as money is involved.

I think it's weak-sauce for a programmer to be jumping around chasing a few bucks here and there, but if you're being undervalued, do something about it, rather than complaining that life is unfair, and that the company should be looking after you. And I say this as a bleeding-heart pinkie limey leftie liberal who actually worked at The Guardian once.

"Doesn't it strike you as odd that you've made those statements so emotionally laden?"

For a lot of people, it is an emotional situation. Work makes up a big part of their life, I'd be surprised to find many people who can view compensation in a totally cool and detached way.

And yes, obviously, "do(ing) something about it" is the correct course of action. I wasn't suggesting hoping and wishing as a means of getting a raise.

On a side note, I wonder if the Dunning-Krueger effect implies that the least qualified people are the ones clamoring for raises the most often?

I agree that it sucks that is is this way, and that many of us would rather companies actually kept up with market rate without us having to beat them over the head constantly.

We live in a world that, in this case, performs far less than ideally. Constraining your own behavior to naive, idealized boundaries seems ludicrous.

In other words, do not feel bad about being "that guy", because that guy is all of us. If your employer will not adjust your compensation fairly, then do head off to greener pastures. This whole shame-game with "disloyalty" is just a ruse to make you accept a grossly below-market rate for your work.

I agree completely. This is the world we live in, and you should not feel bad for asking to be paid what you deserve.

That said, it's hard not to have emotional ties to your work, especially if you're friendly with the people you work with. I was just trying to explain how I presumed engtech was feeling, since peteretep didn't seem to understand.

"I feel that the only way I can advance my current position is by getting other job offers, but I don't want to be that guy."

Have you talked to your manager about this? It can be difficult to bring it up but if you like the place, people, and work that you are doing and money is the only problem, then you need tell your boss just that (literally, say, "Boss, I love working here, I love the people, I love the work, but I have a problem. I'm underpaid for my skill level and the contributions I have made here. Is there anything we can do about that?"). Sometimes they can do something about it but they haven't because they didn't realize they needed to. Seriously.

Sometimes they can't do anything about it and they will tell you. Only then you start looking for another job.

My philosophy is that I want to give the company/client a good value for their money but I also want to get paid what I'm worth. If I'm a 100K/yr engineer and the company can't see paying that, the fit is probably sub-optimal and it's time to go someplace where I can create value.

For example: An engineer working at a landscaping company cannot deliver enough value to justify a big salary. It's not the landscaping company's fault, it's just a bad fit.

In my experience, pay increases happen when you start a new job or if you're lucky, when someone on your team leaves for more money. :-)

Talk to your boss over lunch and let him know that it's obvious that you aren't able to deliver the value you'd like and perhaps it's time you got out of the way so they can get someone who is a better fit. Reassure him that you don't intend to leave them in the lurch.

You either are "that guy" or you work for "that guy".

> I feel that the only way I can advance my current position is by getting other job offers, but I don't want to be that guy.

If you're not prepared to leave, why should your employer pay you any more given that you've demonstrated by your actions that your existing salary is enough to keep you working there?

Actions speak louder than words, which is unfortunately why being "that guy" is the most effective way to get that higher salary you believe that you're entitled to.

Quick salary tip for hiring software engineers: go easy on the low-balling.

Once the software engineer realizes they are getting paid significantly lower than what they could get paid in the market, you may have just incentivized them to leave the company. Depending on the personality of the software engineer, they may not come to you and re-negotiate, they may simply look for a better offer elsewhere.

So make sure you don't undermine your ability to retain talent.

Not much worse than finding out you are grossly underpaid. If that doesn't turn an exceptional employee into a slouch, I don't know what will.

His supplied quote asking if it's OK to go away and think about it comes across as weak/unsure of yourself in my opinion.

A confident candidate will TELL the interviewer that they will need time to think about it. This isn't a thing to be rushed anyway so any interviewer should be fine with this. If not, do you really want to work for someone so pushy?

Interviews are a 2 way street, a lot of interviewers forget that they are also on show to impress the candidate. Especially right now where there seems to be a lack of skilled engineers out there.

It seems to me like that question may be purely "polite".

It's OK to be and act confident. It's also OK to be nice and respectful at the same time.

I think best thing is just look for something when you dont need it. Then when they ask about salary, mention any number, it doesn't matter. Then when they give you a final offer, be a hard-ass and ask for 30% more. Keep saying no until you get the offer or they don't call you back. You might get laughed at a handful of times, but there will be someone who will give in. Again, do this when you don't need a job and aren't desperate. Just keep being a hardass and douchebag. It's not hard to when you're looking for sumthing casually.

Agreed. You can confidently negotiate if you've got nothing to lose. Another way to achieve this is to have multiple offers. You come out ahead when you have competing offers - get them in a bidding war.

Also you can be a total hard-ass when negotiating with HR - you won't offend your future boss or team in the process. They usually are not involved in the negotiation process.

I would say, this possibly the best advice. It is applicable in many areas in fact. Starting from relationship...

(For anyone interested, here's a rehash of a comment I made a while back http://news.ycombinator.com/item?id=1097801 which suggests you be flexible on salary to gain a larger total compensation. If you haven't worked out these numbers in advance, this is how I think you should spend the extra time the OP's tip will give you)

Keep firmly in mind that your salary is only one term in the overall equation adding up your total compensation. Total compensation = sum(salary, daycare, commute costs, conferences, professional development, 401k matching, ...)

Consider, for example, lunch. Here in NYC, a company that buys you a $10 sandwich for lunch every day is giving you $3,330+ salary equivalent (Assuming you're in the 25% tax bracket) [1]

Take the time to sit down and do something along the following lines:

- list out benefits a company might offer

- group them into things you care about and things you don't (don't have kids -> don't need daycare)

- for the things you care about, think about how much each one would cost you to pay for yourself

- think about what minimum level of that benefit you would accept, happy, and ecstatic. (eg. Minimum: company pays for one local conference/year. Happy: one conference anywhere in US/yr. ecstatic: more than one conference anywhere in the world)

- for the ones you DON'T care about, think about how much it costs the company to pay for each

When it comes time to negotiate your compensation, always think in sets. Think (and talk) in terms of how moving any one piece requires movement on a different piece. Give up the things in the "don't care" set to gain at least as much value in the "want" set.

Eg. They want to give you less money, you can agree to that, if they give you X more vacation days.

Eg. They offer free daycare, you say that you appreciate that, but since you don't have kids you would rather have "work at home Fridays" and a slightly larger 401k match.

By considering the total you are much more likely to get a better overall package


  (salary equivalent) = (daily cost * 5 days/wk * 50 wks/yr)
                                   ( 1 - tax rate )

  25% tax bracket 
  $ 5 lunch = (5 * 5 * 50)/(75%) = $1,667 salary
  $10 lunch = $3,333
So every $1 the company saves you (by buying your lunch or your monthly parking or whatever) is worth $333 in salary in the 25% tax bracket. (Assuming you don't change to a different tax bracket by the change to your cash salary)

That's one way to look at it, but keep in mind how many other benefits are based off your salary. Raises[1] are often some percentage of your base salary. 401k match? Percentage of your salary. Bonuses? Often a percentage of your salary. Life insurance, AD&D benefits, long- and short-term disability, which you hopefully will never need, but if you do, all pay out according to your base salary.

Keep all that in mind when you are doing the math. With a higher salary you can pay for day-care yourself (and still deduct it from your taxes) and bring a sandwich from home for lunch.

1. If a raise ever comes at all. Do not plan on it when you are negotiating your salary, even if they tell you everyone has gotten a 10% raise every year for the past 10 years.

You have to be really careful about that $10 dollar sandwich depending on how its used. If the company culture is that you all eat together everyday (and probably talk about work stuff) or you take your sandwich back to your desk, the employer has essentially gotten a free hour of work out of you and if you were contractor this might equate to a loss of -$100.

You have to pay income tax on the $10 sandwich.

No, meals provided at work for the convenience of the employer are deductible for the employer and tax-free for the employee.

Meals provided for business purposes such as a lunch meeting away from the office are half deductible for the business and tax-free for the recipient.

That's the USA rule (Canada too, I believe). Elsewhere may be different.

I checked awhile back and most software companies fail the convenience test. It is only allowed if the employee can't get food elsewhere (e.g. on an oil rig).

See http://www.irs.gov/publications/p15b/ar02.html

Exact text: Meals on Your Business Premises

You can exclude the value of meals you furnish to an employee from the employee's wages if they meet the following tests.

They are furnished on your business premises.

They are furnished for your convenience.

This exclusion does not apply if you allow your employee to choose to receive additional pay instead of meals.

Whether you furnish meals for your convenience as an employer depends on all the facts and circumstances. You furnish the meals to your employee for your convenience if you do this for a substantial business reason other than to provide the employee with additional pay. This is true even if a law or an employment contract provides that the meals are furnished as pay. However, a written statement that the meals are furnished for your convenience is not sufficient.

From http://www.irs.gov/publications/p525/ar02.html Meals and Lodging

You do not include in your income the value of meals and lodging provided to you and your family by your employer at no charge if the following conditions are met.

The meals are:

Furnished on the business premises of your employer, and

Furnished for the convenience of your employer.

Another source: http://www.journalofaccountancy.com/Issues/2000/Jun/TheHighC...

Meals an employer provides as a means of disguising additional compensation to an employee are not regarded as furnished for the convenience of the employer under section 119. The IRS considers a meal as furnished for the employer’s convenience only if the company provided it for a substantial noncompensatory business reason. An employer furnishes a meal for such a reason when providing it

So the employee is available for emergency calls during his or her meal period.

Because the employee must be restricted to a short meal period and could not be expected to eat elsewhere in such a short time.

Because the employee could not otherwise secure proper meals within a reasonable meal period, such as when there are not sufficient eating facilities nearby.Meals an employer provides as a means of disguising additional compensation to an employee are not regarded as furnished for the convenience of the employer under section 119. The IRS considers a meal as furnished for the employer’s convenience only if the company provided it for a substantial noncompensatory business reason. An employer furnishes a meal for such a reason when providing it

So the employee is available for emergency calls during his or her meal period.

Because the employee must be restricted to a short meal period and could not be expected to eat elsewhere in such a short time.

Because the employee could not otherwise secure proper meals within a reasonable meal period, such as when there are not sufficient eating facilities nearby.

In other words, if a company provides you with a free lunch, it probably is taxable income.

Bloody hell the IRS is a soft touch :-) In the UK they are very strict on benefits in kind.

At one point BT decided that to do away with loads of messy individual kitchens and all the resulting arguments between employee arguments over who had not paid this months tea money. They would provide free tea and coffee in the new big work-style buildings.

HMRC ruled that this was a taxable benefit and so that was that (I have actually seen the letter from HMRC to Group HR)

Is that true? Are Googlers getting 1099s for those awesome catered meals 3 times a day?

Here is what J.K. Lasser's Your Income Tax 2010 has to say on the subject:

The value of employer-furnished meals is not taxable if furnished on your employer's business premises for the employer's convenience.

The employer convenience test requires proof that an employer provides the free meals or lodging for a business purpose other than providing extra pay. In the case of meals, the employer convenience test is deemed to be satisfied for all meals provided on employer premises if a qualifying business purpose is shown for more than 50% of the meals. If meals are described in a contract or state statute as extra pay, this does not bar tax-free treatment provided they are also furnished for other substantial, noncompensatory business reasons; for example, you are required to be on call 24 hours a day, or there are inadequate eating facilities near the business premises.

Just one at the end of the year, based on the estimated value of the benefit.

Here's a not so quick tip: learn to steer conversations towards value for your client/employer, not just skills or abstract, hard-to-quantify achievements. When you and your potential employer are talking about millions of dollars, a 50% increase in salary becomes rather small.

I would assume that it probably helps to have other job offers on the side or a current job that pays nearly the same as the job you're interested in for this to work.

A founders perspective on this:

I think such negotiation tips are great because they helps engineers, many of whom are not the best negotiators, get the fair market value they deserve. This is a real concern when recruiters are involved, or its a big company, or even a large startup (e.g. 50+ people).

However, as a technical founder for a smaller team, its not really in my interest to mis-align employee incentives, especially engineers.

The people we hire are at the top of their game. If they're are not treated fairly, they will eventually find out, and someone will feel bad or be de-motivated or eventually leave. Every instance of lack of transparency or apparent "unfairness" will breed resentment and impact the net productivity of a team that's trying to run at its 110%. Even if/when we do get things wrong occasionally, quarterly/annual reviews are a great way to correct for decisions made with limited initial data.

Tl;Dr : Founders don't get rich by cutting corners on someone's salary/benefits.

Wasn't part of the job of the technical recruiter supposed to be negotiating the salary? Considering they make a commission off it, I would assume it would be in their best interest.

Not always. Sometimes their time isn't worth the extra commission and they're better off working on other leads.

Same goes for a real estate agent selling your house, why should they spend a week trying to sell for five or ten thousand more when only get five percent of that?

someone read freakonomics

If they get a 20% commission getting you a 2% pay increase nets them next to nothing(100K salary 20K commission, 102K salary 20.4K commission). So closing the deal is more important than getting you every last dollar possible.

Their commission can be based off how well they lowball you, so it's generally in their best interest to rush you into a quick decision before you second-guess your value.

Completely incorrect. A standard fee is usually based on six months of salary at the new job. Recruiters incentive is almost always to increase your salary.

It's a bit different for internal recruiting, but this fellow seems like a normal external recruiter.

It's not quite as incorrect as you might think. The recruiter has a much greater incentive to close the deal than to get you a higher salary.

Think about it this way - the recruiter gets paid a percentage of your salary when both sides reach agreement. Let's go with the 6 month figure here. So the company offers 100K and the programmer wants 110K.

The recruiter stands to get 5k more. Sure, that's nice, but not if it means way more work, along with a risk of the deal falling apart! Here's a recruiter's dream placement:

1) recruiter get a resume 2) recruiter does quick hygiene check 3) recruiter forwards contact info to client 4) developer interviews well and accepts offer 5) recruiter collect commission

A recruiter would much rather collect a quick 50K check for very little work than spend a lot of time haggling and potentially watching the whole deal fall apart.

Most brokers are mainly interested in getting both sides to agree to a deal, because then they get paid. This is a very important thing to keep in mind when dealing with brokers!

That's true in isolation, but the variables have corrolations. If you dicker about salary long enough that the candidate takes another position you make no money at all. So the biggest incentive is to get your signature on the offer. That makes serious negotiation on the part of the recruiter almost impossible. I've never seen it in practice; they've always left salary discussions to me and the employer.

A recruiter's income is proportional to salary * time-spent-per-position. If they could close deals 20% faster by settling on salaries that are 5% lower, it would increase their annual income. Also, repeat business is controlled by the firm, not by the employee, so it is to their advantage to keep the firm happy.

Just curious, how does internal recruiting usually work?

Hey all, I'm a tech guy that also spent 3 years as a recruiter and in IT staffing sales/business dev. I know this industry in and out.

I'm going to speak for our location (Greenville, SC). The normal direct-hire % is between 18-25%. If you're doing volume with a company you'll probably be 18-20%. If it's a niche skill or new company then 25%. The days of 30% is mostly over unless it's a retained search or some extremely difficult skill.

This recruiter is on par with his advice. For a direct-hire role it is his best interest in getting you the highest salary possible because he will make more money that way. If he's a good recruiter he will do all the negotiation for you and you won't have to worry about it at all. You tell him what you need and he'll work his magic. Trust me, we are very good at getting those target salaries (if not more) for our developers.

If you are going through a good agency and the salary question comes up then you need to defer that to the recruiter and if your recruiter doesn't know what to do then find a different agency. Lots of bad ones out there.

Sometimes though you have to persuade a candidate even if the salary is not what he wants. As an example I placed a Sr. Architect at an awesome gig and the salary was 15K lower than what he was used to making. He was hemming and hawing and I told him up front that he could continue to look for work for his skillset and not find it in this area (he had been out of work for about 6 months at this time) or take the job at the lower salary with the potential to grow. Needless to say he took the job and has since been promoted (which I knew would happen cause of his skills and knowledge).

No on contract-to-hire gigs it's the best interest in the recruiter to get you to take the lowest possible hourly rate and then he will bill the client the highest he could go. Why? Because it's all based on a Net Margin formula and the more NM the recruiter makes the more commission he'll make. Our firm wasn't too aggressive on beating down candidates but companies like TekSystems are notoriously known for low-balling their contractors and high-billing clients.

Hope this helps some. Not all recruiters and agencies are bad but unfortunately many fly-by-night and sorry shops give the good ones a bad name.

I will say this that 90% of the IT jobs out there (at least in our market) are never posted on a job board. They are filled by agencies because they can get it done faster and more efficiently than a job board and an HR person who's clueless on IT skill sets.


ps On a side note we had a joke in that internal recruiters were folks that couldn't hack it working for an agency. It's a different culture and fast-paced and being heavily commission driven tends to drive a good number of folks away. Why I left was that I placed myself back into IT :) And no, I did not get a commission on that (which would have been nice to boot!) :)

Obviously you're biased, but you're making it sound like working with an external recruiter is actually a good idea. Mostly I just hear that IT recruiters are terrible -- don't actually know what your skills are and just blast out your resume as much as possible, falsifying information if needed, and so on. So I've never pursued it, and ignored the occasional overtures. However after some disappointments I'm wondering if I've been too hasty there.

I know a bunch of HN posters stay in start-up land, where things are likely different, but I'm wondering if those who aren't have any other recruiter experience? My wife did have good luck with a recruiter in the law world, though the market there is quite different from the tech market.

I'm starting a new job in less than a week that I got through a recruiter. I was cold LinkedIn-ed and was initially skeptical because I've had bad experiences in the past. But this time was different and I'm really glad that I followed through.

My recruiter was helpful and remained at all times respectful of my time and my goals. She never pushed me to interview with companies I wasn't interested with, and she gave me some really valuable advice about how to sell myself as a less experienced and junior programmer. And regarding compensation, she was able to help me negotiate for a lot more than I thought I was going to be able to ask for.

I'm obviously not that experienced, but I think there definitely are some good recruiters out there who can be really helpful in certain situations. In my case the relationship happened to be extremely beneficial, partly because of my inexperience but also because it was just good timing.

How did you get into recruiting? I assume having a tech background helps, but what other skills have been useful for recruiting?

Sorry for taking a while to respond. Got busy. I kinda stumbled into it actually. I had just come out of the tech world (a failed startup) and was talking to recruiters about IT positions. Well, I talked to one guy that was absolutely horrendous - no personality, no knowledge, etc. and I thought - hey if this guy can do it, I can. I had always wanted to work on my sales skills and have always enjoyed networking and talking with people so it was a good fit.

I made out well in that I was involved with a small company with lots of experience in the management team and they invested in training and helping me get off the ground. That and the commission motivation was pretty nice too.

Now if I got hired on by someone at Robert Half or TekSystems I doubt I would have made it. They are too corporate and too inflexible needless to say.

Having a tech background did help because I could tell when a candidate was blowing smoke or trying to be more technical then what they really were. Other skills that made me successful was determination to succeed (drive), work ethic, ability to cold call (or at least ignore it), ability to shrug off rejection and keep going, and most of all ability to listen and think critically.

Hey everyone, thanks for the comments. As evidenced below, there are many different ways to negotiate on salary with companies. I've read through several below and they are spot on.



Another tip applies when you're interviewing at a company where they have a dedicated HR person who you talk to about salary (in other words you are not negotiating salary with the person who will actually be your boss or the owner)

In that case there is a good chance that person is an internal recruiter and they may get a bonus based on number of hires they bring in. So if the company decided they want to hire you - this recruiter is very motivated to get you to accept. They will be bound by policy as far as what numbers they can give out without you asking for more. But they really don't really care how high your salary will be (unlike for example your boss or the owner might).

If this is the situation then you really have nothing to lose by going way, way high with your salary request. The worst that will happen is the recruiter will just have to name their highest price they are allowed to go and hope you will accept.

I can't think of any situation where a prospective employee named a price and we said "oh they're way too expensive, let's not insult them with a counter-offer." We always make our best counter-offer and hope the person accepts it.

The example does work well if a company makes the mistake of not even going over salary early in the process. It's generally advised for the candidate to not bring up salary early on, but every situation that's involved a recruiter, it's the recruiter that brings salary up early - often before a phone screen. They don't want to waste the company's time if you're way to far off with salary.

I'm also making the assumption that the 105k and 90k salaries both have the same benefit packages, option grants (if applicable) and work environments for the sake of simplicity in the article, but in practice, I've learned the hard way that the things beyond the salary matter most. One does want to maximize salary for a given company, but remember, that once you've been there for short while, all the other things start to matter much more. At least that's my experience.

I would never recommend this. Never, ever, negotiate salary. Negotiate COMPENSATION.

No, negotiate salary to get it as high as possible, then vacation time to get as much as possible, then stock options, then 401k match, etc., etc. With each one make sure they know that is the most important thing to you, so they think that if they give you more on one item they can make it up by not giving you as much on the next one. Of course then the next one becomes the most important thing in the world to you...

Of course, that's used-car buying tactics, so be careful. If you are talking to an HR guy it might be fine to make him mad, but sometimes I feel uncomfortable pushing that hard on my future manager like that.

Isn't it bad to take salary negotiation advice from a recruiter? They might want to get you a job, absolutely, but their pay is directly proportional to how shitty you negotiate. I don't know if I can take advice from someone that directly benefits when their own advice is wrong.

Don't recruiters get a percentage of your salary? If so, it would be in their interest for you to get paid as much as possible, wouldn't it?

Not necessarily. Let's assume the recruiter is paid a percentage (although in some cases they get paid more simply because you get paid less, let's ignore that case.)

First, you and the recruiter have a different BATNA. He just wants you to get a job, otherwise he gets $0 and you want to get a job that aligns with your goals. Those usually don't match up. I've been in the position of being offered a job and rejecting it, it was clear at that moment the recruiter and I had divergent interests.

Secondly, at the margin, the fact that the recruiter gets a percentage of the benefits of the negotation but usually shares equally in the costs of negotiating (every recruiter I work with proxies the negotiation), the profit maximization point for you and the recruiter are rarely ever at the same point. In fact, the recruiter will nearly always be willing to abandon negotiations and settle at a lower salary than you should. The same thing happens in real-estate. Offering and counter-offering for 3 days over 6% of $3000 is a lot different than 94% of $3000.

Maybe I am wrong. Also, I am not saying the recruiter that wrote this is incorrect. I am just saying that I hold his advice under the strong light of scrutiny. I hope I haven't crossed the line into ad hominem fallacy by doing this.

Employers: More often than not, you get what you pay for. Saving a few bucks in salary will probably cost you in the long run.

Employees: Negotiate your salary realistically. Embellish too much and you'll find yourself negotiating your salary again (probably with a NEW potential employer) sooner than you'd like.

If you are healthy and have no dependents (thus don't have unusual/expensive medical insurance needs) then the best salary tip I've found is to be a 1099 contractor over a W2 employee. This is especially so if you are in a work-at-will State like California.

When you've done your interview and the company is ready to make you an offer you can straight-up tell them you'd prefer a 1099 based relationship over W2. They may not like it or prefer that, but obviously the market for software engineering is a seller's market.

You can usually expect to make at least 30% more like-for-like as a contractor because you're going to have to look after your own medical insurance, tax affairs and pension, etc.

Don't forget that $100k offer the firm is going to pay you actually costs them more like $130k in terms of benefits, payroll tax, etc. So why not just ask them to give the full $130l to you? Plus you may be able to negotiate even more on top of that.

The real fun happens when you start to make legitimate tax deductions that as a W2 employee you can't normally make. Computer equipment, software, ipads, games consoles, phone bill, meals with other people in the industry, etc. I bet you work from home too sometimes, so deduct a %age of your rent and utilities.

These are all legitimate business expenses which are hard or impossible to deduct as a W2.

The net benefit in terms of your annual take home pay is potentially going be a lot more than the advice given by the OP - although there is no reason to combine all of this together.

(BTW Recruiters won't suggest this tip because their remuneration usually is based on W2 salary, and not contract positions)

You should be careful here:

I bet you work from home too sometimes, so deduct a %age of your rent and utilities.

This is usually a big red flag for IRS audits. It's my understanding you have to have a dedicated area just for work. So lounging on your couch wouldn't count. A corner desk or separate office is fine I think.

A corner desk is probably not enough. You really need to have a completely separate office area that is used 100% for work. Last I checked, the home office also must be for the benefit of the employer and not only for the employee. Add in that your chances of being audited go up significantly with a home office deduction and it makes it a risk that needs to be weighed carefully. Definitely find a CPA and get them onboard before trying to claim the home office deduction.

Agreed. I'd recommend against this every time, unless you are 100% prepared for the inconvenience and potential penalties of an audit. It's just not worth it.

I've heard this many times, but interestingly TurboTax says it's not true.


Tax law doesn't allow this for engineers though - you can't be a 1 man consulting shop with a single employer. Most large tech firms hire contractors through third party consulting shops specifically to get around this.

> Tax law

Oh come on. Tax law where? Are we all on the West Coast?

UK tax law, at least, allows it if you don't fall under IR35.

1099 and W2 are part of US tax law, which is what I was referring to.

As others have said, this is very dangerous advice. Anybody considering this should talk with a CPA first.

Dubious tax advice aside, I've never worked at a company where the contractors are treated equally to the full time employees. I would never work as a contractor simply because you are setting yourself up as a 2nd class citizen.

In what aspects you think contractor is 2nd class citizen. I personally like fact that I am paid at least 50% more and that I don't have to play corporate politics. And funny as it is there are companies where contractors are treated same as employees in most respects (aka. smart companies)

heck I had so many team lunches for successful milestone of project paid by company that I don't care to count

Though you will make more, you will be on the hook for 100% of payroll taxes rather than 50% as in a normal W2 relationship. It is also a lot easier to get let go.

That obvious calculation will be added to your pay as a 1044, since they'll have to pay it anyway if they hired you as a W2.

Registration is open for Startup School 2019. Classes start July 22nd.

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