How to negotiate a software engineer salary
· Category: Tech Career
Short answer
Research market data for your level and location. Delay salary discussion until you have leverage (an offer or strong performance). Negotiate the entire package: base salary, equity, bonus, signing bonus, and benefits.
Details
Preparation is the foundation. Use levels.fyi, Glassdoor, and recruiter conversations to establish a target range. When asked about expectations, redirect: "I am targeting competitive compensation for this role and level." Once you have an offer, express enthusiasm and ask for time to review. Then make a specific counteroffer supported by data.
Consider the full value proposition. Equity at a high-growth startup can exceed base salary, but it carries risk. Benefits like remote work, education stipends, and PTO have real monetary value. For understanding what different levels earn, review What is the difference between junior and senior developer roles to calibrate your ask.
Tips
- Never accept the first offer without negotiation; most companies expect it and leave room.
- Get competing offers if possible; they are the strongest leverage.
- Practice your script with a friend or mentor to sound confident, not adversarial.