Salary negotiation basics for developers: research, timing and scripts
Most employers expect a conversation about the offer. Prepare with research and a few simple phrases, and stay polite and honest.

Many people accept the first offer because negotiating feels uncomfortable. But a polite, prepared conversation is normal and professional. In many companies the first offer leaves some room. This article gives a practical approach. Rules and norms vary by country and company, so adapt it to your situation.
Step 1: know your market value
Negotiate with evidence, not feelings.
- Research typical pay for your role, level, city or country and company size. Use several sources: salary surveys, job posts that list ranges, local developer communities, and people you trust in the industry. Treat any single number with caution, since data can be old or based on few reports.
- Consider your experience, skills, location and demand for your tech stack.
- Decide three numbers: a target (what you would be happy with), a walk-away minimum (below which you would decline) and an ambitious number to start from.
In many places pay ranges are published in job posts. Where possible, use them.
Step 2: look at the total package
Salary is only one part. Consider:
- Base salary, and when and how it is paid.
- Bonus, commission or profit sharing, and whether it is guaranteed.
- Equity or stock options (understand vesting and what they are really worth, since they can be worth nothing).
- Benefits: health insurance, provident fund or pension, leave, festival bonuses.
- Work arrangement: remote or hybrid, flexible hours, equipment and internet allowance.
- Learning: training budget, conference support, mentorship.
- Growth: title, scope, promotion path and review cycle.
- Notice period, probation terms and job security.
If the company cannot raise the base salary, other items may be negotiable.
Step 3: handle "What are your salary expectations?"
This often comes early. Options:
- Deflect politely until you know the role: "I would like to learn more about the responsibilities first. Can you share the range for this position?"
- If they ask for a number, give a researched range with the lower end at a figure you would accept: "Based on my research for this role and my experience, I am looking at X to Y, depending on the overall package."
- Be careful about revealing your current salary. In some places it is illegal for employers to ask. If asked, you can say you would rather focus on the value of the new role. Be honest if you do share a number. Do not lie.
Step 4: when you receive the offer
- Say thank you and show enthusiasm.
- Do not accept or reject on the spot. Ask for the offer in writing and some time to review (a day or two, or a few days).
- Read every detail: salary, bonus, probation, notice, benefits, job title, start date.
- Compare it with your research and your three numbers.
Step 5: make your counter
Be positive, specific and reasonable. A simple structure:
Thank you very much for the offer. I am excited about the role and the team. Based on my research and the skills I bring, particularly [one or two relevant strengths], I was hoping for a base salary closer to X. Is there flexibility to get there?
Tips:
- Ask for a specific number or range, not "more".
- Give reasons tied to value: skills, results, market data, other responsibilities.
- Be collaborative: "How can we make this work?" rather than demands.
- It is fine to ask once, clearly. Then stop and listen. Silence is acceptable.
- Do not bluff with a competing offer you do not have. You can honestly mention a real one.
- Keep the tone warm. They are about to become your colleagues.
If they say the base salary is fixed
Ask about other things:
- A signing bonus.
- An earlier salary review (for example after six months).
- Extra leave, flexible work, a training budget or a better title.
- A clearer growth plan in writing.
If the answer is no
Thank them. You can accept if the offer meets your needs, or decline politely if it falls below your minimum. Keep the relationship positive. You can always ask: "What would help me reach the next level on the pay band?"
Step 6: get it in writing
Once you agree, make sure the final offer letter includes every agreed item: salary, bonus terms, benefits, start date, title, probation and notice. Do not resign from your current job before you have a signed or confirmed written offer.
Special situations
- Freshers: you may have less room, but you can still ask politely, especially for learning, mentoring and review timing. Research what local graduates receive.
- Switching careers or countries: consider cost of living, taxes, relocation help and visa support.
- Promotions and raises: collect evidence of your impact, choose a calm time (such as a review), ask for a specific amount and discuss the next goals.
- Contract or freelance work: include payment terms, scope and late-payment rules in the agreement.
Mistakes to avoid
- Accepting immediately without reading.
- Naming a number with no research.
- Negotiating by email or chat in an aggressive tone.
- Lying about your current pay or other offers.
- Focusing on salary only and ignoring the other terms.
- Making demands based on personal needs ("I have expenses") instead of the value you bring.
- Ignoring red flags in the company during the process.
Prepare with a short script
Practise out loud with a friend:
- Thank them and express interest.
- State your request and one or two reasons.
- Ask an open question about flexibility.
- Listen, take notes and ask for time to decide.
Takeaway: research your value, look at the whole package, never accept on the spot, ask politely for a specific number with reasons, listen, and get the final agreement in writing.
Career series, Part 1 (getting hired): 4 of 5. Previous: Freelancing for developers: how to get your first clients safely.




