Hiring guide · Custom Software

Hire QA Engineers: Rates, Vetting and Red Flags

The short answer

In our delivery and market experience, expect $18 to $45 per hour for offshore QA engineers, $35 to $65 per hour in Eastern Europe and Latin America, and $70 to $140 per hour in the US, Canada and Western Europe, with senior SDETs who own the CI gate sitting at the top of each band and manual-only functional testers at the bottom. For most teams the right first move is not a permanent hire: bring in one senior automation engineer on a fixed six to eight week engagement to build the test pyramid, the pipeline gate and the test data strategy, then keep a mid-level QA on retainer to maintain and extend it. Hire in-house once you have six or more developers shipping daily and QA is a permanent seat rather than a project.

What a QA engineer actually does, and where hiring goes wrong

Thursday, 4pm, release day. The QA hire opens a spreadsheet with 312 rows. Each row is a click path somebody wrote eleven months ago. She works through it for five hours, marks 300 green, flags two known issues, gives the thumbs up. The build ships at 11pm. By Saturday morning support has forty tickets: the checkout accepts an expired coupon, applies it anyway, and the order total goes negative. Row 212 covered coupon expiry. Row 212 was last genuinely executed in March. After that it got copy-pasted as pass because it always passed.

That failure is not laziness. The team hired a pair of hands to re-run a checklist instead of someone who owns a harder question: how do we know, automatically, within ten minutes of a commit, that the money math still works?

A QA engineer worth the money does four separate jobs. First, test design, which is a real discipline with technique behind it: equivalence classes, boundary values, a decision table for a pricing rule with four inputs, a state transition map for an order that can be placed, paid, partially refunded and cancelled. Second, automation at the cheapest layer that can catch the bug, which is almost never the browser. A coupon expiry rule belongs in a unit test or an API test that runs in 40 milliseconds, not a Playwright script that logs in and clicks for 90 seconds. Third, ownership of the pipeline gate: the suite runs on every pull request, sharded across parallel workers, finishing in under ten minutes, and red actually blocks the merge. Fourth, exploratory testing, timeboxed and charter driven, because the bugs that hurt you are the ones nobody thought to write a case for.

The other common failure is the mirror image. You hire an automation specialist. They spend a quarter building an elegant keyword driven Selenium framework, 800 tests, ninety minute runtime, an eleven percent flake rate. Someone adds retries: 3. Then someone sets the job to continue-on-error so the pipeline stops screaming. Now you are paying to maintain a dashboard that is green by construction. Both hires cost the same, and neither produces something you can trust on a Friday.

Engagement models: in-house, freelancer, agency, staff augmentation

In-house. Right when QA is permanent, domain-heavy work. If your product is an insurance rating engine or a clinical scheduling tool, the value is in the tester who knows that a policy effective-dated on a leap day breaks the proration. That knowledge takes months and walks out the door with a contractor. The cost is that you carry them through quiet quarters, and you have to give them a career path or they leave in eighteen months for an SDET title elsewhere.

Freelancer. Good for a bounded, well specified piece of work: build a smoke suite for the checkout flow, set up BrowserStack across four browsers, write a k6 load script and report findings. Bad as your only quality function. Freelancers rarely stay long enough to feel the maintenance cost of what they built, and a test suite is a liability you pay for every sprint after it is written. If you go this route, the deliverable must include the CI configuration and a README that a new engineer can run cold.

Agency. Right when you need a function stood up, not a person filled in. An agency gives you a senior who sets the strategy plus mid-level capacity to execute it, and continuity when someone gets sick or quits. The honest trade-off is that you pay a margin over the individual rate and you get less control over exactly who sits in the seat. Ask for named people, a bench policy in writing, and the right to interview replacements.

Staff augmentation. A contractor who works inside your standups, your Jira, your repo, under your engineering manager. This is the best fit for most mid-size teams: you keep the process, you rent the skill, you can scale from one to three heads for a release crunch. It fails when nobody on your side actually manages them. An augmented QA with no product owner to ask questions will file low-value tickets for six weeks and you will blame the vendor.

What QA engineers cost, honestly

These ranges come from what Digital Heroes pays, quotes and sees in the market. They are not survey figures. Rates move with region, seniority and how much of the job is automation versus execution.

  • Manual and functional QA, offshore: roughly $15 to $30 per hour. Executes cases, does exploratory work, files tickets. Does not build frameworks.
  • Automation QA, offshore (India, Pakistan, Philippines, Vietnam): roughly $25 to $45 per hour for someone comfortable in Playwright or Cypress with real CI experience.
  • Eastern Europe and Latin America: roughly $35 to $65 per hour, with senior SDETs above that. The overlap with US hours is what you are paying for in Latin America.
  • US, Canada, Western Europe contract: roughly $70 to $140 per hour. A senior SDET who owns pipelines, test data and performance work sits at the top.
  • US in-house base salary: in our hiring experience a mid-level QA engineer in a major metro lands somewhere in the $90,000 to $130,000 range, and a senior SDET who owns the CI gate and the framework goes meaningfully above that.

