What we test for
Typical work
- A public API with versioning, validation and errors that mean the same thing everywhere
- Authentication and authorization across services, without copying claims logic
- Replacing controllers with minimal APIs, or deciding not to
- Observability: structured logs, traces and a health check the load balancer can trust
The coding test
Here is an API where a 500 reaches the client with a stack trace, validation is repeated in four handlers, and the auth check is copied into each one. Fix all three with the framework rather than around it, then prove it with an integration test through WebApplicationFactory. Scored on the middleware order and on what they chose not to abstract.
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 piece of middleware works in development and never runs in production. Why?
A strong answer covers: Order, almost always: something earlier in the pipeline short-circuits, usually the static files handler, a redirect, or an exception handler registered after the thing that throws. The pipeline is a list and it runs in registration order, so the question to ask is what came before it, not what is wrong inside it.
Where should validation live?
A strong answer covers: At the edge, once, in a form the client can read as a problem details response. Repeating it in each handler guarantees the rules drift. Model-level validation or a filter catches the shape; the domain still owns the rules that are about meaning rather than format, and those belong behind the API.
How do you handle authorization that depends on the resource, not the role?
A strong answer covers: A policy with a requirement and a handler, so the rule has a name and a test, instead of an if-statement inside the endpoint. The handler can load the resource and decide. The thing to avoid is a claim stuffed with ids, which stops being true the moment somebody changes a permission.
What does WebApplicationFactory buy you over a unit test?
A strong answer covers: It runs the real pipeline: routing, model binding, filters, serialization and the error handling. Most bugs in a web layer are in exactly those, and none of them exist in a unit test of a controller method. It is slower, so it covers the paths that matter rather than every branch.
A client reports intermittent 401s. Where do you start?
A strong answer covers: Clock skew between the issuer and the service, a cached signing key that rotated, and token lifetime versus how long the client holds it. Then whether the service is behind something that strips or rewrites the Authorization header. Logging the exact validation failure rather than returning a bare 401 turns this from a week into an afternoon.
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 pool as your .NET developers?
Yes, scored on a different test. This one is about the web layer: pipeline order, model binding and auth. The .NET test is about the data access and the domain underneath it.
Minimal APIs or controllers?
Either, and we ask them to defend the choice. A senior will tell you minimal APIs are cheaper to read until the filters start repeating, and that mixing the two in one codebase is what actually hurts.
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.