What we test for
Typical work
- Turning a folder of saved queries into models with owners and tests
- The incremental model that quietly stopped picking up late-arriving rows
- One definition of a metric, agreed once, used by every dashboard
- A CI job that runs the models against a sample before anything reaches production
The coding test
Two dashboards report different revenue for the same month. Trace both back to the model where they fork, then write the test that would have caught it the day it was introduced. Scored on the test, not on the fix.
Five interview questions you can reuse
We use questions like these in our soft-skills and technical rounds. Steal them for your own interviews.
How do you know an incremental model is still correct?
A strong answer covers: By testing it against a full refresh on a window, not by trusting the row count. The classic failure is a filter on the loaded-at date that misses rows arriving late, so the table is never wrong enough to notice. Seniors say what the late window is, and that the model should be cheap enough to rebuild when it matters.
Where should a metric be defined?
A strong answer covers: Once, upstream of every tool that reports it, so the number in the BI tool, the one in the email and the one in the product all come from the same model. A metric defined in a dashboard is a metric that will disagree with another dashboard within a quarter. The exception is genuinely exploratory analysis, which should not be the thing anyone reports from.
What do staging, intermediate and mart models each own?
A strong answer covers: Staging renames and casts one source and does nothing else, so the vendor's field names stop leaking downstream. Intermediate holds the joins and the business logic nobody wants to repeat. Marts are shaped for the question they answer. The test of the split is whether a new source costs one staging model or a rewrite.
How do you handle a dimension that changes over time?
A strong answer covers: A snapshot with the key and the valid-from and valid-to columns, so a fact can be joined to the version that was true at the time. Overwriting it makes last year's report change this year, which is the kind of bug finance finds before engineering does.
Which tests actually earn their place?
A strong answer covers: Uniqueness and not-null on every key, relationships on the joins that matter, and a freshness check on each source. After that, tests of business invariants: a total that must reconcile, a status that cannot go backwards. Adding accepted values to a column nobody reads is how a suite gets slow without getting safer.
One invoice a month.
The shortlist is free. Pick the contract that suits you: monthly, six months or twelve.
What every seat includes
- Contracts, payroll and compliance handled
- Vetting: coding test, soft skills, English and a level check
- Free replacements: unlimited on 12+ months, 2 on 6 months, 1 on monthly
- A direct line to our CEO
Terms in plain words
- Monthly, six months or twelve, your choice
- Your rate is locked for the whole contract on 6 and 12+ months
- Monthly ends with 30 days’ notice
- Want to hire the developer full-time? The buyout is set in the contract from day one
Questions tech leads ask us
Is this the same as your data engineering role?
Same role, different test. Analytics engineering is the warehouse and the models on top of it; the data engineering test is about the pipelines that fill it. Many people do both, and the profile says so.
Do they write SQL or Python?
SQL first, and we score how readable it is, because the model is read far more often than it is written. Python where dbt supports it and it genuinely helps.
Skip the sales rep. Talk to the CEO.
Tell us what you're building, your stack and when you need people. Three vetted profiles per role within 48 hours of the call, and a straight answer on whether we're the right fit.