The salary is not the cost. Budget for the whole thing:

  • Benefits, payroll taxes, insurance and equipment push base up by roughly a quarter to 40 percent in the budgets we build with clients, depending on country and plan. Run the real number with your finance lead rather than a rule of thumb.
  • Recruiting. Contingency recruiters we have worked alongside quote a percentage of first year salary in the mid to high teens or above. Doing it yourself is not free either: expect thirty to fifty hours of engineering time across screening, take-home review and interviews.
  • Ramp. Four to eight weeks before a QA hire finds bugs your team did not already know about. Longer on domain-heavy products. During ramp they consume a developer's attention rather than saving it.
  • Tooling. Per-seat costs for TestRail or Qase, cross-browser minutes on BrowserStack, Sauce Labs or LambdaTest, and device time if you have a mobile app. Small next to salary, but it is real and it recurs.

How to vet a QA engineer

Skip the ISTQB trivia. Ask questions that only someone who has shipped can answer.

"Walk me through what happens between a developer pushing a commit and your suite reporting a result." A strong answer names the trigger, the containerized browsers, sharding across workers, artifacts on failure (Playwright traces, videos, HAR files), where the report lands, and what happens when it is red. A weak answer is "I run it before release."

"What is your flake rate and how do you know?" Good candidates have a number and a way of measuring it. Then ask them to describe the last flake they root-caused. You want to hear something like: the test asserted on a toast that animates out after three seconds, so we moved the assertion to the underlying network response with cy.intercept and an alias. You do not want to hear "I added a wait."

Stack specifics. For Playwright, ask why getByRole beats an XPath, what expect auto-retry buys you, and how they avoid logging in through the UI in every spec. The answer is storageState captured once in a setup project, and if they have never done it, their suite has never been fast. Ask about fixtures for test data and about running with --shard. For Cypress, ask why cy.wait(5000) is a smell and what retry-ability in .should() actually does, and where Cypress makes multi-origin or multi-tab flows painful. For API work, ask which layer they push coverage to and what tool: supertest, REST Assured, pytest with requests, or Newman in the pipeline. If you run microservices, ask about contract testing with Pact and whether they have used WireMock or Mock Service Worker to isolate a service under test. For mobile, ask Appium versus Espresso, XCUITest, Detox or Maestro and why. For load, ask what a valid load model looks like: ramp profile, think time, and whether they report p95 or an average, because anyone quoting averages has not run a real test.

Test data. Ask how a test gets the state it needs. You want API seeding or factories, per-worker isolated tenants or per-test database transactions, and cleanup that runs even when the test fails. If the answer is "we click through signup first," their suite is slow and order-dependent and they have never run it in parallel.

Test design under pressure. Give them a rule on the spot: a discount is 10 percent for orders over $100, 20 percent over $500, stacking with one promo code, not valid on gift cards. Ask for the cases. You are looking for boundaries at 99.99, 100.00, 500.00, the gift-card interaction, and the question they should ask you: what happens to the discount on a partial refund? A tester who asks that question in an interview is the one who saves you on release night.

The take-home. Three hours, paid, against a real target: your staging build or a public demo app. Ask for three things. One, a short exploratory charter with what they found. Two, four or five Playwright tests covering one meaningful flow. Three, a paragraph on what they deliberately did not automate and why. Grade the code, not the count. Green flags: role-based or data-testid locators, zero hard sleeps, tests independent enough to run in any order and in parallel, auth handled once, assertions on state and not just element presence, a config that runs in CI, and thin page objects. Red flag: fifteen tests all through the UI, each logging in from scratch. That candidate will hand you a ninety minute suite. If you review a portfolio repo instead, open three files: playwright.config.ts or conftest.py, the CI YAML, and the test data helpers. Those tell you more than the README.

Bug report quality. Ask for three real tickets, redacted. Look for exact repro steps a stranger can follow, environment and build number, expected versus actual, attached evidence, severity separated from priority, and a hypothesis about cause. A tester who attaches the failing request from the network tab saves a developer an hour every single time.

Red flags

1. Test count as a brag. "We had 800 end-to-end tests" is a confession, not a credential. Ask instead: what percentage of your coverage sat at API versus UI, and what did you delete last quarter? A senior QA prunes. If they have never deleted a test, they have never maintained one.

