Lesson 15 of 16 advanced

Salary Negotiation & Accepting the Right Offer

Turn an Offer Into the Compensation You Deserve

Open interactive version (quiz + challenge)

Real-world analogy

Salary negotiation is like buying a car — the sticker price is never the final price. The dealership (employer) has a budget range, and the first offer is almost always the bottom of that range. They EXPECT you to negotiate. Not negotiating is like paying full sticker price while the person next to you drives away in the same car for 15% less. Every dollar you negotiate in base salary compounds for your entire career.

What is it?

Salary negotiation is the process of advocating for fair compensation after receiving a job offer. It involves researching market rates, understanding the full compensation package (base, bonus, equity, benefits), countering the initial offer strategically, and evaluating the total value of the opportunity. Most candidates leave $5,000-$20,000 on the table by not negotiating. Negotiation is expected, professional, and a skill that compounds over your entire career.

Real-world relevance

A study by Salary.com found that not negotiating your starting salary can cost you over $1 million in lifetime earnings due to the compounding effect of raises on a higher base. Hiring managers at companies like Google, Microsoft, and Amazon have publicly stated they EXPECT candidates to negotiate and budget for it. LinkedIn data shows that 39% of workers are afraid to negotiate, but 85% of those who do negotiate receive at least some improvement to the initial offer.

Key points

Code example

// === SALARY NEGOTIATION & OFFER EVALUATION TOOLKIT ===

// --- MARKET RESEARCH SOURCES ---
const researchSources = [
  { name: "Levels.fyi", url: "levels.fyi", best: "Tech company compensation data with level mapping" },
  { name: "Glassdoor", url: "glassdoor.com/Salaries", best: "Broad salary data + company reviews" },
  { name: "LinkedIn Salary", url: "linkedin.com/salary", best: "Role-based salary insights" },
  { name: "Payscale", url: "payscale.com", best: "Personalized salary reports" },
  { name: "Blind", url: "teamblind.com", best: "Anonymous verified compensation sharing" },
  { name: "Comprehensive.io", url: "comprehensive.io", best: "Startup equity calculator" },
];

// --- SALARY NEGOTIATION SCRIPTS ---
const negotiationScripts = {
  deflectSalaryQuestion: `
"I would love to understand the full scope of the role
and the compensation range you have budgeted for this
position. I am flexible and want to make sure we find
a number that works for both of us."

If they insist:
"Based on my research on Levels.fyi and Glassdoor for
[Role] at [Level] in [Location], I would expect total
compensation in the range of \$[X] to \$[Y]. But I am
open to discussing the full package."
`,

  receiveOffer: `
"Thank you so much — I am genuinely excited about this
opportunity and the team. I would love to take a couple
of days to review the full compensation package
carefully. Could you send over the complete details
in writing? I will get back to you by [date, 2-3 days]."
`,

  counterOffer: `
"Thank you again for the offer — I am very excited about
joining [Company]. After reviewing the package and
considering [my research / competing offers / my current
compensation], I was hoping we could discuss adjusting
the base salary to \$[Target].

I believe this reflects my [N years of experience with
X technology] and the value I will bring to [specific
project or team goal]. Is there flexibility here?"
`,

  ifBaseSalaryIsFirm: `
"I understand the base salary is firm. Would it be
possible to explore other parts of the package?
Specifically, I would love to discuss:

- A signing bonus of \$[amount]
- Additional equity/RSUs
- [5 extra PTO days / remote flexibility / title upgrade]
- A 6-month performance review with a defined raise
  path tied to specific milestones"
`,

  handleExplodingOffer: `
"I appreciate the timeline, but I want to make a
thoughtful decision that leads to a long-term commitment.
Could we extend the deadline to [date, 1 week out]? I
want to give your offer the careful consideration it
deserves rather than rushing into a decision."
`,
};

