The question usually arrives as a binary: "Do we hire or bring in a freelancer?" In practice there are at least four options, and they don't compare on the daily rate alone. This guide puts them side by side on what matters to a CTO or a founder: cost, lead time, seniority risk, continuity, knowledge retention and management load. The figures come from public, dated and linked sources, mostly French since this is our market. Where we found no reliable figure, we describe the structure rather than invent one.
We are one of the options ourselves, a collective of senior React Native engineers. We say so where it matters, and we also say when we are not the right choice.
The comparison table
| Freelancer | Agency | In-house hire | Senior collective | |
|---|---|---|---|---|
| What you pay | A daily rate | Fixed price or time and materials, margin included | Salary, contributions and hiring cost | A senior daily rate, after a diagnosis |
| Start | Fast, if the profile is free | A few weeks | Often 5 to 6 months | In the first week |
| Actual seniority | Yours to check | Not always the team you were sold | Depends on your ability to assess | Seniors only |
| If someone leaves | Everything stops | The agency replaces them | Fragile if they're your only mobile dev | Another senior takes over |
| Knowledge | Leaves with them | Partly stays with the agency | Stays with you | Handed over at the end |
| Your management load | High | Low, unless scope changes | High | Medium |
| Best for | A bounded need, with a team that can review | A fixed-scope project, no tech team | Mobile at the core of the product, for years | Starting fast, stabilizing, then handing over |
The rest of the guide goes through each column.
The freelancer: fast, readable, but alone
A freelancer is the simplest model to buy. The daily rate is known upfront, the start depends only on their availability, and there is no intermediary.
The daily rate is the most visible number, and the most misleading. It says nothing about the number of days, or about what will need reworking afterwards. On an app in production, the gap between profiles shows up there: a senior React Native engineer who has already been through a version upgrade or a native memory leak goes straight to the cause, where a more junior profile tries leads, at your expense and on your schedule. Compare estimates in days on the same scope, and ask what is included: review, tests, documentation. Seniority is often where teams save in the wrong place.
The limits of the model are structural, not personal:
- One person carries quality. Nobody reviews their code unless your team does. On an app in production, that is the main risk.
- The bus factor is one. Holidays, illness, a better-paid mission: the project stops.
- Knowledge leaves with them. Without documentation required in the contract, the next engagement starts with archaeology.
- You keep all the management. Scoping, prioritization, review, technical trade-offs: a freelancer executes, and does not always steer.
Two French obligations to know. For any contract of €5,000 or more excluding VAT, Urssaf (opens in a new window) (page updated April 17, 2025) requires you to obtain a certificate of compliance, and to check its authenticity, at signature, "then every 6 months until the end of its performance" (our translation). And if the freelancer works through umbrella employment (portage salarial), the French labor code portal (opens in a new window) (updated May 28, 2026) states that the client company may only use it for occasional tasks outside its normal, permanent activity, or a one-off engagement requiring expertise it lacks, and that the engagement is limited to 3 years.
The freelancer wins when the need is bounded and someone in-house can review: a specific native module, a three-month reinforcement on an existing team, a well-scoped upgrade.
The agency: buying an outcome
An agency sells an outcome rather than time: a fixed price on a scope, or time and materials with a dedicated team. It handles staffing, replacement when someone leaves, and part of the project management.
We found no reliable public source on mobile agency rates in France, so we give no figure. The structure is well known: the price includes the developers' cost, the agency's margin, pre-sales, and often a project manager or product owner. On a fixed price, the agency carries the overrun risk, which you pay for in safety margin and in change orders every time the scope moves.
What to check:
- Who writes the code? The team presented in pre-sales is not always the one assigned. Ask for names, profiles, and the right to meet them.
- Who do you talk to? A project manager helps a company without a tech team. For a CTO, it is an intermediary between them and the code.
- Who owns the code, and which repo does it live in? Require your own repo from day one, not a delivery at the end.
- How does the exit work? Making your team autonomous is not always in a vendor's economic interest. Put the handover in the contract.
The agency wins when you have no tech team, the scope is stable, and you would rather pay than manage.
Hiring: keeping the knowledge in-house
Hiring is the most direct way to keep product knowledge in the company for the long run. If mobile is the core of your product for years to come, that is the target, whatever the transition looks like.
The most underestimated cost is time. APEC's study on hiring practices for cadres (opens in a new window) (May 2023), APEC being the French agency for managerial employment, measured an average duration of 12 weeks for the last hire of a cadre (a salaried professional) in 2022, against 11 in 2021 and 9 in 2020; 19% of companies took more than 16 weeks. A year earlier, APEC (opens in a new window) (June 7, 2022) wrote that in IT, hiring "often takes between 3 and 6 months" (our translation). These figures are somewhat dated; we found no more recent public measure specific to mobile developers.
Then comes the notice period. Under the Syntec collective agreement (IDCC 1486), common in French tech, the French labor code portal (opens in a new window) (updated January 31, 2024) gives engineers and cadres a 3-month resignation notice, which employer and employee can lengthen or shorten by mutual agreement. Added up, 12 weeks of hiring and 3 months of notice make about six months between the decision and day one, before onboarding even starts.
On salary, we give no range: we found no recent public study specific to React Native, and a senior who can also work in Swift and Kotlin is negotiated case by case. On top of salary come employer contributions, equipment, onboarding and management time.
If you use a recruiter, count their fee. IT recruitment firm Seyos publishes its own (opens in a new window): a rate of 20% of gross annual salary in both of its examples, with a replacement guarantee if the contract ends within the first 4 to 6 months. That is one firm's rate, not a market norm.
Three risks specific to hiring:
- Assessing a mobile profile without having one. Without a senior React Native engineer in-house to run the technical interview, the risk of a seniority mistake is real.
- The lone mobile developer. One person on mobile is the same bus factor as a freelancer, with a higher exit cost.
- Time lost during the search. Six months without moving on mobile sometimes costs more than the salary.
Hiring wins when mobile is strategic over several years, you can wait or fund a transition, and you know how to assess a senior profile.
Where a senior collective fits
A collective of senior engineers combines properties of the other three models. That is what we are; here is how we work, and where our limits are.
What it shares with a freelancer: you talk directly to the people writing the code, with no project manager in between, and the start is fast. What it shares with an agency: several people know your code, nothing ships without review by another senior, and one departure does not stop the mission. What it shares with hiring: the handover is part of the mission from the start.
At useffect.sh, every mission runs in three steps. Five days of diagnosis in your code, with a written document of three pages at most. Then PRs in your repo, reviewed in your own process, with a demo every week. Finally, runbooks and a handover so your team carries on without us. The size follows the problem: a single expert, a pair, or a squad of two to four seniors. The diagnosis is priced after a first 30-minute call; what follows is estimated in days, on evidence, by the diagnosis itself.
The limits, honestly:
- A collective is not a permanent team. If mobile is your core business for five years, you need an in-house team. A collective can prepare it, not replace it.
- The daily rate is not a junior's. A senior-only collective is not the cheapest option per day, and does not try to be. It compares on total cost: fewer days, no rework, and a team that carries on without us.
- Capacity is limited. A collective of a few seniors does not staff twenty people overnight.
The collective wins when you need to start fast with seniors on something that does not tolerate approximation: launching a V1 that has to hold, taking over a fragile app, upgrading React Native, or holding mobile while a hire comes through, then handing over to that person.
Choosing for your situation
| Situation | Best fit | Why |
|---|---|---|
| V1 to launch, no mobile team, fixed launch date | Collective or agency | Hiring lead time won't meet the date |
| Mobile at the core of the product, multi-year horizon | Hiring, with outside help during the search | An in-house team keeps the knowledge in the company |
| Specific, bounded need, in-house team that reviews | Freelancer | Fast start, readable cost |
| App in production that breaks, nobody in-house to diagnose | Senior collective | You need a diagnosis before choosing who fixes |
| Company without a tech team, stable scope | Fixed-price agency | You buy an outcome, not team management |
| One overloaded in-house mobile developer | Freelancer or collective as reinforcement | Raise the bus factor without hiring in a rush |
Whatever the option, four rules avoid most bad surprises:
- Your repo, from day one. The code lives with you, PRs go through your review.
- Names, not profiles. Meet the people who will write the code.
- The exit written in the contract. Documentation, ADRs, runbooks, and pairing time.
- A diagnosis before a quote. An estimate without reading the code is a blind guess, whatever the model.
If you don't yet know where your app stands, start there: our free stack audit reads your package.json in 30 seconds and flags known vulnerabilities, abandoned libraries and overdue upgrades.
Sources
- APEC, Pratiques de recrutement des cadres (opens in a new window), May 2023
- APEC, Pratiques de recrutements des cadres en 2022 (opens in a new window), June 7, 2022
- Code du travail numérique, resignation notice under the Syntec agreement (opens in a new window), updated January 31, 2024
- Code du travail numérique, portage salarial (opens in a new window), updated May 28, 2026
- Urssaf, attestation de vigilance (opens in a new window), updated April 17, 2025
- Seyos, recruitment fees (opens in a new window), accessed October 27, 2026
Common questions
How do you compare the cost of two freelance React Native developers?
On the total cost of an outcome, not on the daily rate. The daily rate multiplies a number of days, and that number is what varies most: a senior who has seen the problem before diagnoses it in a few days, where a less experienced profile searches, works around it, and then has to be reviewed and reworked. Add the time your team spends reviewing and arbitrating, and the cost of a regression in production. The cheapest profile per day is rarely the cheapest at delivery.
How long does it take to hire a senior mobile developer in France?
APEC measured an average of 12 weeks for the last hire of a cadre (salaried professional) in 2022, and wrote in 2022 that in IT, hiring often takes 3 to 6 months. Then comes the notice period: three months for engineers and cadres under the Syntec agreement. It can be shortened by mutual agreement, but day one often comes five to six months after the decision.
Is an agency safer than a freelancer?
It pools the risk: if a developer leaves, the agency puts someone else on the project, and the contract is about an outcome. In return, you talk to a project manager rather than to the people writing the code, and the seniority of the team actually assigned varies. Ask for the names and profiles of the people who will work in your repo before you sign.
What are the legal obligations when hiring a freelancer in France?
For any contract of €5,000 or more excluding VAT, Urssaf requires you to obtain a certificate of compliance (attestation de vigilance), and to check its authenticity, at signature, then every six months until the contract ends. If the freelancer works through umbrella employment (portage salarial), the engagement is capped at 36 months and must cover an occasional task or expertise your company lacks.
Can you combine several models?
It is often the best answer. An external team can launch or stabilize the app while hiring runs, then hand over to the in-house team. The condition is to plan the handover from the start: documentation, ADRs, shared code review, and pairing time with the person you hire.