2. Sleep-and-retry as the flake strategy. Thread.sleep, cy.wait with a number, retries cranked to 3 in the config, and a suite everyone re-runs until green. Ask instead: show me the last flake you fixed at the root and what the cause turned out to be.

3. Framework talk with no pipeline. Certifications, a "hybrid data-driven keyword framework," and a suite that only ever ran on their laptop. Ask instead: name the last pipeline where your tests blocked a merge, and tell me who complained about it and what you did.

4. Cannot read the system. A QA who cannot open the network tab, read a stack trace, or write a SQL query to confirm a row actually got written will file half-formed tickets that developers close as cannot reproduce. Ask instead: here is a HAR file with a 500 in it, tell me what you would put in the ticket.

5. Gatekeeper posture. "Development hands the build to QA at the end of the sprint." That model turns your tester into a bottleneck who finds design problems two weeks too late. Ask instead: tell me about a time you changed a feature before a line of code was written.

When to hire a QA engineer, and when to hire someone else

Be honest about the pain you actually have. If you have three developers and no paying customers, you do not need a QA engineer. You need your developers writing tests and maybe a senior QA for three weeks to set the pyramid and the pipeline gate. If your pain is "it breaks in production and we find out from a customer email," that is observability, and Sentry or Datadog will do more for you this month than a tester will. If your pain is "the app falls over at 500 concurrent users," a k6 script will confirm what you already suspect but it will not fix your database. That is a backend engineer. If your pain is "the product feels confusing," that is product and design, not QA, and pointing a tester at it will just generate tickets nobody prioritizes.

Hire QA when the pain is: releases take two days of manual clicking, the same class of bug keeps returning, or you have tests that nobody trusts. The first two want an automation engineer. The third wants a senior SDET on a remediation engagement, not a junior tester who will inherit the mess and add to it. As a staffing ratio, once your developers own unit and integration coverage, one QA engineer supports roughly five to eight developers. If you are hiring one QA per two developers, you have a development quality problem you are trying to test your way out of.