// --- OFFER COMPARISON TEMPLATE ---
const offerComparison = `
                        | Company A    | Company B    | Company C
========================|==============|==============|=============
Base Salary             | \$___,___    | \$___,___    | \$___,___
Annual Bonus (target %) | ___%         | ___%         | ___%
Signing Bonus           | \$___,___    | \$___,___    | \$___,___
Equity (annual value)   | \$___,___    | \$___,___    | \$___,___
Vesting Schedule        | ___________  | ___________  | ___________
Total Comp (Year 1)     | \$___,___    | \$___,___    | \$___,___
Total Comp (Year 2-4)   | \$___,___    | \$___,___    | \$___,___
------------------------|--------------|--------------|-----------
PTO Days                | ___          | ___          | ___
Remote Policy           | ___________  | ___________  | ___________
Health Insurance        | ___________  | ___________  | ___________
401k Match              | ___%         | ___%         | ___%
Dev Budget              | \$_____      | \$_____      | \$_____
------------------------|--------------|--------------|-----------
SCORING (1-10):
Team & Manager          | ___/10       | ___/10       | ___/10
Growth Opportunity      | ___/10       | ___/10       | ___/10
Work-Life Balance       | ___/10       | ___/10       | ___/10
Tech Stack Excitement   | ___/10       | ___/10       | ___/10
Company Trajectory      | ___/10       | ___/10       | ___/10
Commute / Location      | ___/10       | ___/10       | ___/10
------------------------|--------------|--------------|-----------
TOTAL SCORE             | ___/60       | ___/60       | ___/60
TOTAL COMP (Year 1)     | \$___,___    | \$___,___    | \$___,___
DECISION                | ___________  | ___________  | ___________
`;

// --- RED FLAGS CHECKLIST ---
const offerRedFlags = [
  "Exploding offer (must decide in 24-48 hours)",
  "No written offer letter — verbal only",
  "Vague equity terms ('we will figure it out later')",
  "Below-market base with promises of future raises",
  "Unwillingness to negotiate ANY part of the package",
  "Mandatory broad non-compete agreement",
  "High turnover mentioned by interviewers",
  "Manager seems disorganized or evasive about team",
  "Unrealistic job scope for the level/compensation",
  "The interview process felt rushed or chaotic",
  "Glassdoor reviews consistently mention same problems",
  "They pressure you to cancel other interviews",
];

Line-by-line walkthrough

  1. 1. Comment header for the negotiation toolkit
  2. 2.
  3. 3. Comment: market research sources
  4. 4. Opening the sources array
  5. 5. Levels.fyi — best for tech compensation data
  6. 6. Glassdoor — broad salary data with company reviews
  7. 7. LinkedIn Salary — role-based insights
  8. 8. Payscale — personalized salary reports
  9. 9. Blind — anonymous verified compensation from real employees
  10. 10. Comprehensive.io — equity calculator for startups
  11. 11. Closing the sources array
  12. 12.
  13. 13. Comment: negotiation scripts
  14. 14. Opening the scripts object
  15. 15. Script for deflecting salary question
  16. 16. Opening the template
  17. 17. The primary deflection response
  18. 18. Express flexibility while redirecting to their range
  19. 19.
  20. 20. If-they-insist fallback
  21. 21. Reference specific research sources for credibility
  22. 22. Give a range based on data, not feelings
  23. 23. Express openness to full package discussion
  24. 24. Closing the template
  25. 25.
  26. 26. Script for receiving an offer
  27. 27. Opening the template
  28. 28. Express genuine excitement first
  29. 29. Ask for time to review (never decide on the spot)
  30. 30. Request written details
  31. 31. Set a specific follow-up date
  32. 32. Closing the template
  33. 33.
  34. 34. Script for counter-offering
  35. 35. Opening the template
  36. 36. Thank them and express excitement again
  37. 37. Reference research or competing offers as justification
  38. 38. State your target number clearly
  39. 39.
  40. 40. Connect your ask to the value you bring
  41. 41. Reference specific skills and experience
  42. 42. Ask about flexibility (open-ended, not demanding)
  43. 43. Closing the template
  44. 44.
  45. 45. Script for when base salary is firm
  46. 46. Opening the template
  47. 47. Acknowledge the constraint respectfully
  48. 48. Redirect to other package components
  49. 49.
  50. 50. Signing bonus ask
  51. 51. Additional equity ask
  52. 52. PTO, remote, or title ask
  53. 53. Performance-based raise path at 6 months
  54. 54. Closing the template
  55. 55.
  56. 56. Script for handling exploding offers
  57. 57. Opening the template
  58. 58. Acknowledge the timeline
  59. 59. Request extension with a reasonable reason
  60. 60. Frame it as wanting to make a committed decision
  61. 61. Closing the template
  62. 62. Closing the scripts object
  63. 63.
  64. 64. Comment: offer comparison template
  65. 65. Opening the comparison table
  66. 66.
  67. 67. Column headers for 3 companies
  68. 68. Separator line
  69. 69. Base salary row
  70. 70. Annual bonus row
  71. 71. Signing bonus row
  72. 72. Equity annual value row
  73. 73. Vesting schedule row
  74. 74. Year 1 total compensation
  75. 75. Years 2-4 total compensation
  76. 76. Separator
  77. 77. PTO days row
  78. 78. Remote policy row
  79. 79. Health insurance row
  80. 80. 401k match row
  81. 81. Professional development budget row
  82. 82. Separator
  83. 83.
  84. 84. Scoring section header (1-10 scale)
  85. 85. Team and manager quality
  86. 86. Growth opportunity
  87. 87. Work-life balance
  88. 88. Tech stack excitement
  89. 89. Company trajectory
  90. 90. Commute and location
  91. 91. Separator
  92. 92. Total score out of 60
  93. 93. Total compensation Year 1
  94. 94. Final decision row
  95. 95. Closing the template
  96. 96.
  97. 97. Comment: red flags checklist
  98. 98. Opening the red flags array
  99. 99. Exploding offers with unreasonable deadlines
  100. 100. No written documentation
  101. 101. Vague equity promises
  102. 102. Below-market pay with future promises
  103. 103. Complete unwillingness to negotiate
  104. 104. Broad non-compete clauses
  105. 105. High turnover signals
  106. 106. Disorganized or evasive management
  107. 107. Unrealistic scope for the compensation level
  108. 108. Rushed or chaotic interview process
  109. 109. Consistent negative Glassdoor reviews
  110. 110. Pressure to cancel other interviews
  111. 111. Closing the red flags array

