What we test for
Typical work
- Features on an application the business already depends on
- Upgrades across major versions, including the packages that did not follow
- Queues, jobs and scheduled work that has to be safe to run twice
- APIs for a mobile app or a front end that arrived later
The coding test
Add a feature with a form request, a queued job and tests, then fix a listing page that loads a hundred models to display ten. Scored on where the logic lands, on whether the job survives being delivered twice, and on how they test what the queue did.
Five interview questions you can reuse
We use questions like these in our soft-skills and technical rounds. Steal them for your own interviews.
A controller has grown to three hundred lines. Where does the logic go?
A strong answer covers: Validation into a form request, the use case into an action or service, data access into the model. A fat controller and a fat model are the same mistake at different addresses, and moving it into a trait only hides it.
What makes a queued job safe to run twice?
A strong answer covers: A unique lock or a key the handler checks before it acts, writes that produce the same result on a second run, no live object graph in the payload, bounded retries, and a failed hook that does something other than log. The broker will deliver twice eventually.
Eloquent is convenient right up until it is not. Where does it bite?
A strong answer covers: Lazy loading inside a loop, accessors that quietly query, and hydrating ten thousand models for a report that wanted one aggregate. Turning lazy loading into an exception in development catches most of it; chunking and the query builder handle the rest.
How do you survive a major version upgrade?
A strong answer covers: The upgrade guide read in full, one version at a time, and the third-party packages checked first, because they are what actually blocks it. Deprecations cleared before the jump, and a test suite you can believe. Without tests the upgrade is a rewrite with a smaller budget.
How do you cache something without serving it stale for a week?
A strong answer covers: Cache the expensive answer, not the page, with a key that contains everything the answer depends on and a lifetime you could defend out loud. Invalidate on the write that changes it. A cache nobody can invalidate is a bug waiting for the quietest possible moment.
One monthly price per developer. Everything in it.
No deposit, no minimum term, no placement fee. You pay one invoice a month for each developer on your team.
Per developer, all-in. Your quote arrives by email with your exact number after you send the brief.
- Developer pay, local payroll and taxes
- Vetting: coding test, soft skills, English
- Free replacement within 90 days
- A direct line to our CEO
What changes the price
- Seniority and role. Senior engineer, tech lead or architect.
- Stack. Some stacks and niche tools cost more to staff.
- Team size. Larger teams get a better monthly rate per seat.
- White-label. Agencies reselling under their brand get partner pricing.
Terms in plain words
- First 2 weeks risk-free: if it isn't working, you don't pay for them
- Month to month, 30 days' notice to end
- No deposit and no minimum number of seats
- Want to hire the developer full-time? Buyout of 3 months' fee in year one, 2 months' after
Questions tech leads ask us
How senior are your Laravel developers?
6+ years of professional Laravel work, with recent production experience.
Can I see the coding test results?
Yes. Every profile card includes the score and the reviewer's notes.
What does it cost?
$6,900 per developer per month, all-in, and flat: the same rate whatever the stack. Your exact quote arrives by email after you send the brief.
Skip the sales rep. Talk to the CEO.
Tell us what you're building, your stack and when you need people. Three matched profiles within 48 hours, and a straight answer on whether we're the right fit.