loading...
FullStack.Cafe

5 Salary Negotiation Rules for Software Developers. Get +20% On Top of Your Market Rate

aershov24 profile image Alex 👨🏼‍💻CodeStack.Cafe Updated on ・7 min read

5 Salary Negotiation Rules for Software Developers. Get +20% On Top of Your Market Rate

Salary negotiation is one and only the most powerful and life impactful soft skill you have never been taught as a developer. In that quick practical guide, I'll reveal the ultimate dev salary negotiation strategy with samples of real questions and answers that help you to raise your next salary number by 20-30% on top of the market rate.

🔴 Are you looking to prepare for your next Coding Interview? Check CodeStack.Cafe - Our New Curated Collection of Coding Questions, Problems & Challenges with Answers and Code Snippets! Prepare for Google, Facebook, Amazon Interview in 2 weeks (and not in 6 months) and never fail your programming interview again.

Originally published on FullStack.Cafe - Never Fail Your Tech Interview Again

5 Secret Rules of Salary Negotiation

Remember the five basic rules of salary negotiation:

  • Rule 1: Never tell your current salary
  • Rule 2: Never tell the salary you want
  • Rule 3: Know your minimal acceptable salary (let's define it as X) and the list of non-monetary benefits you want before an interview for example 45 vacation days, 2 days remote and etc.
  • Rule 4: Someone who has money (employer) names the price first
  • Rule 5: Always keep your offer opened, don't burn all the bridges

Before Interview

Polish and optimize your dev resume first. Use that Ultimate Dev Resume Optimization Guide to increase your response rates and get more interview invitations. A solid resume shows a potential employer how much value (at least a perception of it) you could bring to the company that directly linked to the salary rate they would ready to negotiate. Don't oversell yourself thought. Remember, honesty is always the best policy.

First Phone Call

Agent asking:

What is your current salary rate?

  • Your answer #1: Hey, I'm not comfortable to disclose this information because of a non-disclosure agreement (NDA) I signed with my current/former employer.
  • Your answer #2: Listen, I'd privately negotiateed that topic with my manager/CTO/founder and would prefer to keep that conversation just between our parties. I'm sure you'll understand me cause if we would work together and will have any private conversations with you the company could be sure 'll never disclose it as well.

Agent asking:

What salary are you looking for?

  • Your answer #1: Thank you for that question. On this stage let us check first that we are a great fit for each other and we could circle back to that questions later.
  • Your answer #2: Thank you for that question. Hey, I'm just an engineer, I'm sure you know the market better than me so I trust you to evaluate my skill set first and if we are a great fit to circle back to that topic.
  • Your answer #3: Thank you for that question. Listen, I'm just an engineer and I feel myself uncomfortable to dictate your company the rate you willing to pay for a professional like me. I'm pretty sure you know the market and company conditions better than me and would be able to evaluate my skill set based on the value I'll bring to the company.
  • If agent pushing, you say: Why wouldn't you tell me your ranges (Y) so I could ballpark if that aligned with my career goals?
    • If Y is less than X, say: Thank you, my current salary rate is higher, but you could always call me back at any time if you still think we are a great fit for each other.
    • if Y is equal or higher X, say: Thank you, I think we are on the same page in terms of salary ranges but let us circle back to that conversation later after we will check how good is our mutual fit.
  • If agent pushing, like "I need a number to fill a form", just say: Just put a dollar so we could circle back to that later.

Tech Interview

Do you best to stay strong on your tech interview to negotiate a better rate. The more value you'll show on that stage the more leverage you'll have during the salary negotiation discussion. Check those articles to prepare:

Negotiation stage

Employer asking on the interview:

Ok, let's talk offer. What salary are you looking for?'

  • Your answer #1: Thank you for your time on that interview. I'm pretty sure on this stage you're quite familiar with my skill set, strengths, and weakness so would you mind to tell me what payment rate are you looking to offer for a professional like me?
  • Your answer #2: Thank you for your time. Listen, I just an engineer who is focusing on technical stuff and doing his job as best as possible. We going to have/ already had that extensive conversation around the value I could bring to the company so I trust you to evaluate my skill set based on your business needs and tell me the rate you willing to pay.
  • Your answer #3: Thank you for your time. Hey, I'm pretty sure on that stage you know better what kind of value I could bring to your company so I don't feel comfortable to dictate your the payment rate you willing to pay for a professional like me. But you could tell me the number you have in your mind.

Employer tell you the number:

We ready to offer you Y. What do you say?'

  • If Y is less than X, say:
    • Hey, I appreciate your time and really interested to join your team but my current salary rate is higher than that/sorry, that rate is not aligned with my career goals. Is it the highest rate you would like to offer me?
    • They tell "yes, it's the highest number we could pay", you say: Ok. Let us have a break for a couple of days. Call me back if you think we still a great fit for each other.
  • If Y is equal or higher X, say: Thank you for your offer. It sounds very encouraging and I would say we are really close. Let us step aside from the salary number for a while and talk other benefits your company could offer.
    • How many vacation days do you offer? Could you make 45-50?
    • I would love to do remote 2 days per week. Do you think it's possible?
    • I'm dropping my kids to a kindergarten each morning and really need to start at 10 am. Is it ok?
  • They tell, "We could do C, but not A, B". You're asking: Ok, if there anything you could do to substitute A, B, for example, do C+other perk?
    • If you are not happy with non-material benefits, say: Sorry, your offer is great but not aligned with my personal goals and my family situation. Let's us have a break for a couple of days. Call me back if you still think it's a great fit.
    • If you are happy with non-material benefits, say: Ok, in that case, I think Z = Y+20% would work for me.
    • They tell, "No, we can't afford it". You're asking: Ok, what is the highest rate you could offer me?
    • They tell, "The max we could do is Y1", you say: Ok, we are really close, so could you do Z1 = Y1+10% and 50 vacation days (name any other benefit)?
      • Keep it going until you happy with the number/benefits balance. Your primary goal here is to understand what is the "MAX package" (salary + benefits) they could offer for that position. Don't be afraid to push them because in the worst case scenario you'll still get the minimal acceptable salary plus "some" benefits you're already happy with.
    • Eventually they tell, "Yes, we could do that". You say: Ok. Thank you for your time, please send me your offer then. I will review it in a couple of days and let you know.

Final Advice

Try to model that dialog with your friend before an interview to train yourself to stay confident under the enormous negotiation pressure. Practice that strategy as often as you could to master your negotiation skills.

Thanks 🙌 for reading and good luck on your interview!
Please share this article with your fellow devs if you like it!
Check more FullStack Interview Questions & Answers on 👉 www.fullstack.cafe

Posted on by:

aershov24 profile

Alex 👨🏼‍💻CodeStack.Cafe

@aershov24

👋 Product enthusiast. FullStack Dev. 🇦🇺 Currently working on: ◀️ www.CodeStack.cafe ▶️ Your Coding Interview Pain Killer

FullStack.Cafe

Helping Devs Never Fail Tech Interview Again

Discussion

markdown guide
 

I find this discussion is much easier when you're upfront and open. "This is the minimum salary I require". Recruiters will do one of two things, pass or move you forward in the process. It's that simple.

Why even waste time with interviews and lying about NDA's when you can cut right to the chase? What you're describing is how not to get a job by being evasive and dishonest.

 

I'm definitely not okay with a suggestion being to lie about being under NDA. That's shady. :/

 

My current and my previous Company had this NDA written in the contract. Lying is always bad, I think he tried to say that If you have this, you could use this as an argument.

If you signed an NDA in the US with language that is specific to your salary it's likely your NDA is one-sided and not enforceable. It's an invalid argument if the employer is based in the United States. Since this article did not limit it's jurisdiction, I can only speak to what is true for those seeking employment within the US.

Companies covered by the National Labor Relations Act (NLRA) cannot limit employees’ concerted activities for the purpose of “collective bargaining or other mutual aid or protection” according to Section 7 of the NLRA

President Obama also created an Executive Order

Non-Retaliation for Disclosure of Compensation Information

obamawhitehouse.archives.gov/the-p...

 

Given the wide range of comments, it looks very culture-specific to me. Some guys live the strategy, some don't like it. Personally, I don't like it.

If someone is approaching me and is not willing to give anything precise and tries to push for more personally, it very often is a sign of a person that is more interested in optimizing the personal life and not about building a long-term relationship with the company. These few interviews are not much time to really evaluate the skills and on the CV, you could also lie (if you lied on the NDA, which does not really make sense). Basically, you often see what you have after the first months. From there, employees can profoundly argument with their proven performance within the company.

After the second discussion that evolves this way, I would put the candidate on hold. I prefer honest and open discussions. This is to respect the candidate's tone in case we are far of from what he is expecting as well as my time in talking to candidates that might be interested in receiving money and doing the least effort that is required to justify it, but not really interested in working for a sufficiently long time in the company to justify the high onboarding costs for hiribg abd training. And with a lower risk that the guy jumps for the next job after a short time if it means higher salary or less actual work.

 

Shouldn't it much easier for the employer to state the range they have in their budget? In one of our local community, there's a rule that all job ads must include salary range.

 

Don't make it more complicated than it needs to be:

  1. Know the salary ranges for relevant positions in your area/the area the job is in.
  2. Have a proper idea about your own skill relative to other available talent.
  3. Think about what else you want from a job (i.e. as a junior you might value learning opportunities more, whereas as senior job satisfaction/fulfillment or other factors might be more important).
  4. Communicate your expectations clearly from the beginning. Hiring is a lot like dating, playing games is tiring and the truth always surfaces sooner than later.
  5. Don't be afraid to re-negotiate if things are going well, I've had significant salary increases after just a few months in the past.

IMHO the best way to get paid a proper salary is bringing the right skills to the table. Good products sell because of their reputation and in my experience so do good developers.

 

Your answer is really interesting, thank you!
Do you know a good way to know the salary ranges in a given area?
Also, do you know a way to check one's skills relatively to others in the field?

 

I frequently go to/speak at meet ups and conferences. This way I meet a lot of people, which helps in both regards. Additionally I tend to keep a good relationship with a trusted recruitment company in my area. I send them referrals (both clients and candidates), they keep me in the loop.

 

I prefer not to get more money or a raise. I prefer working less hours.

My time is invaluable.

 

I had similar advices given to me by 3rd party agents but in my experience, it always went something like this.

Hiring manager: What's your current salary?
Me: I'd prefer not to discuss this and let my agent handle those dicussions.
HM: Ok, then what salary are you expecting?
Me: This will also be handled by my agent and I trust you will evaluable my skills against the market.
HM: Well, we would prefer hearing it from you.

That's when I usually say it because it would be found rude if I keep on insisting not to say anything ...

I found that the conversation goes better if I reply honestly.

I usually choose a minimum amount I want and set it as "my actual salary".

Then I pad it a little (usually I add 20%) and ask for this as a minimum.
I usually jokingly say "The minimum I'd require is xxxx but of course, I would not refuse if you went even higher".

Of course, you may end up getting less than if you don't say anything.

 

Love it !

Why would you let the employer dictate the first number since the usual result would be around that number?

I mean if he tells you will be paid $30 per hour, if you say no... most probably, you would get something around $35.

This video is interesting: facebook.com/170012693726567/posts...

So why would I let him dictate the first number?

 

Exactly! Negotiation 101, the anchoring effect, put your number up there first. There may be reasons to wait but that's Negotiation 337, and most employers aren't trained in negotiation.

 

Thank you for this Rules! They are great!

This is so much needed within schools and universitys.

But something else is bothering me... whom on eath do i need to make coffee for to get 45-50 days of paid vacation? :D I have the basic 25 days here in Germany.

 

In the UK it's completely different. You can be honest about your current salary but tell your new potential employer what you know you are worth judging by what other people are on and also by seeing what other companies your are interviewing for are offering. The general rule when first starting out should always be, earn more than your age. So at 21 I made sure I was paid £24k and moved up from there. Now at 30 I'm paid more than double my age because with more skills and especially niche ones it becomes very easy to have companies getting into a bidding war over you.

 

I need to adjust your maths for my situation as i'm a recently graduated software dev at 41. makes the salary question extra complicated although I recently realised I have over 2 years industry experience from previous work

 

Granted, it is a lot more difficult to apply the same logic when you are starting out at a later age. Still, as you would be considered a junior developer here in the UK you could probably start to push it to about £27k. The key thing is, if you don't receive a payrise after a year, move on. It's sometimes best to stay in your first role for 2 years to show to other companies you are loyal but after that it's really important that your wage goes up every year. Software development is still in very short supply as a skill and supply and demand has to kick in.

 

In Europe is often just impossible not to state your salary expectation for new position at the beginning (basically during introduction talk with recruiter or next talk). I say impossible because they simply ask you and if you try to work around it without saying you will just be dismissed and they will not spend time with you, knowing that majority of candidates will just say it.

 

Which is probably how it should be. A company does not have infinite money, so there's no point in wasting your or their time by going trough the interview and then being refused in the end.

 

Wrong, it shouldn't be like that at all.
They could offer salary range and not ask for it, but they choose to keep silent and force candidate to get into weaker position so they spend as little as possible. Difference is obvious.

 

I gotta say this all sounds insane to me. In Britain most of the first contact will come from a recruitment consultant. One of the questions they will ask is how much you would like to earn. Obviously you are going to add a few thousand on top of your existing salary or why bother moving.

This saves you being sent for jobs that arn't paying enough. Recruitment consultants will still try to send you for jobs paying less than that because they really only care about commission.

When meeting with the company they will ask what I am currently on. I add all the financial value of all benefits to my salary and add a few thousand on top of that. They will normally offer enough over that to make it worth my while and stop counter offers from my existing company.

When I have been recruiting, if someone evaded answering a simple question like how much money they are currently earning they certainly would not be on the recruit pile!

 

I've done my fair share of recruiting, but generally I just ask people how much they'd like to make now, their current salary is of little importance to me.

 

Fair point, I usually leave that to the HR person I am interviewing with. Either way, if we got an evasive answer like the ones above we would probably just pass on that person completly.

 

The overall idea is solid. Note however that many companies have strict budgets, so if you don't talk salary up front, YOU WILL WASTE EVERYONE'S TIME by going thru the interview only to then walk away when the offer is too low.

So I usually ask for a salary range upfront. And if the max is too low then i walk away.

 

Go for 7 figures somewhere you do want to work ;)

