Pourquoi ton CV est refusé (et pourquoi tu ne le sauras jamais).
Je suis développeur junior. Je me suis fait rejeter plus de 200 fois avant de comprendre que le processus de candidature est une boîte noire — et qu’on peut l’ouvrir.
Voici le décryptage : les trois filtres entre « Postuler » et un entretien, les signaux que chacun analyse, et une méthode pour itérer sur chaque rejet au lieu de le prendre personnellement.
EN BREF
- 3 filtres te séparent de l’entretien : l’ATS (machine), les RH (scan humain de 6 secondes), le manager (revue des signaux).
- 9 signaux d’alerte tuent ton CV au niveau RH en quelques secondes.
- Le ton indique au manager ta séniorité avant même qu’il ne lise une seule ligne.
- Chaque rejet est une donnée. Itère dessus. Les profils embauchés le plus vite ne sont pas les plus talentueux — ce sont ceux qui itèrent le plus vite.
Le processus invisible
Une seule offre tech de taille moyenne reçoit de 200 à plus de 1 000 candidatures. Une revue manuelle à ce volume est impossible — pas par paresse, par arithmétique. Alors entre « Postuler » et « Malheureusement… », trois filtres se dressent sur ta route.
Couche 1 — L’ATS
L’Applicant Tracking System est un logiciel, pas un humain. Il convertit ton CV en texte brut et score le recouvrement de mots-clés avec l’offre d’emploi. Il ne lit pas entre les lignes. Il ne regarde pas tes projets.
Si ton CV met une compétence dans un joli encadré, l’ATS risque de ne pas la voir. Si l’offre dit « Kubernetes » et que tu as écrit « K8s », la correspondance s’affaiblit. L’ATS est bête par conception. Une fois que tu l’as compris, le passer devient une simple checklist.
Le décryptage complet : Comment passer l’ATS en 2026.
Couche 2 — Le recruteur RH (scan de 6 secondes)
Si ton CV passe l’ATS, il atterrit devant un humain — généralement un recruteur RH, pas un développeur. Quelqu’un qui ne fait peut-être pas la différence entre Python et JavaScript, ou entre un profil intermédiaire et un senior. Ça paraît injuste, mais les maths l’imposent : les développeurs ne peuvent pas relire chaque CV qui survit à l’ATS.
6 secondes. C’est le temps moyen qu’un recruteur RH passe à décider de garder ou d’écarter. Il ne lit pas. Il scanne. Il regarde ton intitulé actuel, les entreprises où tu as bossé, la durée de chaque poste, et si quelque chose ressort visuellement — en bien ou en mal.
Les 9 signaux d’alerte qui tuent ton CV à ce niveau
Des passages courts dans chaque entreprise
Le motif se lit comme : du mal à rester constant. Risque de perdre la motivation à nouveau.
De grands trous inexpliqués entre deux postes
Que s’est-il passé pendant ces trous ? Des projets perso ? Un burnout ? Une question d’argent ? Sans contexte, le recruteur imagine le pire.
2 pages ou plus avec moins de 10 ans d’expérience
Ça se lit comme un contenu gonflé. La barre pour ajouter de la longueur est haute — la plupart des ingénieurs avec moins de 10 ans doivent tenir sur une page.
Trop coloré, trop de graphismes
Un design chargé se lit comme une compensation. Une structure claire bat une mise en page tape-à-l’œil à tous les coups.
Police trop fantaisiste ou trop petite
Si c’est dur à lire en 6 secondes, c’est éliminé. La lisibilité au survol compte plus que l’esthétique.
Des touches peu professionnelles
Photo de profil en selfie, dragonslayer2003@hotmail.com, fautes de frappe. Chacune grignote ta crédibilité. Quelques-unes combinées la tuent.
Incohérences CV ↔ LinkedIn
Des dates de postes qui se chevauchent. 5 ans d’expérience mais diplômé il y a 3 ans. Un intitulé sur le CV différent de LinkedIn. Une seule incohérence fait douter le recruteur de tout le reste.
Trop de compétences
Lister 40 technologies ne prouve pas la maîtrise — ça signale du gonflage. Garde les 8 à 12 que tu utilises vraiment.
Des rubriques « Familier avec… »
Traduction : je ne l’ai pas vraiment utilisé. Recruteurs et managers lisent ça comme du remplissage.
Couche 3 — Le manager (revue des signaux)
Si tu passes les RH, ton CV atteint enfin quelqu’un de technique. Cette personne va travailler avec toi, t’encadrer, ou être ton futur collègue. Elle sait ce que le poste exige parce qu’elle le fait elle-même. Elle regarde ta candidature d’une manière complètement différente des RH.
La première chose qu’un manager technique fait souvent, c’est ouvrir ton GitHub. Pas pour lire chaque ligne. Pour se faire une idée. Est-ce que tu codes en dehors du travail ? Tes projets sont-ils réels ou des clones de tutoriels ? Tes dépôts ont-ils des READMEs ? Y a-t-il de l’activité récente, ou le dernier commit date-t-il de deux ans ?
Il recoupe CV ↔ LinkedIn ↔ GitHub — pas forcément pour traquer des mensonges, mais parce que la cohérence réduit l’incertitude. La seule question qu’il se pose en boucle est : ce candidat est-il assez expérimenté pour le poste ?
Dans un vivier de 10 à 20 candidats présélectionnés, « presque senior » perd contre « clairement senior » à chaque fois.
Audite les trois couches en 60 secondes
RejectCheck passe ton CV au crible de la couche ATS, de la couche RH (détection des signaux d’alerte, audit de mise en forme) et de la couche manager (signal GitHub, cohérence LinkedIn, audit de séniorité) — calé sur une offre précise.
Lancer le diagnostic gratuit →Les angles morts
Pari osé : tu es sans doute fait pour le poste. Ce qui te sépare de lui, c’est l’écart entre la réalité et ce que ton CV montre. Ta candidature est une histoire. Pour toi, elle est évidente. Pour les RH et le manager, elle est difficile à lire.
Exemple classique : tu as passé 6 mois à construire un système de paiement qui traitait des milliers de transactions par jour, gérait les cas limites, intégrait des API externes et tournait en production sans le moindre incident. Ton CV dit : « Travaillé sur des fonctionnalités de paiement back-end. »
C’est cet écart qui te tue — pas les compétences.
Le piège de la séniorité — signaux junior vs senior
La plupart des développeurs ne savent pas à quel niveau leur CV se lit vraiment. Leur CV envoie des signaux — ils ne les voient juste pas. Le manager capte le ton en quelques secondes.
Signaux junior
- — « J’ai travaillé sur… »
- — « J’ai aidé à construire… »
- — « J’ai utilisé React »
- — Uniquement des projets perso sur GitHub
- — Aucune métrique, que des descriptions de tâches
- — Voix passive du début à la fin
Signaux senior
- — « J’ai pris en charge et livré… »
- — « J’ai conçu et piloté… »
- — « J’ai architecturé le front-end »
- — Des projets en ligne avec des utilisateurs
- — Des métriques d’impact (latence, échelle, $$, utilisateurs)
- — Voix active, vocabulaire de l’ownership
Même personne, même travail — cadrage différent. Le manager lit la séniorité dans les verbes avant même d’arriver au contenu de la ligne.
Chaque poste a aussi sa propre histoire
Deux entreprises publient exactement le même intitulé avec exactement les mêmes compétences requises. L’une est une startup en série A qui cherche quelqu’un pour construire vite et casser des choses. L’autre est une scale-up qui cherche quelqu’un pour stabiliser une base de code qui a grossi trop vite. Même intitulé. Même stack. Candidat idéal complètement différent.
Ton CV doit parler la même langue que l’histoire du poste. Pas mentir — raconter. Avant de postuler, passe 10 minutes sur ces questions : quel problème cette entreprise cherche-t-elle à résoudre en recrutant ? Qu’attend-elle de toi dans 6 mois ? Dans 1 an ? Puis demande-toi : est-ce que mon CV parle la même langue ?
Ta présence en ligne fait partie de la candidature
Ton CV n’est que la moitié de l’histoire. GitHub, LinkedIn, tout ce qui est indexable sur Google — tout fait partie de ta candidature, que tu l’optimises ou non. Le manager ira regarder. Le recoupement n’est pas optionnel de son côté.
Inverse l’exercice. Trouve sur LinkedIn des développeurs qui ont déjà le poste que tu veux. Passe 30 minutes par profil. Lis leur CV, leur GitHub, leur LinkedIn, leur recherche Google. Reconstitue la chronologie. Que font-ils ? Que changerais-tu au tien ? Ceux qui ont été embauchés n’ont rien de magique — leur schéma est visible.
Le plan — itère, ne tire pas à l’aveugle
Le vrai problème n’est pas le niveau. C’est le système. La plupart des développeurs postulent à l’aveugle. Chaque candidature est un coup unique. Aucune boucle de feedback. Aucune donnée captée. Deux cents candidatures plus tard, ils n’ont rien appris.
À l’instant où tu traites les rejets comme des données, les maths changent. Tu n’es pas quelqu’un qui s’est fait rejeter 200 fois. Tu es quelqu’un qui a mené 200 expériences. Certaines t’ont appris que le CV était flou. D’autres que le niveau ne collait pas. D’autres que le GitHub envoyait le mauvais signal. Chaque rejet — aussi douloureux soit-il — est une information.
Avant de postuler
- — Audite ton CV / GitHub / LinkedIn
- — Lis ton CV avec l’œil d’un inconnu
- — Demande-toi : l’histoire est-elle claire ?
Pour l’offre
- — Reprends les mots-clés exacts de l’offre
- — Adapte ton histoire à la leur
- — Confirme l’alignement de séniorité
Après le rejet
- — Traite-le comme une donnée, pas un échec
- — Identifie quelle couche t’a écarté
- — Ajuste pour la prochaine candidature
Faire tout ça à la main pour chaque poste est épuisant — lire l’offre, recouper le CV, vérifier le matching de mots-clés, auditer GitHub, scanner LinkedIn. Ça fait beaucoup. C’est la raison d’être de RejectCheck. Je l’ai construit parce que j’en avais besoin. Ça a marché pour moi. C’est gratuit à essayer.
Aller plus loin
À propos de l’auteur
Lenny Garnier — développeur junior, fondateur de RejectCheck. Rejeté plus de 200 fois avant de construire l’outil que j’aurais voulu avoir.
Une version narrative plus longue de ce guide est sur Medium : Why Developers Get Rejected (And Never Find Out Why) ↗
FAQ
Pourquoi les développeurs sont-ils rejetés même avec de solides compétences ?
Les compétences sont généralement bonnes. Ce qui pèche, c’est l’écart entre la réalité et ce que le CV montre. Trois filtres — l’ATS, le scan RH de 6 secondes, la revue du manager — cherchent chacun des signaux différents. De bons candidats sont éliminés par la mise en forme, des formulations vagues, des lignes au ton junior ou des incohérences GitHub-CV, bien avant l’entretien technique.
Combien de temps un recruteur RH passe-t-il sur un CV ?
Environ 6 secondes en moyenne. Il scanne, il ne lit pas. Il regarde l’intitulé actuel, les noms d’entreprises, la durée des postes et les signaux visuels (longueur, structure, fautes). Tout ce qui déclenche un signal d’alerte dans cette fenêtre — passages courts, trous, graphismes tape-à-l’œil, incohérences — tue la candidature.
Quels sont les signaux d’alerte les plus courants sur un CV de développeur ?
Des passages courts sur plusieurs postes, des trous inexpliqués, 2 pages ou plus avec moins de 10 ans d’expérience, un design coloré ou chargé en graphismes, des polices fantaisistes, des touches peu professionnelles (photos en selfie, adresses hotmail), des incohérences CV / LinkedIn, des listes de compétences gonflées et des rubriques « Familier avec… » qui signalent que le candidat n’a pas vraiment utilisé la techno.
Comment savoir si mon CV se lit junior ou senior ?
Regarde les verbes et le GitHub. Signaux junior : « j’ai travaillé sur », « j’ai aidé à construire », « j’ai utilisé React », des descriptions de tâches, uniquement des projets perso. Signaux senior : « j’ai pris en charge et livré », « j’ai conçu et piloté », « j’ai architecturé », des projets en ligne avec des utilisateurs, des métriques d’impact, un vocabulaire d’ownership. Le manager lit le ton en quelques secondes.
Comment améliorer ma candidature de façon itérative ?
Traite chaque rejet comme une donnée, pas comme un échec. Avant de postuler : audite ton CV/GitHub/LinkedIn face au poste visé. Pour l’offre : reprends les mots-clés et le ton exacts de l’offre, confirme l’alignement de séniorité. Après un rejet : identifie quelle couche t’a probablement filtré (mot-clé ATS manquant ? signal d’alerte RH ? écart de séniorité côté manager ?) et ajuste pour la candidature suivante. Les profils embauchés le plus vite ne sont pas les plus talentueux — ce sont ceux qui itèrent le plus vite.
Arrête de postuler à l’aveugle. Commence à itérer.
Premier scan gratuit. ATS + signaux d’alerte RH + signaux manager — en une passe.
Lancer le diagnostic gratuit →