Spot the bug

// Negotiation scenario review:
//
// Recruiter: "What are your salary expectations?"
//
// Candidate: "I currently make $90K so I would like at
// least $95K."
//
// What mistakes did the candidate make?
Need a hint?
Think about anchoring, revealing current salary, and research-based negotiation...
Show answer
Three major mistakes: (1) Revealed current salary — this anchors the negotiation to your CURRENT pay instead of your MARKET VALUE. You might be worth $130K but just anchored at $90K. Many states/countries have made it illegal for employers to ask this for exactly this reason. (2) Asked for 'at least $95K' which is only a 5.5% increase — way below the typical 10-20% jump when changing companies. (3) Did not deflect or ask for their range first. Better response: 'I would love to understand the full compensation range budgeted for this role. Based on my research on Levels.fyi for this level and location, I would expect total compensation in the $120K-$140K range, but I am open to discussing the full package.'

Explain like I'm 5

Imagine you find a toy you really want at a garage sale. The sticker says $10. You know the same toy sells for $5-$8 at other garage sales. So you say 'Would you take $6?' and the seller says 'How about $7?' and you agree. You both end up happy! That is negotiation — both sides have a range, and you meet somewhere in the middle. If you just paid $10 without asking, you would have spent more than you needed to. Always ask — the worst they can say is no!

Fun fact

Researchers at George Mason University found that a person who negotiates their starting salary by just $5,000 more will earn over $634,000 more over a 40-year career — assuming average annual raises of 5%. That is over half a million dollars from one conversation. And here is the kicker: most hiring managers have budget headroom of 10-20% above the initial offer. They literally budget for you to negotiate. Not negotiating is leaving YOUR money on their table!

Hands-on challenge

Prepare your negotiation toolkit: (1) Research your target role on Levels.fyi and Glassdoor. Write down your three numbers: floor, target, and reach. (2) Practice the counter-offer script out loud 5 times until it feels natural — have a friend play the recruiter. (3) Create a blank offer comparison spreadsheet using the template above, ready to fill in when offers arrive. (4) Review the red flags checklist and decide which ones are absolute deal-breakers for you. Having this prepared BEFORE you need it is the key to negotiating from a position of calm confidence.

More resources

Open interactive version (quiz + challenge) ← Back to course: Career Launchpad