FullStackFSCCafé
 
 
Sign in with GoogleSign in with Google. Opens in new tab
Kill Your Tech Interview
3877 Full-Stack, Algorithms & System Design Interview Questions
Answered To Get Your Next Six-Figure Job Offer
      
🤖 Having Machine Learning & DS Interview? Check  MLStack.Cafe - 1704 Data Science & ML Interview Questions & Answers!Having ML & DS Interview? Check 🤖 MLStack.Cafe - 1704 ML & DS Interview Questions and Answers

5 Salary Negotiation Rules for Software Developers

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.

5 Secret Rules of Salary Negotiation

Remember 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 will show a potential employer how much value (at least a perception of it) you could bring to the company that directly linked to the prospective salary rate the would be ready to negotiate. Don't oversell yourself thought. Remeber, honesty is always the best policy.

First Phone Call

Agent/Recruiter 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/Recruiter 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 is 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 child care 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.

 

Rust has been Stack Overflow’s most loved language for four years in a row and emerged as a compelling language choice for both backend and system developers, offering a unique combination of memory safety, performance, concurrency without Data races...

Clean Architecture provides a clear and modular structure for building software systems, separating business rules from implementation details. It promotes maintainability by allowing for easier updates and changes to specific components without affe...

Azure Service Bus is a crucial component for Azure cloud developers as it provides reliable and scalable messaging capabilities. It enables decoupled communication between different components of a distributed system, promoting flexibility and resili...

Cosmos DB has gained popularity among developers and organizations across various industries, including finance, e-commerce, gaming, IoT, and more. Follow along and learn the 24 most common and advanced Azure Cosmos DB interview questions and answers...
More than any other NoSQL database, and dramatically more than any relational database, MongoDB's document-oriented data model makes it exceptionally easy to add or change fields, among other things. It unlocks Iteration on the project. Iteration f...
Unit Tests and Test Driven Development (TDD) help you really understand the design of the code you are working on. Instead of writing code to do something, you are starting by outlining all the conditions you are subjecting the code to and what outpu...
Domain-Driven Design is nothing magical but it is crucial to understand the importance of Ubiquitous Language, Domain Modeling, Context Mapping, extracting the Bounded Contexts correctly, designing efficient Aggregates and etc. before your next DDD p...
At its core, Microsoft Azure is a public cloud computing platform - with solutions including Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS) that can be used for services such as analytics, virtual c...
As an asynchronous event-driven JavaScript runtime, Node.js is designed to build scalable network applications. Follow along to refresh your knowledge and explore the 52 most frequently asked and advanced Node JS Interview Questions and Answers every...
Dependency Injection is most useful when you're aiming for code reuse, versatility and robustness to changes in your problem domain. DI is also useful for decoupling your system. DI also allows easier unit testing without having to hit a database and...