Hiring guide · Business Intelligence Dashboards

Hire SQL Developers: Rates, Vetting and Engagement Models

The short answer

Expect $25 to $70 an hour offshore and $95 to $180 an hour onshore for a SQL developer who can model data, tune queries and own a warehouse, or roughly $130,000 to $170,000 base for a senior in-house hire in the US before benefits and overhead push that up. Those are the numbers we quote and the offers our clients tell us they are competing against, not survey data. For a first BI build, an agency or a staff augmentation pod usually beats a solo freelancer, because you need dimensional modeling, dbt and the BI layer covered at once and very few individuals do all three well.

What a SQL developer actually does, and where hiring goes wrong

It is Tuesday morning. The executive revenue dashboard in Power BI takes 41 seconds to render, and when the CFO finally sees the number it is about 3 percent off what Stripe says. Someone opens the underlying view and finds it is a view on a view on a view, seven layers deep, and at the bottom there is a join to a subscription table that silently doubles every row for any customer who ever changed plans. Nobody knows when that broke. Nobody can prove it was ever right.

That is the work nobody was doing. A SQL developer on a business intelligence project is not there to write SELECT statements. They are there to take raw application tables, Fivetran or Airbyte landing schemas and event streams, and turn them into a model a BI tool can query fast and correctly: fact tables at a declared grain, dimensions that hold their history, metric definitions that survive contact with a finance team. Then they keep the thing fast as it grows from two million rows to two hundred million.

Hiring goes wrong in three predictable ways. First, teams hire for syntax. A candidate writes a clean window function and a common table expression on the screen, gets the offer, and then produces the seven-layer view stack above, because writing a query and designing a model are different skills. Second, teams hire an analyst and expect an engineer. Someone who is excellent at ad hoc questions in Metabase may have never owned an incremental refresh, a backfill or a schema migration. Third, teams hand it to a backend engineer who "knows SQL" and then wonder why the dashboard is built on a flat 90 column table that Power BI chokes on.

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

In-house hire. Right when you have at least two years of continuous data work ahead, sensitive data you cannot move, and someone who will own the semantic layer as a permanent asset. The honest downside: this is a narrow market and the search takes real time, and a single SQL developer with no peer to review them will drift. There is nobody to catch the fanout join. If you go in-house, budget for either a second data person or an external review cadence.

Freelancer. Right for bounded work with a clear finish line. Tune the ten worst queries. Migrate SSRS reports to Power BI. Rebuild one dashboard properly. The downside is ownership: when they leave, the model has no maintainer, and most freelancers are strong at either modeling or the BI tool, rarely both plus warehouse operations. Freelancers also work in gaps between clients, so a two week job can stretch to six.

Agency. Right when you need modeling, pipeline, BI and documentation delivered as one thing, and you want a single accountable party when the number is wrong. You pay more per hour than a freelancer and you should. The trap is renting the model forever: write knowledge transfer into the contract, insist the dbt project and the warehouse live in your accounts, and require a walkthrough your own team can follow.

Staff augmentation. Right when you have an internal lead, a data lead or a technical founder, who can direct the work but has no hands free. The augmented developer plugs into your standup, your repo, your ticket queue. The downside is that this model needs your direction. Without a lead it degrades into vague tickets and a developer quietly building whatever seems reasonable, which is how you get three different definitions of active customer.

What SQL developers cost

These are the ranges we quote in Digital Heroes delivery and the offers our clients tell us they are competing against. Rates move with region, seniority and how much of the stack the person owns, so treat these as bands, not price tags.

  • India and South Asia, mid level, comfortable with dbt and a cloud warehouse: roughly $25 to $45 an hour through an agency.
  • Senior offshore who owns dimensional modeling and query tuning end to end: roughly $45 to $70 an hour.
  • Eastern Europe and Latin America: roughly $45 to $85 an hour.
  • US, UK and Australia contract senior: roughly $95 to $180 an hour, with Snowflake and BigQuery cost optimization specialists at the top of that band.
  • Open marketplace freelancers: $20 to $60 an hour, with the widest quality spread of any option here.
  • US in-house base salary, from the offers clients show us: roughly $90,000 to $120,000 mid level, $130,000 to $170,000 senior.

