Our position, for companies building or rebuilding a data platform without an in-house data engineer: outsource most of the work, keep one person inside who owns it, and hire when the steady workload crosses a line you can calculate. With U.S. government median salaries and example rates of $150 to $200 an hour, that line sits between about 15 and 27 hours a week, before recruiting and management costs.
InFocus Data sells data engineering services, so you can put the questions in this guide to us as well. Every number in the break-even math cites its source or is marked as our assumption. Rules of thumb elsewhere are marked as ours.
Four ways to outsource data engineering
“Outsourcing” covers four different purchases, and each one takes a different risk off you.
- Fixed-scope engagement (a “project”). A defined deliverable with an end date, such as a migration or a first analytics layer, which can be as small as a reporting database fed by a daily load, as our guide to budget data warehouse options argues. It takes delivery risk off you, provided the acceptance tests, the checks a deliverable must pass before you sign it off, are written down.
- Staff augmentation. Named engineers work under your direction and bill by the hour. It takes hiring and payroll off you; the management and the scope stay with you.
- Managed service. The firm runs your pipelines for a monthly fee against written service levels: how fast a failed load gets fixed, who answers at 2 AM. It takes day-to-day operations off you.
- Fractional lead. A senior engineer or architect for a few days a month who sets standards, reviews work and helps you hire. It takes off you the risk of an early architecture mistake that nobody senior is there to catch.
Compare quotes within one type. An hourly rate prices an engineer’s time, a fixed price prices a defined result, and a managed service fee prices pipelines kept running.
The break-even math: hire or outsource
The Bureau of Labor Statistics (BLS) doesn’t publish a wage for data engineers. Its closest occupations are database administrators, with a median annual wage of $104,620 in May 2025, and database architects, at $139,500.[1] Treat those national medians as a low and a high case, or use an offer from your own market.
Then load the salary with benefits. In June 2026, wages made up 70.0 percent of private-industry employer compensation costs and benefits the other 30.0 percent.[2] Dividing a salary by 0.70 gives a multiplier of about 1.43, an average across all private industry.
loaded cost = salary / 0.70
break-even hours = (loaded cost + yearly hiring and management overhead)
/ (consultant hourly rate * 50 weeks)
Our assumptions, each one replaceable:
- The 1.43 multiplier is a rough proxy. BLS counts paid leave as a benefit and a salary already includes it, so dividing by 0.70 counts that leave twice and overstates loaded cost a little; use your own loaded figure if human resources has one.
- 50 billed weeks a year. Our reasoning: about two weeks a year of holidays and slow periods go unbilled by a firm while a salary keeps running. Using 52 lowers every break-even by about 4 percent.
- Rates of $100, $150 and $200 an hour. These are our illustrative inputs; replace each row with a quote.
- Zero overhead in the table. That favors the hire.
| Consultant rate (our assumption) | Salary $104,620, loaded $149,457 | Salary $139,500, loaded $199,286 |
|---|---|---|
| $100 an hour | 29.9 hours a week | 39.9 hours a week |
| $150 an hour | 19.9 hours a week | 26.6 hours a week |
| $200 an hour | 14.9 hours a week | 19.9 hours a week |
To check a cell: $149,457 divided by ($150 times 50) is $149,457 divided by $7,500, or 19.9 hours. If your steady weekly hours fall below the cell that matches your inputs, buying hours costs less than a salary. The common 30-to-40-hours rule of thumb holds only at about $100 an hour.
Break-even is proportional to the loaded cost and inversely proportional to the rate, so a 10 percent error in either input moves the answer by about 10 percent. Firm up whichever input you know least precisely, usually the rate, since nobody has quoted yet.
Overhead moves the line up. Every $10,000 a year of recruiting, management time or tooling adds 2.0 hours a week at $100 an hour, 1.3 at $150 and 1.0 at $200. As an assumption of ours, take a recruiting fee of 20 percent of first-year salary, $20,924 or $27,900. Charged to year one at $150 an hour, it moves the break-even from 19.9 to 22.7 hours a week on the lower salary and from 26.6 to 30.3 on the higher.
Uneven demand. Use average weekly hours across a full 12 months (our rule: a shorter window catches a build peak or a quiet quarter and misreads the year). If your busy weeks need more than one person, a hire won’t end the consulting bill, and you’ll pay both.
Unequal hours. The table treats a consultant’s hour and an employee’s hour as equal output. If you think a consultant needs 25 percent more hours on your business rules (our example), multiply your hours by 1.25 before you read the table: 16 steady hours becomes 20, which crosses the $150 break-even for the lower salary.
The vacancy. A hire saves nothing until they start, and the work you buy meanwhile costs vacancy months x 4.3 weeks x steady weekly hours x rate. Three empty months at 20 hours a week and $150 an hour comes to $38,700 (our example), so budget for it in the year you hire.
To get the hours, pull the last six months of tickets, merged pipeline changes and failed-job alerts, and estimate each one (our rule: six months includes a quarter-end, and people still remember the work). If nobody can produce that list, assign someone to it before you talk to a firm.
When to hire instead of outsourcing data engineering
Hire, or hold off on buying help, in these cases:
- Steady hours sit above your break-even and will stay there for at least a year (our rule: a year covers a full budget cycle and outlasts a single build peak).
- Data is the product. If customers pay for something your pipelines produce, the engineers belong on your payroll.
- The business rules change weekly and live in people’s heads. A firm relearns them at your hourly rate every time its staff rotate.
- Nobody inside can own the work. Without an internal owner, the firm sets its own priorities and accepts its own deliverables, so name the owner before you buy help.
- A contract or regulation bars third parties from the data outright, and no agreement with a firm can satisfy it.
One case argues for outside help at any number of hours: a first data engineer who would work alone. Nobody inside could review their choice of warehouse or orchestration tool, and an early wrong choice is expensive to unwind. Pair that hire with a fractional lead for their first year (our rule), or bring the lead in first.
The hybrid model we recommend most often
We advise one internal owner, external engineers for the build and the peaks, and a senior review every quarter (our rule: often enough to catch a design drifting before it sets). The internal owner can be a senior hire or an existing information technology or analytics lead with at least a quarter of their week formally assigned to it (our rule: with less, the firm ends up setting priorities). That person keeps the priority list, holds admin rights to the cloud and git accounts, approves production changes, and receives the handover.
Seat the owner inside the business they serve. A standalone data engineering team tends to become a ticket queue cut off from the context behind each request, which is the argument in Your Data Team Is Structured Wrong. The firm carries the front-loaded build: a few months of, for example, Terraform for cloud setup, Airbyte or Meltano for ingestion (copying data out of source systems), dbt for modeling, and Airflow or Dagster for orchestration (scheduling and sequencing the jobs), after which one generalist can keep it running.
Set the exit rule now. When external hours spent running and maintaining existing pipelines, not building new ones, pass your break-even for two consecutive quarters (our rule: one quarter can be a spike), hire. If you plan a team of three or more engineers (our threshold), make the lead an employee: the lead spends the week on priorities and review, and that judgment shouldn’t leave with a vendor.
How engagements are priced, and who carries the risk
| Pricing model | Usual purchase type | You carry | The firm carries | Put in the contract |
|---|---|---|---|---|
| Time and materials | Staff augmentation, fractional lead | Every hour billed, including hours spent on the wrong thing | Its staff costs and the quality of the work | A weekly hour cap, a weekly hours report, written approval above the cap |
| Fixed price | Fixed-scope engagement | Change orders: priced requests for anything outside the agreed scope | Overruns on its own estimate (our reasoning: expect a margin for that in the price) | Acceptance tests per deliverable, a change-order rate agreed in advance |
| Monthly retainer | Fractional lead, small staff augmentation | Hours you don’t use | Keeping its people available to you | What happens to unused hours, response times |
| Managed service fee | Managed service | Dependence on one firm for operations | Keeping pipelines running to written service levels | Service levels with fee credits when missed, exit assistance, your own accounts |
| Dedicated team: a fixed group of engineers billed per engineer per month, working only on your account | Staff augmentation at team scale | Management, scope, and the monthly cost whether or not the backlog is full | Replacing anyone who leaves | Named engineers, notice before any substitution |
Use time and materials for discovery and early build, when nobody can yet write the scope down, and move to a fixed price once you can write acceptance tests for the deliverable. Expect a fixed price to cost more for the same work, since the firm has reason to price in its estimate risk (our reasoning), and ask for a time-and-materials estimate of the same scope to compare.
The break-even table works without an hourly rate too. Multiply a monthly fee by 12 and compare it with the loaded cost directly; for a fixed price, divide by the months it covers and multiply by 12.
Onshore, nearshore and offshore teams price differently, and this guide quotes no regional rates. Wherever the engineers sit, require at least four hours a day of overlapping working time (our rule), enough for a daily check-in and a same-day answer when a load fails.
Contracts and who owns the code
This isn’t legal advice; have counsel review any contract before you sign. The ownership term matters most.
Under 17 U.S.C. section 101, a “work made for hire” is either a work prepared by an employee within the scope of employment, or a specially ordered or commissioned work in one of nine listed categories, and then only if the parties expressly agree in a written instrument signed by them.[3] Computer software isn’t among the commissioned categories section 101 lists. Section 204(a) makes a transfer of copyright ownership, other than by operation of law, invalid unless an instrument of conveyance, or a note or memorandum of the transfer, is in writing and signed by the owner of the rights conveyed or their authorized agent.[4] So put the assignment of code, configuration, infrastructure definitions and documentation in the contract, with a license to any of the firm’s pre-existing tools embedded in your systems, and don’t assume paying for code transfers its copyright.
The other terms to request, with our defaults:
- Your accounts. Cloud subscriptions, git repositories and warehouse tenants (your own instance of a hosted service) are created under your billing, with the firm as invited users you can remove the same day. On the last day, every account the firm holds is revoked and its credentials rotated.
- Data at exit. Return in a stated format and deletion of the firm’s copies within 30 days of the end date, confirmed in writing.
- Security in writing. The Federal Trade Commission (FTC) guide for business says to “Put your security expectations in writing in contracts with service providers,” to “verify compliance,” and to “Insist that your service providers notify you of any security incidents they experience.”[5] Our default deadline for that notice is 72 hours.
- Termination and notice. Termination for convenience, meaning either side can end the contract without proving a breach, on 30 days’ notice, with work in progress handed over as it stands.
- Conversion. A stated fee, or none, for hiring one of the firm’s engineers onto your payroll. Avoid a blanket non-solicitation clause that bars you from hiring them at all.
- Restrictions you inherit. Customer and regulator terms usually flow down into the firm’s contract (our reasoning). Check, for example, Health Insurance Portability and Accountability Act (HIPAA) business associate agreements, the Criminal Justice Information Services (CJIS) Security Policy, the International Traffic in Arms Regulations (ITAR), and the data processing agreements in your customer contracts.
Plan the handover before you sign
Write the handover into the statement of work as a deliverable with acceptance tests:
- A runbook per pipeline, the written steps to operate and repair it: what it loads, its schedule, how to rerun a failed run, where it logs, and who owns the source system.
- Architecture decision records: one short page per major choice, with the alternatives rejected and why.
- Infrastructure as code, meaning cloud resources defined in files in your repository (for example with Terraform), so the environment can be rebuilt without the firm.
- Secrets in your own vault, a secrets store you control such as AWS Secrets Manager, Azure Key Vault or HashiCorp Vault, not the firm’s password manager.
Then test it. Before the final payment, your own staff deploy a change, recover a failed load and rotate a credential while the firm watches without touching the keyboard. If any of the three fails, the handover isn’t finished, and the last milestone payment waits until it is. Each component in Building for the Next Engineer, from documentation kept next to the code to a named owner for every pipeline, can go into the statement of work as well.
Questions to ask a data engineering firm
| Question | A good answer sounds like | A bad answer sounds like |
|---|---|---|
| Who exactly will do the work? | Names, their share of time, and a substitution clause | “We’ll staff it from our bench after kickoff” (the bench: engineers between engagements) |
| Whose accounts will this run in? | “Yours. We’ll request access.” | “Ours, to keep things simple for now” |
| What does the handover include? | A list of documents and a test your staff run | “A knowledge transfer session at the end” |
| What would you advise us not to build? | Something specific to drop, defer or buy | Every item in scope is a yes |
| Which platform vendors pay you referral fees or partner credits? | A plain list, including “none” | A change of subject |
| How did you estimate this, and what happens when you’re wrong? | Ranges, written assumptions, a change process | One number with no assumptions |
| Can we see a redacted runbook from another engagement? | One arrives within a week (our yardstick) | “That’s all confidential” |
Ask every firm the same seven questions in the same order, and write the answers into one table. Treat one bad answer as a reason for a follow-up question and two as a reason to walk away (our rule).
Warning signs in a data engineering proposal
- The senior people from the sales meeting aren’t named in the staffing plan, which leaves the firm free to staff your work from the bench.
- The proposal picks a platform before anyone has listed your source systems. Ask what the same design would cost on open-source tools such as PostgreSQL, DuckDB, Meltano, dbt and Airflow, which our comparison of open-source and proprietary data platforms finds cost mostly the compute they run on.
- A proof of concept has no production date and no acceptance tests, and phase two is already quoted.
- Infrastructure gets created in the firm’s accounts “for now,” and moving it later is a migration you pay for.
- Monthly hours climb while the scope stays the same.
- Documentation is scheduled for the last week, when its authors are already rolling off.
Before your first call with any firm, fill in the break-even table with your own salary figure and at least two real quotes. A firm that won’t commit to a rate, a fixed price or a monthly fee you can put in the table hasn’t scoped your work yet.
Updated 2026-10-13: an earlier version gave 30 to 40 hours a week without the math; the math supports it only at $100 an hour.
U.S. Bureau of Labor Statistics, “Database Administrators and Architects,” Occupational Outlook Handbook (retrieved October 13, 2026). https://www.bls.gov/ooh/computer-and-information-technology/database-administrators.htm ↩︎
U.S. Bureau of Labor Statistics, “Employer Costs for Employee Compensation Summary,” June 2026 data (retrieved October 13, 2026). https://www.bls.gov/news.release/ecec.nr0.htm ↩︎
Legal Information Institute, Cornell Law School, “17 U.S. Code § 101 - Definitions,” definition of “work made for hire” (retrieved October 13, 2026). https://www.law.cornell.edu/uscode/text/17/101 ↩︎
Legal Information Institute, Cornell Law School, “17 U.S. Code § 204 - Execution of transfers of copyright ownership,” subsection (a) (retrieved October 13, 2026). https://www.law.cornell.edu/uscode/text/17/204 ↩︎
Federal Trade Commission, “Protecting Personal Information: A Guide for Business” (retrieved October 13, 2026). https://www.ftc.gov/business-guidance/resources/protecting-personal-information-guide-business ↩︎