Digital Heroes staffs QA as a function, not a body. We start with a senior automation engineer for four to six weeks to establish the test pyramid, the pipeline gate, the test data strategy and a flake budget with an actual number attached, then scale with mid-level automation and exploratory testers once there is something worth extending. Everything lives in your repository under your GitHub organization from day one, you own the code and the framework outright, and every engagement ends with a handover document a new hire can start from. If what you need is three weeks of remediation rather than a full-time seat, we will tell you that instead of selling you a team.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. Only 22% of firms are 'future ready' having significantly transformed digitally; these companies show average revenue growth 17.3 percentage points and net margins 14.0 percentage points above their industry average. Source: MIT Center for Information Systems Research (MIT Sloan) (2022) →
  2. Deloitte reports that modern ERP implementations aim to deliver reduced manual effort, greater transparency, a single source of truth, and increased productivity, but many organizations do not capture the full expected benefits (a significantly lower ROI) without disciplined strategy, change management, and data readiness. Source: Deloitte (2024) →
  3. SaaS spend averaged $4,830 per employee (up 21.9% year over year), with large enterprises (10,000+ employees) spending roughly $284M annually and running about 660 apps, while organizations wasted an average of $21M annually on unused licenses. Source: Zylo (2025) →
  4. Salesforce's field-service research (State of Service / field service trends, survey of 5,500+ service professionals) found that 74% of mobile workers report increasing workloads and 47% say appointments don't go as planned due to customer miscommunication, unaccounted-for parts, or insufficient appointment lengths and travel times. (The separate claim that admin tasks consume ~30% of a technician's hours is NOT supported by the report - the seventh-edition data instead states technicians spend about 18% of working hours, ~7 hours/week, on admin, and only ~32% of time interacting with customers.). Source: Salesforce (2024) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does it cost to hire a QA engineer?
In Digital Heroes delivery and market experience, offshore QA engineers run roughly $15 to $45 per hour depending on whether the work is manual execution or real automation, Eastern Europe and Latin America run roughly $35 to $65, and US, Canadian or Western European contractors run roughly $70 to $140. Senior SDETs who own the CI pipeline sit at the top of every band. For an in-house hire, remember the base salary is not the cost: benefits, payroll taxes, insurance and equipment usually push it up by a quarter to 40 percent, plus recruiting and four to eight weeks of ramp.
Should I hire a freelancer or an agency for QA?
Hire a freelancer for a bounded piece of work with a clear finish line, such as a smoke suite for checkout or a k6 load script with a findings report. Hire an agency when you need the quality function stood up and kept running, because a test suite is a maintenance liability every sprint after it is written and freelancers rarely stay to feel that cost. The agency trade-off is a margin over the individual rate and less control over who fills the seat, so insist on named people and the right to interview replacements.
How do I test a QA engineer before hiring?
Give a paid three hour take-home against a real staging build or a public demo app, and ask for three deliverables: an exploratory charter with findings, four or five Playwright tests covering one meaningful flow, and a paragraph on what they chose not to automate and why. Grade the code, not the test count. Green flags are role-based locators, zero hard sleeps, tests that run in parallel in any order, auth handled once via storageState, and a config that runs in CI. Fifteen UI tests that each log in from scratch means you are about to buy a ninety minute suite.
How long does it take to hire a QA engineer?
An in-house hire typically takes six to twelve weeks from job post to first day, plus another four to eight weeks of ramp before they find bugs your team did not already know about, and longer on domain-heavy products like insurance or healthcare. A contractor or agency QA can usually start within one to two weeks and be productive inside the first sprint, because they arrive with the framework patterns already in their head. If you need coverage before a specific release date, count backwards and assume the in-house route will miss it.
What is the difference between onshore and offshore QA rates?
Onshore contractors in the US, Canada or Western Europe typically run roughly $70 to $140 per hour, while offshore QA engineers in South and Southeast Asia run roughly $15 to $45 and Eastern Europe or Latin America sit in the middle at roughly $35 to $65. The gap is labor market cost, not skill: strong Playwright and CI engineers exist in every one of those regions. What you actually pay for onshore is timezone overlap and direct access, which matters most for exploratory testing and release-day work and matters least for framework and pipeline construction.
Who owns the test code and automation framework?
You should own all of it outright, and that needs to be in the contract as a work-for-hire or full IP assignment clause before anyone writes a line. The practical test is where the code lives: it should be in your GitHub or GitLab organization from day one, not in a vendor repository copied over at the end. Watch for anyone proposing a proprietary framework or a licensed test platform of their own, because that is a lock-in you will pay for later. Digital Heroes engagements put everything in your repository from the first commit and end with a handover document.
Do I need a manual QA or an automation QA engineer?
It depends on the pain. If releases take two days of manual clicking or the same class of bug keeps returning, you need an automation engineer who will push coverage down to the API layer and gate your pipeline. If your product is domain-heavy and the risk is in judgment rather than repetition, an experienced exploratory tester finds things no script will. Most teams need one senior who can do both to set the strategy first, then cheaper capacity to execute it, and hiring the cheap capacity first is the mistake that produces the 312-row spreadsheet.
How many QA engineers do I need per developer?
Once your developers own unit and integration coverage, one QA engineer supports roughly five to eight developers. If you are staffing one QA per two developers, you almost certainly have a development quality problem you are trying to test your way out of, and adding testers will just increase the ticket queue. Below about five developers and with no production traffic, you probably do not need a dedicated QA at all, just a senior for a few weeks to set up the test pyramid and the CI gate.
Can AI tools replace a QA engineer?
AI is useful for generating first-draft test cases, filling in page objects and self-healing brittle selectors, and any QA candidate who refuses to use it is adding cost for no reason. What it does not do is decide what is worth testing, notice that your discount rule contradicts your refund policy, or root-cause a flake that only fires on a sharded CI runner. It also cannot own the pipeline gate or hold the domain knowledge that a proration bug lives on leap days. Treat it as a force multiplier on a good engineer, not a substitute for one.
What does a $50,000 custom software budget actually buy?
One core workflow done properly: 10 to 15 screens, two or three user roles, a couple of integrations, an admin panel, and automated tests, delivered in roughly 12 to 14 weeks. What it does not buy is that workflow plus a mobile app plus AI features plus five more integrations. The discipline of picking the one workflow that matters is what separates $50,000 projects that ship from $50,000 projects that stall at 70% complete.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
If we build for 20 users now, will the software cope with 500 later?
It should, without a rewrite, if it was built on a standard cloud stack; going from 20 to 500 users is mostly a hosting configuration change costing hundreds a month, not a second project. What actually breaks under growth is sloppier work: database queries never indexed for volume and features designed assuming one office's worth of data. Before signing, ask the vendor what happens to the system at ten times today's data, and listen for a specific answer.
Will custom software work with the tools we already use, like QuickBooks and Stripe?
Yes, and this is one of custom software's genuine advantages: QuickBooks, Stripe, Shopify, and most mainstream business tools publish documented APIs built for exactly this. Expect each standard integration to add one to two weeks of build time, and be suspicious of any quote that lists five integrations without asking what data flows in which direction. The hard cases are legacy systems with no API, which is a question to raise in discovery, not in week nine.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?