The in-house number is the one people underestimate. Base is not the cost. Payroll taxes, health coverage, equipment and paid time off push the real number well above base, and the planning multiple we use when helping clients compare options is 1.25x to 1.4x depending on geography and benefits. On top of that: the recruiter fees our clients quote us land around a fifth of first year salary, and a new hire needs six to ten weeks before they are productive on your schema, because your schema is undocumented and the tribal knowledge lives in Slack. Add tool seats too, a dbt Cloud seat, Power BI Premium or Fabric capacity, and the warehouse credits their queries burn while they learn.

Which points at the number nobody puts in the budget: warehouse spend. A badly modeled Snowflake or BigQuery setup can cost more per month than the developer does. We have taken over projects where a single dashboard filter fired a full scan of an unpartitioned 400 million row table every time someone changed a date range. A SQL developer who understands partition pruning, clustering and result caching often pays for their own rate out of the credit line alone.

How to vet a SQL developer

Skip the trivia. Test the four things that actually break.

Can they read an execution plan? Paste real output: EXPLAIN (ANALYZE, BUFFERS) from Postgres, or an actual plan from SQL Server. Ask what is wrong. A good answer names the specific thing: a nested loop with a wrecked row estimate, a hash join spilling to disk, a sequential scan because the predicate is wrapped in a function so the index is not sargable, a key lookup that a covering index would remove. A weak answer says "it needs an index."

Do they think in grain? Ask: here are orders, order_items, refunds and a subscriptions table, design the fact table for a revenue dashboard, what is the grain and why. Listen for the questions they ask before answering: partial refunds, currency, whether a cancelled then reinstated subscription counts, whether the finance team recognizes revenue on charge or on delivery. Someone who starts writing SQL immediately has never had a CFO disagree with them.

Do they know what history does to a dimension? Ask what happens to last quarter's dashboard when a customer moves sales region. If the answer is not "depends on whether that dimension is type 1 or type 2, and what the business wants to see," they have never been burned by slowly changing dimensions, which means they will burn you.

Warehouse specifics, matched to your stack. Snowflake: clustering keys, warehouse sizing, result cache, why SELECT * on a wide table is expensive on columnar storage. BigQuery: partitioning and clustering, partition pruning, why joining on a non-partitioned key scans the whole table, slot contention. Postgres serving BI directly: materialized views, refresh strategy, and when to admit you need to move off. On dbt, ask about incremental models and late arriving records, unique_key behavior, when a full refresh is required, and which tests they write. The best answer to "how would you catch a fanout join that silently doubles revenue" is a uniqueness test at the declared fact grain plus a reconciliation count against source.

The take-home. Do not ask for a dashboard. Give them a dump of five or six deliberately messy tables: nullable foreign keys, duplicate rows from a connector resync, orders in three currencies, a soft delete column, timestamps in UTC while the business reports in local time. Give them one business question, for example monthly net revenue by region for the last 24 months split by new versus returning. Three hours. Pay for it.

Grade the process, not the output. Did they ask questions before writing anything? Did they write down their definition of net revenue? Did they find the duplicates, and can they tell you how they found them? Is there a sanity check reconciling their total back to a source table? Are the CTEs named for what they contain rather than cte1 and cte2? Did they notice the currency problem at all, because most candidates do not. For a portfolio review, ask them to walk through a model they built and name one decision they would make differently now, plus the runtime or cost before and after. People who have shipped have numbers.

Red flags

  • "I would just add an index." Ask instead: which columns, in what order, and show me the plan after. And what does that index cost you on writes and on storage?
  • Views stacked on views with no materialization strategy. Ask instead: how many layers deep do you go before you materialize, and what decides it, freshness requirement or query cost?
  • Never mentions money. Ask instead: the last time you cut warehouse spend, what exactly did you change and by how much? Candidates who only worked where compute felt free will design like compute is free.
  • Cursors and row-by-row loops for set operations, or pulling data into pandas because they cannot express it in SQL. Ask instead: when do you deliberately leave SQL, and why?
  • Cannot define a metric. Ask instead: how do you define an active customer, and who signs off on that definition? If they think that is somebody else's job, your dashboards will keep disagreeing with each other.

