L'annonce zombie : la pénurie qui n'en est pas une
Le 12 septembre 2025, je reçois un message LinkedIn. Un cabinet de recrutement cherche un développeur Delphi pour une mission chez son client, basé à Montreux, en Suisse. Delphi 6, SQL, Oracle, 110 000 CHF par an, présentiel avec deux jours de télétravail maximum.
Cette semaine, onze mois plus tard, je reçois le même message. Mot pour mot, presque.
Le narratif
Le discours ambiant sur le recrutement tech tourne toujours autour de la même idée : il n'y a pas assez de développeurs, les entreprises galèrent à trouver des profils, la pénurie est structurelle. C'est le genre d'argument qu'on ressort pour justifier des salaires qui stagnent malgré une demande soi-disant forte, ou pour excuser un process de recrutement qui traîne en longueur.
Sur le papier, une annonce Delphi active depuis plus de onze mois colle parfaitement à ce narratif. Delphi, c'est un langage confidentiel depuis longtemps, la base de candidats est mince, forcément difficile à pourvoir.
Sauf que ce n'est pas ce qui s'est passé.
Ce que la comparaison révèle
J'ai gardé les deux messages, donc j'ai pu les comparer phrase par phrase. Le poste, le client, la ville, le salaire : identiques. Mais deux détails ont changé.
D'abord, le statut du poste. En septembre 2025, c'était une "mission de 6 à 9 mois sur un besoin ponctuel". En août 2026, la même offre est devenue un "CDI, projet stable et long terme". Même client, même mission décrite en termes quasi identiques, mais rhabillée en poste pérenne.
Ensuite, la version de Delphi a disparu. Le premier message précisait "Delphi 6" : une version sortie en mai 2001, donc vieille de 25 ans, et même antérieure au rachat de Delphi par Embarcadero en 2008. L'outil actuel, développé par Embarcadero, en est à sa 13ᵉ version. Le second message se contente de "Delphi", sans préciser laquelle. Le détail le plus révélateur du dossier technique, celui qui aurait permis de mesurer l'écart avec l'état de l'art actuel, s'est discrètement effacé entre les deux copier-coller.
Le reste n'a pas bougé d'un centime : toujours 110 000 CHF, toujours le même plafond de télétravail, toujours le même client. Ce n'est pas une nouvelle annonce. C'est la même annonce, remaquillée, toujours pas pourvue.
Et il y a un dernier détail qui en dit long : à l'automne 2025, après avoir avancé dans le process, j'avais explicitement demandé à être retiré de la liste. Le message de cette semaine prouve que cette demande n'a jamais été traitée.
Il y a un autre détail, découvert en avançant dans ce premier process, qui à lui seul démonte le narratif de la pénurie : l'entreprise avait, en parallèle, son propre candidat identifié. Deux profils valables pour un poste soi-disant introuvable, et il est resté vacant onze mois.
Ce que le process a réellement montré
J'étais allé assez loin dans ce process pour savoir que le problème n'était pas un manque de candidats. Le cabinet m'avait sélectionné, et le statut du recrutement restait flou, sans qu'on sache vraiment si les deux filières avançaient en même temps ou si l'une attendait l'autre. Il fallait aussi monter un permis de travail, une démarche portée par le recruteur, pas par moi, et qui ajoute mécaniquement des semaines au calendrier.
Le vrai obstacle, pour moi, tenait à trois points structurels, pas à un manque de compétence recherchée :
Le présentiel imposé. Deux jours de télétravail maximum par semaine, pas de full remote possible. Ce plafond n'est d'ailleurs pas arbitraire : depuis 2026, l'accord franco-suisse fixe la limite à 40 % du temps de travail en télétravail pour ne pas remettre en cause l'imposition côté suisse, ce qui correspond quasiment pile aux deux jours annoncés.
L'absence de statut frontalier. Le régime fiscal simplifié entre la France et la Suisse ne s'applique qu'aux travailleurs frontaliers au sens strict, ceux qui rentrent chez eux quasi quotidiennement, dans l'un des huit cantons concernés par l'accord de 1983, dont fait partie Vaud. Sans ce statut, pas d'allégement : ce sont les règles générales, moins favorables, qui s'appliquent.
Le coût de la vie suisse, qui grignote une bonne partie de l'écart de salaire affiché en euros.
Pour donner un ordre de grandeur, des moyennes de marché et pas des chiffres vérifiés :
Sur le papier, un facteur deux. Une fois retranchés une fiscalité non-frontalière moins favorable et le coût de la vie suisse, l'écart réel pour quelqu'un qui reste basé en France est bien plus mince que ce que 110 000 CHF laisse croire.
Aucun de ces trois points n'a de rapport avec la rareté du profil recherché. Ce sont des frictions administratives et fiscales, connues d'avance, qui n'ont pas bougé entre les deux versions de l'annonce.
La vraie rareté n'est pas où on la cherche
Les frictions ci-dessus expliquent pourquoi un candidat comme moi hésite ou renonce. Elles n'expliquent pas pourquoi le poste, lui, reste vacant onze mois alors que deux profils avaient été identifiés. Ça, c'est une autre histoire, qui tient au choix de techno, pas à la fiscalité.
Le mot "pénurie" laisse penser que le problème est général : pas assez de développeurs, point. Ce n'est pas ce que montrent les chiffres.
Selon le Stack Overflow Developer Survey 2025, parmi les développeurs qui ont codé au cours de l'année écoulée, Delphi plafonne à 2,5 % : un bassin vingt à trente fois plus petit selon la techno choisie par l'entreprise qui recrute. Ce n'est pas qu'il n'y a personne, c'est que l'entreprise a choisi de recruter sur un segment volontairement étroit, souvent parce que changer de stack coûterait plus cher que de payer la rareté du profil.
C'est un choix technique et budgétaire, pas une fatalité du marché. Et ce choix a un prix : plus la techno est de niche, plus le recrutement doit être patient, mieux payé, ou flexible sur les à-côtés (télétravail, statut, mobilité) pour compenser l'étroitesse du bassin. Un poste Delphi 6 qui reste onze mois vacant en refusant de bouger sur le présentiel n'est pas victime d'une pénurie : il cumule volontairement une techno rare et des conditions rigides.
Pourquoi l'annonce est revenue
Une hypothèse, que je n'ai pas vérifiée côté cabinet : un problème de suivi. Entre les deux messages, j'ai changé l'adresse mail liée à mon profil, et si leur outil retrouve les contacts par adresse plutôt que par identité, ma demande de retrait s'est peut-être retrouvée enregistrée contre une adresse qui n'existe plus.
Le résultat, lui, ne change rien à la démonstration : une annonce vieille de onze mois, jamais pourvue, repart en circulation, un peu mieux maquillée (émojis en plus, "cadre exceptionnel au bord du lac Léman" en plus, Delphi 6 en moins), auprès d'un candidat qui avait déjà dit non pour des raisons qui n'ont pas changé entre-temps. Cette fois, je n'ai rien répondu. J'avais déjà demandé une fois à être retiré, poliment, et ça n'avait rien changé : renvoyer la même demande n'allait pas réparer un outil de suivi qui perd les gens en route.
Le vrai signal à repérer
On l'a vu : il y avait deux candidats identifiés pour ce poste, pas zéro. Ce n'est pas un problème de bassin trop mince. C'est un poste que personne, côté recruteur, ne s'est arrêté pour recadrer.
Le langage change ("mission" devient "CDI"), la présentation s'améliore, mais les trois vraies causes de blocage, présentiel, statut fiscal, coût de la vie, restent identiques d'une version à l'autre.
Ce n'est pas une pénurie, c'est une annonce zombie : recyclée sans rien changer au fond, remise en circulation par un outil qui suit une adresse mail plutôt qu'une personne, vers un candidat qui avait déjà dit non. Le discours ("on ne trouve personne") se raconte en une phrase sur LinkedIn. Le recadrer, bouger sur le présentiel, ajuster le salaire, préciser la version, demande du temps que personne, apparemment, n'a pris.