Nothing wrong with taking a pay cut if you get a longer term advantage out of it (better life balance, reskilling, etc). But also there is nothing wrong in getting paid what you are worth.

 

Good one mate ! What are your thoughts on negotiating for a higher salary in the same company you are associated with ?

 

I like the stance you are taking on this one but in reality it doesn't work. More money is very important and you should always look for more money with each new role you move into. The key though is finding roles where they allow flexible working. I've never been happier with my current role because it pays really well and the hours are what I want to do. If I want to leave early one, two or three days a week I can. As long as I get my work done.

 

I prefer doing research on what is the market rate for someone like me, the geographic area and the size and type of the company, then establish that as the starting point. From there, what I bring to the team over other candidates starts shaping the increase in the overall package.

The great thing here is if you start the salary conversation with, "Well I see that the average is xx so let's start from there." You'll get a response that is very enlightening either way. If they say you aren't correct, then you have the opportunity to reply, "ok, what is the average for your company then?" And you'll get a better insight to what's a realistic number and whether or fits your criteria.

If they don't say anything then they are probably comfortable with that number, which means you know you can go higher, and you should be able to justify your worth for the increase.

To me, this is a more open and honest method and pleasant experience for both parties, ideally backed up by hard data which is an insight to the hiring manager of your cultural fit and value to a team environment.

 

