Skip to content
  1. Home
  2. Hire
  3. Back-End
  4. .NET and C#
Hire developers

Senior .NET and C# developers: 3 vetted profiles in 48 hours

Senior C# engineers with 6+ years, for the services an enterprise actually runs on: ASP.NET Core, EF Core, and the migration off .NET Framework that keeps getting postponed.

What we test for

.NET 8 and C# 12ASP.NET CoreEntity Framework CorexUnit and NSubstituteSQL Server and PostgreSQLAzure App Service, Functions and Service BusClean architecture, where it earns its keep

Typical work

  • HTTP and gRPC services behind a front end that is not going to be rewritten
  • Moving a .NET Framework application to .NET 8 one project at a time
  • EF Core queries that stopped scaling, and the N+1 hiding behind them
  • Background work: hosted services, queues and scheduled jobs

The coding test

An ASP.NET Core endpoint times out under load. Make it fast without changing its contract; the cause is in the data access, not the controller. Then add a second endpoint with validation, a unit test and an integration test against a real database. Scored on whether they read the SQL that EF generated before touching any code.

Go deeper

Inside .NET and C#

The ones people search for by name get a page of their own, with their own coding test and interview questions.

For your interview loop

Five interview questions you can reuse

We use questions like these in our soft-skills and technical rounds. Steal them for your own interviews.

  1. A LINQ query passes its tests and brings the database down in production. What happened?

    A strong answer covers: Almost always the query ran in memory: an AsEnumerable in the middle, a client-side evaluation EF warned about, or a chain of Includes that fanned out into a cartesian product. The answer starts with reading the generated SQL, not with adding an index. A senior will also ask which columns were actually needed, because the fix is usually projecting into a DTO instead of materialising whole entities.

  2. When is async/await on a controller doing nothing for you?

    A strong answer covers: When the work underneath is CPU-bound or synchronous. Wrapping it in Task.Run moves the block to a different thread and charges you the switch for it. async pays when a thread would otherwise sit waiting on I/O. The tell is a codebase where every method is async because a template made it so, including the ones that only touch memory.

  3. When is a scoped service the wrong lifetime?

    A strong answer covers: When a singleton captures it. The captive dependency keeps the first scope alive for the life of the process, so the next request reads state from a DbContext that should have been disposed, and the bug looks like data corruption rather than configuration. The compiler will not catch it; scope validation on the host builder will, if it is switched on.

  4. A service leaks memory under load. Where do you look?

    A strong answer covers: Static collections and events nobody unsubscribed from, an HttpClient created per request, an IDisposable skipped on a hot path, and the large object heap filling with buffers over 85 KB. Then a dump, and a look at what is still rooted: guessing from a CPU graph is how a week disappears.

  5. Where do you draw the line between the domain project and the API project?

    A strong answer covers: A rule a reviewer can apply: the domain project does not reference anything that knows about HTTP, EF or configuration. If a domain class needs a DbContext, the behaviour is in the wrong place. The point is not the folder structure, it is being able to test the rules without starting a web server.

How we work

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
Get 3 profiles in 48 hours

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

The full terms, contract by contract

Questions tech leads ask us

How senior are your .NET developers?

6+ years of professional C#, with recent production work on .NET 6 or later. We ask what they migrated and what broke, because that is where the experience shows.

Do they know the old .NET Framework as well?

The ones we put on migration work do. It is the first thing we ask when a brief mentions a legacy application: the hard part is the differences, not the new runtime.

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.