Hire a pro

Full Stack Developer

An engineer who can carry a feature the whole way. Schema change, API, interface, deploy, and the log they check afterwards. Not two specialists in one body, but one person who does not need a meeting to change both sides of a contract.

Shortlist
Within 24 hours
Deployed
Inside 2 weeks
Seniority
4+ years across both halves
Rate
Flat monthly
Wrong fit
Replaced, not billed twice
What they do

The value is in the handoff that does not happen.

Splitting a feature between a front end and a back end engineer costs two specifications, two queues and one argument about whose fault the bug is. One person skips all three.

Four steps, one person, no queue between them. That is the entire argument for the role.
Day to day

Changes both sides of a contract at once

A new field is a migration, a serializer, a type and a form control. One commit, one review, one deploy.

Day to day

Writes the migration carefully

Because they are the one who will be awake when it runs against production data, and they know the rollback matters more than the change.

Day to day

Builds the interface from the real data

Not from a mock that always returns the happy case. Empty states, slow states and error states get built because they get seen.

Day to day

Owns the deploy

Pushes it, watches it, and fixes it. Nobody is paged who has to read a handover document first.

Day to day

Keeps the seam honest

The temptation in this role is to put logic wherever it is easiest today. A good one holds the line on where things belong.

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.

Front end
ReactNext.jsTypeScriptTailwindVue
Back end
Node.jsPythonLaravel.NETGo
Data
PostgreSQLMySQLRedisPrismaMigrations
Delivery
DockerCI/CDVercelManaged PostgresObservability
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.

Add a field, end to end, in two hours

A real repository, a real migration, a real form. We are watching the order they do it in and whether the rollback exists.

A quarter never write a down migration.

Read someone else’s code and find the bug

A pull request with a subtle issue in it. Most engineering time is reading, and this is the part that interviews usually skip.

Explain a technical trade to a product owner

Two approaches, one cheap and one right, explained without jargon so that a non-engineer can actually make the decision.

The seam question

Where does this logic belong and why. We are listening for a principle rather than a habit.

A common failure is "wherever is quickest".
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: where does validation live in your applications?
A strong answer

Says both, and explains the split. Client side for the person typing, server side because the client cannot be trusted, and names which one is the real one.

A worrying answer

Says the front end handles it. That is an application waiting to be posted to directly, and it will be.

Ask: walk me through the last migration you ran against production.
A strong answer

Talks about the backfill, the lock, the rollback and the order relative to the deploy. Knows that adding a column and using it are two releases, not one.

A worrying answer

Describes running a migration and deploying at the same time. It works until the table is large or the deploy is slow, and then it does not.

Ask: how do you decide what goes in the API response?
A strong answer

Thinks about the consumer, over-fetching, and how the shape will change. Has an opinion about returning the whole object versus what the screen needs.

A worrying answer

Returns the database row. Convenient today, and a breaking change the first time the schema moves.

Ask: what did the last thing you built do when the network was slow?
A strong answer

Has an answer involving optimistic updates, a loading state that is not a spinner over the whole page, and what happens on a failed retry.

A worrying answer

Has not thought about it, which means it was only ever tested on a fast connection next to the server.

Honestly

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

Ask for this when

Good fit

  • Small team, and a feature keeps stalling between two people.
  • You need somebody who can own a product surface rather than a layer.
  • The work is a normal web application rather than a specialist problem.
Ask for something else when

Poor fit

  • You need deep specialism on one side: a rendering engine, a distributed system.
  • You already have both halves staffed and want throughput, not ownership.
  • The codebase is large enough that nobody can reasonably hold both ends.
Questions

Before you ask for a shortlist.

Sometimes, and we screen for it. The honest version is that a good full stack engineer is genuinely strong on one side and competent on the other, and knows which is which. We will tell you which way round the person you meet leans.

They can build from a design and will make sensible choices without one, but they are not a designer. If the interface is the product, pair them with a designer rather than hoping.

Best under about eight engineers, where one person owning a surface is a feature rather than a bottleneck. Above that the boundaries usually want specialists.

Next step

Describe the problem, not the job title.

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