This is in fact a very great post though. But I'm sorry to say that this post doesn't fit for Indian Hiring Eco system. Here, recruiters initiate the job opportunity discussion with knowing the salary of the prospect. And it may not proceed further in 95-99% of the cases if you don't disclose the salary upfront.

 

Comprehensive article @aershov24 , nicely articulated! From my experience, even I've found that not disclosing your required compensation until the last rounds helps in a couple of ways:

  1. You don't come across as just overzealous and money-minded (not many intend to be, either)

  2. Provided you've had a good experience in the interviews, the ball is now in a prospective employer's court and depending on their need - you could use the salary discussions as your trump card :D

Since most interactions tend to happen via email nowadays, I've found these articles post1 and post2 to be helpful. Hoping they prove useful for the community too.

 

Yeah... I am going to probably decide not to offer a job to someone who does this. It is unnecessarily evasive and kinda bordering being a jerk. Might be cultural... but that wouldn't really fly for me. You shouldn't start a relationship by lying about NDAs... which almost everyone knows are bull anyway.

You are best off doing your own research and deciding what the market rate for your skills likely is and using that as a guide.

This whole approach is pretty much insane. Especially because I know what I can afford for a given position and I really don't want to waste anyone's time. If I know my top dollar available is Z and coming out of the gate I know you want at least Y which is Z + X; I'll save everyone some time knowing that I cannot match the salary.

 

