How to Check if a Software Agency Uses Junior Developers or Subcontractors

How to find out who will actually write your code: the questions, evidence and contract clauses that reveal junior staffing and hidden subcontracting.

Key Takeaways

  • The team in the sales meeting is often not the team that writes the code. Ask for names, not roles, and make those names part of the contract.
  • Junior developers are not a problem in themselves. Unsupervised juniors, or juniors billed at senior rates, are.
  • The strongest evidence is technical: a paid trial task, a live code walkthrough with the actual engineers, and commit history in your own repository from week one.
  • Hidden subcontracting has legal consequences in France and the EU: the 1975 subcontracting law, the URSSAF vigilance duty for contracts of €5,000 or more, and GDPR article 28 for anyone touching personal data.
  • Put it in writing: named key people, a substitution clause, a ban on subcontracting without written consent, and code in your accounts.

The most common surprise in outsourced software is not the price or the deadline. It is discovering, months in, that the senior engineers from the pitch handed the project to a junior team, or to another company you've never heard of. This guide shows how to find out who will really write your code, before you sign and while the work is under way. It complements our broader checklist on how to vet a software development agency.

Why it matters

Agencies make money on the gap between what they bill and what they pay. Two ways to widen that gap are invisible to most buyers:

  • Junior staffing. Seniors sell and design; juniors build. That can work well with real supervision. It fails when nobody senior reviews the code, and you discover the result only when the application struggles in production.
  • Subcontracting (sometimes called white-labelling). The agency resells the work to a freelancer or an offshore company and keeps a margin. You lose direct contact with the people writing your code, and often any control over where your data goes.

Neither is always wrong. The problem is not knowing, because you can't manage a risk you can't see.

Before you sign: questions that reveal staffing

Vague answers are the signal. Here is what to ask and what a straight answer sounds like.

QuestionA good answerA warning sign
Who, by name, will write code on our project?Names, with LinkedIn or GitHub profiles, and how much of their time is allocated"A dedicated team will be assigned after signature"
Are they employees, freelancers or another company?A clear answer for each person"Our extended team" or "our partners"
Can we meet them before signing?Yes, a technical call with the engineers themselvesOnly the sales lead or a project manager is available
What is the seniority mix, and who reviews the juniors' code?A named reviewer and a described review process"Everyone is senior" from an agency quoting low day rates
Do you subcontract any part of the work?"No", or "Yes, this part, to this company, with your written consent"Hesitation, or "only for overflow"
Where are the engineers located, and where is our data processed?Specific countries and hosting regions"It depends on availability"

Day rates are a useful sanity check. If an agency charges well under the market rate for senior engineers in its country while promising a fully senior team, either the team isn't senior or the work goes somewhere cheaper. Our cost guide lists the published ranges in France.

How to verify the answers

Answers are cheap. Evidence is better.

  1. Check the profiles. Do the named engineers' LinkedIn histories show them at the agency for a while? Profiles created last month, or engineers listed by several agencies at once, suggest a freelance pool.
  2. Run a live code walkthrough. Ask an engineer who will work on your project to walk you, or an independent technical adviser, through a past project's code. People who wrote the code can explain its trade-offs; people presenting someone else's work can't.
  3. Pay for a small trial task. A one- or two-week paid piece of real work, delivered in your repository, tells you more than any proposal: who commits, how they write, how they communicate.
  4. Call references, and ask the right question. Not "were you satisfied?" but "were the people you met at the start the people who wrote the code?"
  5. Check the company itself. In France, the public company register (annuaire-entreprises.data.gouv.fr) shows headcount brackets. A "40-engineer agency" registered with no employees is mostly freelancers or subcontractors.

During the project: signs the team has changed

Keep the repository in your own accounts and you can see what's happening:

  • Commit authors you've never met, or a single generic account ("dev-team", "agency-bot") for all commits, which hides who writes the code.
  • Commits arriving in bursts at odd hours for the agency's time zone, in a pattern that matches another region's working day.
  • Answers to technical questions take days, because they're relayed to someone else.
  • The engineer on your calls can't explain code committed under their name.
  • Code style and quality change abruptly between one sprint and the next.

None of these proves subcontracting on its own. Together, they justify a direct question and a look at the contract.

Hidden subcontracting is not only a quality problem.

  • The 1975 subcontracting law. Under loi n° 75-1334 of 31 December 1975, a contractor that subcontracts must have each subcontractor accepted, and its payment terms approved, by the client. It sets the general regime for subcontracting in both public and private contracts, not only construction.
  • The URSSAF vigilance duty. For any contract worth €5,000 excl. VAT or more, the client must obtain proof from the supplier, at signature and every six months, that it is properly registered and paying its social contributions (vigilance certificate). If the work is passed to an undeclared subcontractor, the client can share liability.
  • GDPR article 28. If the agency processes personal data on your behalf, it is a processor, and under article 28(2) GDPR it may not engage another processor without your prior written authorisation. An unknown subcontractor with access to your production database is a compliance problem, not just a staffing one.

This is general information, not legal advice; check your own situation with a lawyer.

What to put in the contract

  1. Named key people, with their role and minimum time allocation.
  2. A substitution clause: no replacement of a key person without notice, and only by someone of equivalent experience whom you can interview and refuse.
  3. No subcontracting without prior written consent, naming any approved subcontractors and what they may do.
  4. Data location: where engineers access data from and where it is hosted.
  5. Repositories and hosting in your accounts, with individual named access for each engineer, so commit history shows who did what.
  6. A right to terminate if the team changes without consent, with a clean handover.

Frequently asked questions

Is it bad if an agency uses junior developers? No. Every senior was once a junior, and juniors on well-structured work, with senior review, can be good value. Ask who reviews their code and how, and make sure you're not paying senior rates for junior hours.

Is subcontracting always a red flag? Not if it's disclosed, agreed in writing and limited to a defined part of the work, such as a specialist security test. Undisclosed subcontracting is the red flag.

How can I tell if an offshore team is doing the work? Look at commit authors and timestamps in your repository, ask to meet the engineers on video, and ask directly where they are. An honest agency will tell you; offshore work is legitimate when it's disclosed and priced accordingly.

We already suspect our agency subcontracted the project. What should we do? Secure access to your code, hosting and accounts first, then ask the question in writing. If the answers or the code don't hold up, a technical audit gives you an independent view of what you have.


At FNB Solutions the engineers you meet are the engineers who write your code, and the team is named on the Approach page. We don't subcontract, and repositories stay in the client's accounts from the first commit. If you're comparing partners, start a conversation.

Sources