Hire a pro

SQL / Database Developer

The engineer who reads the execution plan. Schema design, indexing, query rewriting, migrations that run online, and a reporting layer that gives two people asking the same question the same number.

Shortlist
Within 24 hours
Deployed
Inside 2 weeks
Seniority
5+ years, production databases
Rate
Flat monthly
Wrong fit
Replaced, not billed twice
What they do

Almost always the cheapest performance work available.

A week of database work routinely does more for response time than a quarter of application optimisation, because the slow part is usually one query nobody has looked at.

One change at a time, measured before and after. Any other order and you cannot say what helped.
Day to day

Reads execution plans

Not guesses at them. The plan says which index was used, where the scan happened and where the row estimate was wrong.

Day to day

Adds the index that is missing

And removes the four that are never used, because every index makes writes slower and somebody added them during a panic in 2021.

Day to day

Rewrites the query

Often the fix is not an index. It is a correlated subquery that should have been a join, or a function on a column that made an index unusable.

Day to day

Runs migrations without a maintenance window

Online index builds, batched backfills, and a change split into steps so that nothing holds a lock for long.

Day to day

Builds the reporting layer properly

Read replicas and defined views, so analysts are not querying production and inventing their own definition of revenue.

What they know

The tools, grouped by what they are for.

Nobody on the bench knows all of this. We shortlist against what your problem actually needs, and tell you where the gaps are.

Engines
PostgreSQLSQL ServerMySQLOracle
Performance
Execution plansIndex designPartitioningQuery rewriting
Change
Online migrationsFlyway / LiquibaseBatched backfillsRollback plans
Reporting
Read replicasMaterialised viewsETLData definitions
Operations
Backup and restore drillsReplicationConnection pooling
How we vet

Four exercises, all of them from real work.

No algorithm puzzles. Every exercise below is a task this role does in a normal week, and we watch the method more than the answer.

A slow query with a real plan

Eight seconds on a table with forty million rows. We watch whether they read the plan before proposing anything.

Most propose an index before looking.

Design an online migration

Add a non-null column to a large busy table with no downtime. The steps, in order, with the rollback.

Index review

A table with eleven indexes. Which are redundant, which are unused, and what does removing them cost.

Restore drill

When did you last restore a backup. An uncomfortable number of experienced people have never tested one.

This question alone is revealing.
Interview signals

Four questions for when you interview them yourself.

You interview every candidate we put forward, so these are yours to use. They separate somebody who has run this in production from somebody who interviews well.

Ask: this query is slow. What is your first step?
A strong answer

Gets the execution plan against realistic data volume. Will not propose a fix before seeing where the time actually goes.

A worrying answer

Suggests an index immediately. Sometimes right by luck, and it teaches the team that database work is guesswork.

Ask: how do you add a column to a large table in production?
A strong answer

In steps. Add nullable, backfill in batches with pauses, add the constraint, then start writing to it. Knows which of these locks and for how long on the engine in question.

A worrying answer

ALTER TABLE in one statement. Fine on a small table, and a multi-minute outage on a big one, discovered at the worst possible moment.

Ask: when is denormalisation the right answer?
A strong answer

When a read pattern is proven expensive and the duplication has a clear owner keeping it consistent. Treats it as a considered trade rather than a default.

A worrying answer

Denormalises early for speed. Now there are two copies of the truth and no process for keeping them equal.

Ask: how do analysts get their numbers?
A strong answer

From a replica, through defined views, with the definitions written down. Has seen what happens when two dashboards disagree about revenue.

A worrying answer

They query production directly. It is a performance problem and a correctness problem at the same time.

Honestly

When this is the right hire, and when it is not.

Ask for this when

Good fit

  • The application is slow and everyone assumes it needs a bigger server.
  • A schema that has grown by accretion and now fights every new feature.
  • Reporting numbers that disagree depending on who ran them.
Ask for something else when

Poor fit

  • You need a data engineer building pipelines and warehouses. Different job.
  • You want a DBA to run the servers. We build and fix; hosting is usually managed.
  • The real problem is the application asking for data badly, and you will not change it.
Questions

Before you ask for a shortlist.

No, and we prefer not to have it. A restored copy with realistic data volume is enough for almost all of this work. We will ask for read access to query plans and statistics, which is a much smaller thing to grant.

Then we say so, and roughly a third of the time that is the answer. Slow queries are often a symptom of an application asking for data badly rather than a database serving it badly. Knowing which is worth the week on its own.

Yes, and the honest answer is usually Postgres unless you have a specific reason. What we will not do is recommend a migration to solve a problem that an index would fix.

Next step

Describe the problem, not the job title.

Thirty minutes, and a shortlist within a day. If a sql / database developer is the wrong hire for what you described, you will hear that instead.