This is not a list of reasons to distrust freelancers. Many of the best builders work independently. It is a list of patterns that predict lock-in, surprise invoices, silent single points of failure, and a handover that never happens. One or two soft signs can be talked through. A cluster of hard ones means walk away, or redesign the engagement before money moves.
First contact
The first messages already show how the work will feel.
- They never restate your problem. They reply with a price or a stack before they show they understood the outcome you need. A useful first reply paraphrases the goal, names uncertainties, and asks for missing facts.
- They push a tool before a problem. "We should rebuild this in X" without asking what hurts today is sales, not diagnosis. A short discovery workshop exists to avoid that trap.
- They refuse to talk ownership. If accounts, domains, and code repositories are "details for later", treat that as a decision already made against you. Run a quick account ownership audit mindset from day one.
- References are vague or unreachable. "I did stuff for a big brand" with no contact, no public artefact, and no comparable scope is noise.
- Pressure to start this week. Urgency can be real on your side. Urgency used as a reason to skip a brief, a quote, or a contract is a red flag on theirs.
- Communication only on a private chat they control. Decisions, scope, and approvals should leave a trail you can export (email, tickets, a shared doc you own).
Quote and contract
A thin commercial document is often the first concrete warning. Pair this section with reading a quote: what is missing from most of them and with contract clauses to demand from any tech provider.
- Scope is a slogan. "Build the app" or "fix the site" without deliverables, out-of-scope list, or acceptance criteria.
- No environments, no handover, no documentation. If staging, deployment, admin access, and a written handover are absent, you are buying a demo, not a system you can run.
- Accounts stay in their name. Hosting, domain, Git, analytics, payment, or AI provider under their personal email means they can leave with the keys. Fix it in writing before kickoff.
- IP and source stay unclear. You need assignment or a licence that lets another developer continue without their permission. Silence here is a future dispute.
- Payment is front-loaded with no milestones. A large deposit can be normal. Paying almost everything before you see working increments is not.
- No change process. When new requests have no estimate path, either you get silent overruns or endless free extras that breed resentment.
- They will not sign basic protections. Refusal to discuss exit, access, backups, or no-withholding of credentials is louder than any portfolio slide.
If the quote looks fine but the contract dodges ownership, believe the contract.
Way of working
Ask how the engagement will run before you care which framework they prefer.
- No written updates. "I'll ping you when it's done" hides slip and blocks decisions. Weekly written progress (done, next, blockers) is a minimum for anything longer than a few days.
- Code lives only on their machine. Your organisation should own the repository from the first commit, with you as admin.
- No staging you can open. Production-only delivery means every change is a live risk and you never review early.
- Secrets in chat or spreadsheets. Credentials should land in a vault you control, not in WhatsApp history.
- They discourage questions. Defensiveness when you ask about backups, monitoring, or who can deploy is a sign, not a personality quirk.
- Everything is custom, nothing is documented. Clever code without a runbook becomes a liability the day they are unavailable.
Want a second pair of eyes before you hire?
We can review a brief, a quote, or an engagement setup so ownership and handover are clear before the first invoice.
During the project
Early habits that do not improve usually get worse after go-live.
- Missed dates with no rewritten plan. Slip happens. Silence and "almost done" without a new date or reduced scope is the problem.
- Scope grows, price stays magical. Either the budget is fiction or the quality is being cut where you cannot see it.
- You cannot log in as admin. If only they can deploy, restore, or change DNS, you already failed the ownership test.
- No backups you have tested. "The host does backups" is not enough. Read backups that actually restore.
- Production data copied into tests. A quiet GDPR and security failure. See GDPR and test environments.
- AI or third-party tools plugged in with their keys. Same ownership problem as hosting. Keep company accounts and limits, as in adding AI without handing over the keys, and put AI use in the contract.
- Documentation deferred forever. "We'll write it at the end" often means never. Demand artefacts as you go: see the documentation you should demand at delivery.
- Hostility when you involve another reviewer. A short technical review by someone else is normal. Panic or refusal is not.
How to reduce risk
Warning signs are half the story. Structure does the rest.
- Write a brief before you ask for prices. Comparable quotes need a shared problem statement. Start with how to brief a developer so you get a useful quote.
- Prefer a paid discovery when the problem is fuzzy. A fixed-price build on an undefined problem is how budgets disappear. A discovery workshop style phase buys clarity.
- Own accounts from day one. You create them, or they create them under your org and transfer admin before serious work.
- Require an exit plan in the engagement. Inventory, access, code, backups, handover: the shape is in the exit plan every client should require.
- Pay against milestones you can verify. Working software in your staging, repository access, and docs for what was built.
- Name a client-side owner. Someone who answers questions within days, not weeks. Freelancers fail when the client vanishes too.
- Plan offboarding while they still answer email. Access removal and secret rotation are easier before the relationship cools. Use the offboarding checklist at the end, not as an emergency.
Revealing questions
Ask these in writing. Vague or evasive answers are data.
- Who will own the domain, hosting, Git, and third-party accounts at kickoff and at delivery?
- Where will the code live, and who are the admins on day one?
- What does "done" mean for the first milestone, in testable terms?
- What is explicitly out of scope?
- How do you handle change requests (estimate, approval, impact on date)?
- How often will we get a written status, and in what channel we own?
- What documentation is delivered, and when (not only "at the end")?
- How do backups and restores work, and when was the last restore test?
- If you disappeared for a month, what would another developer need, and where is it?
- Do you use AI tools on this project, with whose accounts, and on which data?
- Can we book a short call with a past client on a similar project?
Two-sided problems
Some failures are mutual. A skilled freelancer still fails when the client side is chaotic.
- No decision maker. Three people give conflicting priorities and nobody owns the final call.
- Moving target with a fixed price fantasy. You change the product every week and still expect the original number and date.
- Content, access, or approvals always late. The developer waits, then gets blamed for the calendar.
- You hire on price alone. The cheapest bid often omitted the work you assumed was included.
- You never read the quote. Surprises at invoice time were often written in the exclusions you skipped.
Clean your side of the table: clear brief, one owner, timely answers, and a contract you actually understand. That makes real warning signs on the freelancer side easier to see.
Checklist
Before you hire
- Brief written, shared with every candidate the same way
- At least one candidate restated the problem and named risks
- Quote lists scope, out of scope, assumptions, and ownership
- Contract covers IP, accounts, handover, access, and change process
- You know who creates and administers every critical account
- References or comparable work checked where the stake is high
During the work
- Repository and staging under your control
- Weekly written status with blockers
- Credentials in your vault, not only in theirs
- Milestones accepted against criteria, not vibes
- Docs and runbooks growing as features land
- Backups and test-data rules followed
At the end
- Admin access transferred and verified by you
- Source, docs, and deploy path usable by someone else
- Exit inventory complete (accounts, secrets, dependencies)
- Offboarding done: access removed where the freelancer no longer needs it
- Warranty or bug window dates written down
- Maintenance terms clear, or a clean stop with no hostage access
Hiring and want the engagement set up cleanly?
Write us before kickoff if you want ownership, milestones, and handover baked in from the start.
Ce n'est pas une liste de raisons de se méfier des freelances. Beaucoup des meilleurs bâtisseurs travaillent en indépendant. C'est une liste de motifs qui prédisent le lock-in, les factures surprises, les points de défaillance uniques, et une passation qui n'arrive jamais. Un ou deux signaux mous se discutent. Un paquet de signaux durs veut dire partir, ou reconcevoir l'engagement avant que l'argent bouge.
Premier contact
Les premiers messages montrent déjà comment le travail va se sentir.
- Ils ne reformulent jamais votre problème. Ils répondent par un prix ou une techno avant de montrer qu'ils ont compris le résultat attendu. Une bonne première réponse paraphrase l'objectif, nomme les incertitudes, et demande les faits manquants.
- Ils poussent un outil avant un problème. « Il faudrait tout refaire en X » sans demander ce qui fait mal aujourd'hui, c'est de la vente, pas un diagnostic. Un court atelier de découverte existe pour éviter ce piège.
- Ils refusent de parler propriété. Si comptes, domaines et dépôts de code sont « des détails pour plus tard », traitez cela comme une décision déjà prise contre vous. Adoptez dès le premier jour l'esprit d'un audit de propriété des comptes.
- Les références sont floues ou injoignables. « J'ai bossé pour une grosse marque » sans contact, sans artefact public, et sans périmètre comparable, c'est du bruit.
- Pression pour démarrer cette semaine. L'urgence peut être réelle de votre côté. L'urgence utilisée pour sauter brief, devis ou contrat est un signal d'alerte de leur côté.
- Communication uniquement sur un chat privé qu'ils contrôlent. Décisions, périmètre et validations doivent laisser une trace que vous pouvez exporter (email, tickets, doc partagé à votre nom).
Devis et contrat
Un document commercial maigre est souvent le premier signal concret. Croisez cette section avec lire un devis: ce qui manque dans la plupart d'entre eux et avec les clauses de contrat à exiger de tout prestataire tech.
- Le périmètre est un slogan. « Faire l'appli » ou « réparer le site » sans livrables, hors-périmètre, ni critères d'acceptation.
- Pas d'environnements, pas de passation, pas de documentation. Si staging, déploiement, accès admin et passation écrite sont absents, vous achetez une démo, pas un système que vous pouvez faire tourner.
- Les comptes restent à leur nom. Hébergement, domaine, Git, analytics, paiement ou fournisseur d'IA sous leur email perso signifie qu'ils peuvent partir avec les clés. Corrigez-le par écrit avant le kickoff.
- PI et sources restent floues. Il vous faut une cession ou une licence qui permet à un autre développeur de continuer sans leur permission. Le silence ici est un litige futur.
- Paiement très anticipé sans jalons. Un acompte conséquent peut être normal. Payer presque tout avant de voir des incréments qui marchent, non.
- Pas de processus de changement. Quand les nouvelles demandes n'ont pas de chemin d'estimation, soit vous avez des dépassements silencieux, soit des extras gratuits interminables qui créent du ressentiment.
- Ils ne signeront pas de protections de base. Refuser de parler sortie, accès, sauvegardes ou non-rétention des identifiants parle plus fort qu'un portfolio.
Si le devis a l'air bien mais que le contrat esquive la propriété, croyez le contrat.
Façon de travailler
Demandez comment l'engagement va tourner avant de vous intéresser au framework préféré.
- Pas de points écrits. « Je te préviens quand c'est fini » cache le glissement et bloque les décisions. Un progrès hebdomadaire écrit (fait, suite, bloqueurs) est un minimum au-delà de quelques jours.
- Le code ne vit que sur leur machine. Votre organisation doit posséder le dépôt dès le premier commit, avec vous en admin.
- Pas de staging que vous pouvez ouvrir. Livrer uniquement en production veut dire que chaque changement est un risque live et que vous ne relisez jamais tôt.
- Secrets dans le chat ou un tableur. Les identifiants doivent atterrir dans un coffre que vous contrôlez, pas dans l'historique WhatsApp.
- Ils découragent les questions. La défensive quand vous demandez sauvegardes, monitoring ou qui peut déployer est un signal, pas un trait de caractère.
- Tout est custom, rien n'est documenté. Du code malin sans runbook devient un passif le jour où ils sont indisponibles.
Un second regard avant d'engager ?
On peut relire un brief, un devis ou le cadrage d'un engagement pour que propriété et passation soient claires avant la première facture.
Pendant le projet
Les habitudes précoces qui ne s'améliorent pas empirent en général après la mise en ligne.
- Dates ratées sans plan réécrit. Le glissement arrive. Le silence et le « presque fini » sans nouvelle date ni périmètre réduit, c'est le problème.
- Le périmètre grossit, le prix reste magique. Soit le budget est une fiction, soit la qualité est coupée là où vous ne voyez pas.
- Vous ne pouvez pas vous connecter en admin. Si seuls eux peuvent déployer, restaurer ou changer le DNS, vous avez déjà raté le test de propriété.
- Pas de sauvegardes que vous avez testées. « L'hébergeur sauvegarde » ne suffit pas. Lisez les sauvegardes qui restaurent vraiment.
- Données de production copiées dans les tests. Un échec RGPD et sécurité discret. Voir RGPD et environnements de test.
- IA ou outils tiers branchés avec leurs clés. Même problème de propriété que l'hébergement. Gardez comptes et plafonds société, comme dans brancher une IA sans lui donner les clés, et mettez l'usage d'IA dans le contrat.
- Documentation reportée pour toujours. « On l'écrira à la fin » veut souvent dire jamais. Exigez des artefacts au fil de l'eau: voir la documentation à exiger à la livraison.
- Hostilité si vous impliquez un autre relecteur. Une courte revue technique par quelqu'un d'autre est normale. La panique ou le refus, non.
Comment réduire le risque
Les signaux d'alerte sont la moitié de l'histoire. La structure fait le reste.
- Écrire un brief avant de demander des prix. Des devis comparables demandent un problème partagé. Partez de comment briefer un développeur pour obtenir un devis utile.
- Préférer une découverte payante si le problème est flou. Un build au forfait sur un problème indéfini, c'est ainsi que les budgets disparaissent. Une phase style atelier de découverte achète de la clarté.
- Posséder les comptes dès le jour un. Vous les créez, ou ils les créent sous votre org et transfèrent l'admin avant le travail sérieux.
- Exiger un plan de sortie dans l'engagement. Inventaire, accès, code, sauvegardes, passation: la forme est dans le plan de sortie que tout client devrait exiger.
- Payer contre des jalons que vous pouvez vérifier. Logiciel qui marche en staging, accès dépôt, et docs sur ce qui a été construit.
- Nommer un propriétaire côté client. Quelqu'un qui répond en jours, pas en semaines. Les freelances échouent aussi quand le client disparaît.
- Planifier l'offboarding pendant qu'ils répondent encore. Retrait d'accès et rotation des secrets sont plus simples avant que la relation refroidisse. Utilisez la checklist d'offboarding à la fin, pas en urgence.
Questions révélatrices
Posez-les par écrit. Les réponses vagues ou évasives sont des données.
- Qui possédera domaine, hébergement, Git et comptes tiers au kickoff et à la livraison ?
- Où vivra le code, et qui sont les admins le jour un ?
- Que signifie « terminé » pour le premier jalon, en termes testables ?
- Qu'est-ce qui est explicitement hors périmètre ?
- Comment gérez-vous les demandes de changement (estimation, validation, impact sur la date) ?
- À quelle fréquence aurons-nous un statut écrit, et sur quel canal que nous possédons ?
- Quelle documentation est livrée, et quand (pas seulement « à la fin ») ?
- Comment fonctionnent sauvegardes et restaurations, et quand a eu lieu le dernier test de restore ?
- Si vous disparaissiez un mois, de quoi un autre développeur aurait-il besoin, et où est-ce ?
- Utilisez-vous des outils d'IA sur ce projet, avec quels comptes, et sur quelles données ?
- Peut-on planifier un court appel avec un ancien client sur un projet comparable ?
Problèmes à double sens
Certains échecs sont mutuels. Un freelance compétent échoue encore quand le côté client est chaotique.
- Pas de décideur. Trois personnes donnent des priorités contradictoires et personne ne porte l'arbitrage final.
- Cible mouvante avec fantasme de forfait. Vous changez le produit chaque semaine et attendez encore le chiffre et la date d'origine.
- Contenu, accès ou validations toujours en retard. Le développeur attend, puis est blâmé pour le calendrier.
- Vous engagez au prix seul. L'offre la moins chère a souvent omis le travail que vous pensiez inclus.
- Vous n'avez jamais lu le devis. Les surprises à la facture étaient souvent dans les exclusions que vous avez sautées.
Nettoyez votre côté de la table: brief clair, un propriétaire, réponses à temps, et un contrat que vous comprenez vraiment. Les vrais signaux d'alerte côté freelance deviennent alors plus faciles à voir.
Checklist
Avant d'engager
- Brief écrit, partagé à chaque candidat de la même façon
- Au moins un candidat a reformulé le problème et nommé des risques
- Le devis liste périmètre, hors-périmètre, hypothèses et propriété
- Le contrat couvre PI, comptes, passation, accès et processus de changement
- Vous savez qui crée et administre chaque compte critique
- Références ou travaux comparables vérifiés si l'enjeu est élevé
Pendant le travail
- Dépôt et staging sous votre contrôle
- Statut écrit hebdomadaire avec bloqueurs
- Identifiants dans votre coffre, pas seulement chez eux
- Jalons acceptés contre des critères, pas au feeling
- Docs et runbooks qui grandissent au fil des fonctionnalités
- Sauvegardes et règles sur les données de test respectées
À la fin
- Accès admin transférés et vérifiés par vous
- Sources, docs et chemin de déploiement utilisables par quelqu'un d'autre
- Inventaire de sortie complet (comptes, secrets, dépendances)
- Offboarding fait: accès retirés là où le freelance n'en a plus besoin
- Dates de garantie ou fenêtre de bugs écrites
- Termes de maintenance clairs, ou arrêt propre sans accès otage
Vous engagez et voulez un cadre propre ?
Écrivez-nous avant le kickoff si vous voulez propriété, jalons et passation intégrés dès le départ.