Placing Shopify + AI developers, see open talent

Hiring

Full-Time vs Hourly Shopify Developers: Which One Actually Costs Less

Hourly looks cheaper on paper. Here is the point where it stops being cheaper, and how to match the hiring model to the work you actually have.

Code Elevator TeamEngineering & Growth, Code Elevator
Published ·Updated ·5 min read
Shopify Developers
Contents

Hourly looks cheaper. For about six weeks, it is.

Then you send the fourth change request, and the developer who built your cart has moved on to another client. The person who picks it up spends two days reading code before writing any. You pay for those two days. You pay for them again next time.

The real question is not the hourly rate. It is how often your store changes, and how much of the answer lives in one person's head.

The four models, side by side

ModelWhat you are really buyingFits whenWhere it hurts
Full-timeContext and availabilityThe store changes every weekYou pay for the quiet weeks too
HourlyFlexibilitySmall, separable jobsRestart cost on every handover
Fixed priceCertaintyThe spec genuinely cannot moveEvery change becomes a negotiation
Part-time retainerA reserved slice of one person's weekSteady small changesWasted if you go quiet for a month

Full-time: you are buying memory, not hours

The value of a full-time developer is not that they write more code. It is that they remember why the code is the way it is.

Why the shipping rules have an odd exception for the Channel Islands. Which app broke the product page last spring. Why the theme has a hand-built section instead of the one that shipped with it. Why nobody touches the discount logic in November.

None of that is written down. It gets rebuilt from scratch every time it walks out of the door, and you pay for the rebuilding without ever seeing a line item for it.

If your store changes most weeks, full-time usually wins on total cost even at a higher headline rate, because you stop paying that tax.

Hourly: flexible, and quietly expensive at scale

Hourly is the right answer for work that is small and self-contained. Fix a broken discount rule. Build one landing page. Swap a payment provider.

It gets expensive in a way most people never budget for. Every switch of person costs ramp-up time, and every ramp-up is billed at the same rate as the actual work. Two developers at a low rate can easily cost more than one at a high rate once you count handovers.

A quick test for whether hourly has stopped working

If you have written the same background explanation to a new person more than twice, hourly is no longer the cheap option. You are now paying repeatedly for knowledge you already bought.

There is a second sign, and it is worse: you start avoiding small improvements because explaining them is more effort than living with the problem. That is a real cost and it never appears on an invoice.

Fixed price: fine, until the spec moves

Fixed price is safe for exactly one kind of job. The kind where you can write down what done means before anyone starts. A migration with a known product count. A theme build against a signed-off design. A one-off integration with documented endpoints on both sides.

It is a poor fit for anything discovery-shaped. The moment scope shifts, the relationship shifts with it. You stop discussing whether a change is right for the store and start arguing about whether it was in scope. That argument costs more than the change would have, and it sours everything after it.

If you do go fixed price, agree in advance how changes are priced. Not whether they will happen. They will.

Part-time retainer: what most stores actually need

Most stores do not need a developer every day. They need one reliably on Tuesday.

A retainer buys a fixed slice of one person's week. The same person, so context stays put, without paying for a full week you cannot fill. For a store doing steady work, product launches, seasonal campaigns, app changes, small fixes, this is usually the least wasteful arrangement anyone offers you.

The thing to check before signing one: does unused time roll over, and is the person named? A retainer that quietly reassigns you to whoever is free has none of the benefit and all of the cost.

A one-question test

Count the decisions your store needs in a normal month. Not tasks. Decisions, where somebody has to weigh two options and pick one.

  • Fewer than five: hourly, or fixed price if the job is fully specified.
  • Five to twenty: retainer. You need continuity more than volume.
  • More than twenty: full-time, or an agency team. You are already paying restart costs you have stopped noticing.

This test works better than budget-based advice because it measures the thing that actually drives cost, which is how often somebody has to understand your store in order to do their job.

The costs nobody puts in the spreadsheet

  • Ramp-up. Every new person needs time in the codebase before they are useful. Budget it as real hours, because it is real hours.
  • Review. Somebody has to check the work. If that somebody is you, it is your time, and your time is not free.
  • Waiting. A developer with no working-hours overlap turns a five minute question into a lost day.
  • Ownership. With nobody responsible for the store between projects, small problems sit until they are large ones.
  • Rework. A cheaper developer who needs three rounds of revision on every task is not a cheaper developer.

What to put in the agreement, whichever model you pick

  • Code is yours, in your repository, from the first commit rather than at the end.
  • A named person, not a pool, with notice required before they change.
  • How change requests are priced, agreed before the first one.
  • What happens to work in progress if either side stops.
  • Access to the Shopify store under your own account, never theirs.

None of this is unusual to ask for. How somebody reacts to being asked is informative on its own.

When you should not hire a developer at all

A lot of what people hire developers for does not need code. Changing theme colours, adding pages, setting up discounts, connecting most apps: that is admin work in the Shopify dashboard, and a developer is an expensive way to do it.

Hire a developer when you need something the dashboard cannot express. Custom logic at checkout. A real integration with your warehouse or accounting system. Performance work on a theme that has collected too many apps over too many years. Data moved between systems without a person retyping it.

If your whole list is dashboard work, keep your money and hire a Shopify-literate assistant instead. You will get more done per pound and you will not need us.

How we would look at your situation

Send us the list of what you want done over the next three months. We will tell you which model fits, including when the answer is that you do not need to hire anybody. That conversation is free and takes about twenty minutes.

If it turns out you do need people, we match you with vetted Shopify developers who have shipped stores at your size, and you keep the same person for the length of the engagement so the context stays where it belongs.

Talk to us about your Shopify roadmap.

Hire for this

Need this built right? Browse Talent, matched in 48 hours.

Browse Talent
Code Elevator Team
Engineering & Growth, Code Elevator

Articles from the Code Elevator team, the engineers and specialists who vet developers, ship client work, and write up what they learn along the way.

More from Code
Before you decide

Four clients, on camera.

Client video

Why he brought his development work to Code Elevator.

MikePlays here
Keep reading

One useful piece a month, no more than that.

What we learned building and hiring for this work. No newsletter filler.

Get started

Reading about it is step one. Building it is step two.

Hire a pre-vetted engineer who has shipped work like this before. Matched within 48 hours.

We reply within an hour during our working day in India and the UAE.

Chat with our team