When to hire a SQL developer, and how Digital Heroes staffs it

Do not hire this role if your real problem is that data is not arriving. Broken connectors, orchestration and API ingestion are a data engineer's job, and hiring a modeler to fix Airflow wastes both of you. Do not hire this role if the real problem is that nobody has decided what to measure. That is an analyst or an ops lead with business authority. And if you have five employees and three tables in Postgres, point Metabase at a read replica and spend the money on something else.

Hire a SQL developer when you have a warehouse, more than a handful of source systems feeding it, and dashboards that are either slow, expensive or quietly wrong. That combination does not fix itself and it gets more expensive every month you leave it.

Digital Heroes staffs this as a pair rather than a lone hire. A modeling-led SQL developer owns the fact and dimension design, the dbt project and query performance, and a part-time BI specialist handles the last mile in Power BI, Looker or Metabase, because the skills diverge at that boundary. We start with a two to three week paid scoping block: audit the existing model, rebuild one real dashboard end to end so you can see the working method, and set a cost and runtime baseline you can hold us to. Everything lives in your repo, your warehouse and your accounts from day one, and the models, tests and documentation are yours whether you extend the engagement or not.

Research & sources

The evidence behind this guide

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

  1. 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) →
  2. The right combination of digital transformation actions can unlock as much as US$1.25 trillion in additional market capitalization across Fortune 500 companies, while the wrong combinations put more than US$1.5 trillion at risk; companies with all three core factors (strategy, aligned technology, and change capability) saw a 5% market-value lift relative to peers. Source: Deloitte (2023) →
  3. The NRF discontinued its long-running annual shrink report, stating that a broad study of retail shrink 'is no longer sufficient for capturing the key challenges and needs of the industry' - important context that qualifies how POS/shrink benchmarks should be cited going forward. Source: Retail Dive (2024) →
  4. Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
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 SQL developer?
Expect roughly $25 to $70 an hour offshore and $95 to $180 an hour onshore for someone who can model data, tune queries and own a warehouse. In-house in the US, senior base tends to land around $130,000 to $170,000 in the offers our clients show us. These are the bands we quote in Digital Heroes delivery, not survey data, and they move with region, seniority and how much of the stack the person owns.
Should I use a freelancer or an agency for a SQL developer?
Use a freelancer for bounded work with a clear finish line, such as tuning your ten worst queries or migrating a set of reports. Use an agency when you need dimensional modeling, dbt and the BI layer delivered together with documentation and one accountable party. The practical difference is ownership: a freelancer leaves and the model has no maintainer, while an agency should hand over a tested dbt project your team can run.
How do I test a SQL developer before hiring?
Give a paid three hour take-home with five or six deliberately messy tables: duplicate rows from a connector resync, mixed currencies, soft deletes, UTC timestamps against local reporting. Ask one business question such as monthly net revenue by region split by new versus returning. Grade whether they asked questions first, wrote down their metric definition, found the duplicates and reconciled their total back to source, not just whether the number came out.
How long does it take to hire a SQL developer?
An in-house search realistically runs eight to fourteen weeks from job post to start date, plus six to ten weeks of ramp before they are productive on your undocumented schema. A vetted agency or staff augmentation developer can start in one to two weeks. If your dashboard problem is already costing you decisions or warehouse credits, the ramp math usually favors starting with an external pod and hiring in parallel.
What is the difference between onshore and offshore SQL developer rates?
Onshore contract seniors in the US, UK and Australia typically run $95 to $180 an hour, while comparable offshore seniors in South Asia run about $45 to $70 and Eastern Europe or Latin America about $45 to $85. The gap is labour market, not skill ceiling. Offshore works well for modeling and warehouse work, and the real cost is timezone overlap for the stakeholder conversations where metric definitions get settled.
Who owns the code, models and data if I hire an agency?
You should own all of it outright, and it should live in your repo, your warehouse account and your BI tenant from day one, not be handed over at the end. At Digital Heroes the dbt project, SQL models, tests and documentation are yours whether you extend the engagement or not. If an agency hosts your warehouse or dbt project in their own account, treat that as a control problem and negotiate it out before signing.
Do I need a SQL developer or a data engineer?
If data is not arriving reliably, broken connectors, orchestration, API ingestion, that is a data engineer. If data is arriving but the dashboards are slow, expensive or disagree with each other, that is a SQL developer who can do dimensional modeling. Many teams hire the wrong one and then wonder why their new engineer is fixing Airflow instead of the revenue number.
Can one SQL developer handle both the data model and the dashboards?
Some can, but the skills diverge at the BI boundary, and a strong modeler is often mediocre at DAX measures or LookML explores and vice versa. We usually staff a modeling-led SQL developer full time plus a part-time BI specialist for the last mile. If you must have one person, test them on both sides in the interview rather than assuming the second skill exists.
What does an in-house SQL developer cost beyond salary?
Payroll taxes, benefits, equipment and paid time off push real cost well above base, and the planning multiple we use with clients is 1.25x to 1.4x depending on geography. Add a recruiter fee, which in the offers our clients show us lands around a fifth of first year salary, six to ten weeks of ramp before real output, and tool seats such as dbt Cloud, Power BI capacity and warehouse credits. Budget the credits seriously, because a poorly modeled warehouse can cost more per month than the person.
How does a custom dashboard handle compliance requirements like SOC 2, HIPAA, or GDPR?
A custom build gives you direct control over the controls auditors ask about: single sign-on, role-based access, audit logs, encryption, data residency, and deletion workflows. For HIPAA specifically, you can keep protected health information inside your own cloud account under a business associate agreement with your host instead of trusting a third-party BI vendor's handling. Expect compliance work to add 2 to 4 weeks and roughly 10 to 15 percent to the build, so raise it in the first conversation, not after design is done.
When is it time to move from Excel reports to an actual dashboard?
The reliable signal is when someone spends more than a few hours a week copying data between spreadsheets, or when two teams arrive at a meeting with different numbers for the same metric. At that point the spreadsheet is acting as an unversioned, single-person database, and a costly error is a matter of time. A first dashboard that automates those recurring reports typically pays for itself in recovered hours within the first year.
If we move off Power BI or Tableau later, do we lose our historical data and reports?
Your raw data is safe because it lives in your source systems or warehouse, not inside Power BI or Tableau. What you lose is the logic layered on top: DAX measures, calculated fields, and report layouts all have to be rebuilt, and that rebuild is the real switching cost. Protect yourself now by keeping transformations in dbt or in warehouse views instead of inside the BI tool, so a future migration only replaces the screens.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
How do I vet a software development agency before signing a contract?
Ask to speak with two past clients whose projects resemble yours in size and industry, and ask exactly who will write your code, since some agencies sell senior faces and deliver junior or subcontracted hands. Demand a written specification with acceptance criteria before any fixed price, and check that their portfolio links to products that are actually live. An instant quote given without questions about your workflows is the clearest warning sign there is.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
We already pay for Microsoft 365. When does building custom actually beat Power BI?
Keep Power BI for internal reporting; at $14 per user per month for Pro it is hard to beat for employee-facing analytics. Custom wins in three cases: you are showing dashboards to customers, since embedded Power BI is priced on capacity and gets expensive fast, you need a fully white-labeled experience inside your own product, or your team keeps fighting the tool to support a specific workflow. Most companies we build for keep Power BI internally even after launching a custom customer-facing dashboard.
How do I vet an agency or developer for a BI dashboard project?
Ask them to walk you through the data model of a past project, not a portfolio of pretty charts, because dashboard failures are almost always data modeling failures. Good answers mention specifics like star schemas, dbt, incremental refresh, and how they handled a source schema change after launch. Then ask for a fixed-scope discovery phase with a written data audit as the deliverable, so you judge their real work for a small spend before committing to the build.
What usually breaks after a dashboard launches, and who fixes it?
Upstream changes break dashboards, not the dashboard code itself: a source system renames a field, an API version gets retired, or someone edits a spreadsheet column a pipeline depends on. Budget 15 to 25 percent of the build cost per year for maintenance and monitoring, and agree on response times for broken data before launch. A build quote with no maintenance plan attached is a warning sign, because every connected source will change eventually.
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?