Every company has a salary band for each role, and recruiters are usually authorized to go up to the midpoint without extra approval. The first offer is the number they thought would close you, not the number they had to stop at. This article covers how to research your actual market rate in 30 minutes, when to name your number, what to say when you make the counteroffer, and the three possible responses.

Why QA engineers undercharge

The pattern is consistent: a QA engineer gets an offer, feels relieved, worries that negotiating will cost them the job, and accepts. Two months later they find out a colleague with similar experience is making $15k more.

There are two reasons this keeps happening.

First, QA as a discipline has historically been undervalued relative to developers. That's changing (automation engineers with Playwright and TypeScript skills are in high demand) but the instinct to take what's offered persists longer than the market reality that created it.

Second, most QA engineers don't know what they're worth. They have a vague sense of "market rate" but haven't done the 30 minutes of research required to actually know the number. Without a specific number to anchor on, it's hard to push back.

Both problems are solvable.

Step 1: Establish your actual market rate

You need three or four data points, not one. Use all of these:

Glassdoor: search by job title, location, and years of experience. Look at the range, not just the median. Glassdoor trends low because self-reported data is biased toward people who are unhappy (and underpaid). Levels.fyi: more accurate for tech roles because it requires salary verification. Covers base, bonus, and equity separately. More useful for mid-to-senior roles at tech companies than for QA-specific roles. LinkedIn Salary: available with a Premium subscription, or through the occasional free-access period. Useful for filtering by specific job titles like "QA Automation Engineer" or "SDET." Indeed Salary: aggregated from job postings and self-reported data. Less precise but broad coverage across company sizes and geographies. Direct conversations: the most accurate data point and the most underused. If you have colleagues, former colleagues, or contacts in QA communities (Slack groups, Discord servers, local meetups), ask what they make. Most people in tech are willing to share salary information with someone they know. One honest conversation is worth five Glassdoor data points.

After gathering your numbers, look at where your actual offer lands relative to the range. If you're in the bottom third for your experience level, that's your starting point. If you're at the median, you can still push: companies rarely open at their maximum.

Step 2: Know what you're actually negotiating

Base salary is the obvious number, but it's not the only lever. Depending on the company and role, these are also negotiable:

Signing bonus: common at larger companies, easier for them to approve than increasing the recurring base. If they can't move on salary, ask for a signing bonus. Remote work arrangement: if the role is hybrid and you want remote, that negotiation is worth real money in commute costs and time. Equity / stock options: at startups and public companies, the equity grant vests over time and can significantly change your total compensation. Ask about the strike price, vesting schedule, and cliff. Vacation days / PTO: at companies with fixed PTO policies, additional days are sometimes negotiable for senior hires. Start date: giving yourself an extra week before starting is worth something if you need it. Professional development budget: for QA engineers building automation skills, a training budget (conferences, courses, certifications) has real value.

Don't negotiate everything at once. Pick one or two things that actually matter to you and focus there. Negotiating seven items simultaneously comes across as difficult.

Step 3: Time the conversation correctly

The best moment to negotiate is after you have a written offer and before you've accepted it. Not during the first interview. Not during the phone screen. Not when they ask "what are your salary expectations?" in the initial screening call.

When recruiters ask about salary expectations early in the process, deflect:

"I'm still learning about the role and the company. Once I have a full picture of the opportunity and compensation package, I'll be happy to discuss."

This isn't evasion. It's true. You don't have enough information yet to name a number. And once you name a number first, you've anchored the negotiation, often lower than where they would have started.

If pressed, give a range with your target at the bottom:

"Based on my research, roles like this typically range from $X to $Y. I'd expect to land somewhere in that range depending on the full package."

Put your actual target at the bottom of the range, not the middle. Ranges get compressed toward the lower end.

Step 4: The actual negotiation conversation

You have a written offer. Here's how to respond.

Don't accept immediately. Thank them and ask for a day or two to review it carefully. This is normal and expected. Respond in writing. Email (or the recruiter platform they use) is better than phone for negotiating because you can choose your words carefully, you create a record, and you remove the awkward silence pressure.

A response that works:

"Thank you for the offer. I'm genuinely excited about the role and the team. After reviewing everything, I'd like to discuss the base salary. Based on my experience and current market data for QA automation engineers with [specific skills], I was expecting to be closer to $[your number]. Is there flexibility there?"

Three things this does: it expresses genuine interest (you're not bluffing), it provides a reason (market data, experience), and it asks a yes/no question that moves the conversation forward.

Name a specific number, not a range. Ranges anchor to the low end. "I was hoping for $105k" is better than "I was thinking $100–110k." Be comfortable with silence. After you name your number, stop. Don't fill the pause by offering concessions you haven't been asked for.

What happens next

There are three possible responses:

They agree. Straightforward. Get it in writing before accepting. They counter. This is the most common outcome. They might come back with something between their offer and your ask. You can accept, or push once more, but only once. Repeated back-and-forth on a single number becomes exhausting and creates friction before you've started. They say no. This happens, usually because the role has a fixed band or the company has a strict policy. In this case, negotiate on the other levers: signing bonus, equity, PTO, start date. If everything is fixed, you decide whether the offer is worth accepting on its terms.

No competent company will rescind an offer because you asked for more money professionally. They may say no, but they won't pull the offer. The worst case is that you're back where you started.

Negotiating a raise (not just an offer)

Everything above applies to new job offers. Negotiating a raise at your current company is harder because you don't have the leverage of walking away (or at least, walking away is more costly).

Two things help here:

Document your impact. Before the conversation, list what you've done since your last raise: tests written, coverage added, bugs caught in production, time saved through automation, things you built that the team depends on. "I've been working hard" is weak. "I reduced flaky test rate from 23% to 4% and our CI pipeline now catches 60% more bugs before release" is specific and hard to dismiss. Bring market data. The same research you'd do for an external offer applies here. If your current salary is $20k below market for your skills in your location, that's data. Present it without threatening: "I'd like to make sure my compensation reflects current market rates for someone with my skills" is better than "I could get more elsewhere."

The best time to negotiate a raise is during a performance review cycle. The second best time is after a visible win: you shipped something significant, the team relied on your work, your value is obvious. The worst time is during a project crisis when everyone is stressed.

Salary conversations with experience levels

Entry level (0–2 years): Your leverage is minimal but not zero. Employers expect negotiation. If their offer is below median for your location, push back. Focus on base salary: equity and signing bonuses matter less here. Mid-level (3–6 years): This is where negotiation matters most. You have specific skills, you've shipped real work, and you're in high demand if you have Playwright and TypeScript on your resume. Don't underestimate this. Senior (7+ years): Total compensation matters more than base. Equity, remote flexibility, and professional development budget are real numbers. A senior QA engineer who won't negotiate is leaving money on the table at the moment of maximum leverage.

The number they won't tell you

Every company has a salary band for each role. HR knows the bottom, middle, and top of the band. Recruiters are usually authorized to offer up to the midpoint without approval, and up to the top with approval from a hiring manager.

When you negotiate, you're often just asking them to move from the bottom third to the middle third of their existing band. That's a conversation they've had before and will have again. It doesn't require anyone to do anything unusual.

The offer you received was the number they thought would close you. It was not the number they had to stop at.

→ See also: QA Engineer Salary in the US 2026: By City, Experience, and Skill | Manual QA vs Automation QA: Which Pays More in 2026? | QA Career Path: From Junior to Senior QA Engineer