Your answer #2: Thank you for that question. Hey, I'm just an engineer, I'm sure you know the market better than me so I trust you to evaluate my skill set first and if we are a great fit to circle back to that topic.

Uhhh.......this is the second weirdest suggestion in the article after suggesting you lie about being on an NDA. The last thing you want to do is go in and tell your next employer, who would be thrilled to pay you as little as possible, that you're just a simple tech guy and you don't understand money so please pay me something fair!

Here's the #1 thing you need to know about salary negotiation: The first person who mentions money loses. If they ask you how much you're making now, say that's private information you're not looking to share. Yes, be that direct. If they ask what you're looking for, say you're willing to entertain a fair market salary for the position. If they say you're being vague, say let's see if you're a good fit and you'll be willing to listen to whatever offer they're willing to give you. No matter what they offer you in the end, thank them for the offer and say you need to think on it for a few days because you have other interviews lined up (this can be your fib, if you're really looking to fib on something). Call them back a day or two later and say you really liked them but you have another good opportunity coming down the pipeline, but you're willing to sign today if they give you a bit of gravy on top of their offer.

Lastly, if salary and finance really does make you squeemish, that's why we have recruiters. They will handle all this stuff for you, because the more money you make, the more they will make when you're placed.

 

A cutthroat approach like this may be ok for an ultra-competitive role in sales, but for an engineering position, it is a red flag.

Software development is a team sport. If you are so money-focused, selfish and non-empathetic to the other negotiating party (especially if on the other side is not a mindless HR agent but a person you'll work with), I wonder if you will have the same attitude with your teammates.

I've been on both sides, and I strongly prefer a more open and honest conversation.

P.S. I haven't had an opportunity to design a compensation scheme for a company, but if I had, I would choose the transparent system depending on a role, initial skills assessment, and seniority. If it is not a startup, then some sort of profit-sharing scheme is also nice to have.

 

Good article, I'll apply it to my resume. BTW, I'm thinking in study english and apply to jobs on Australia, can you write a post or tell me the state of IT industry over there please?

 

Rule #6: Give your savings priority. Having money in the bank gives you a lot of leverage when negotiating a salary.

 

The website fearlesssalarynegotiation.com helped me with all of these things when looking for a new job and I recommend it to anyone thinking about applying for a job.

 

My coworker negotiated for time an a half after 40 hours which they don't have to pay in Seattle.

 
 
 

Ask your co-workers, I was leaving 25 on the table plus time and a half cuz I didn't know...until my next contract... asked for it and got it...

 

I found this article super helpful! Also adding this as an additional resource for anyone negotiating rn like me ; candor.co/guides/salary-negotiation