2 points par GN⁺ 2024-12-29 | 1 commentaires | Partager sur WhatsApp
  • Un POC qui regroupe, au moyen de scripts Python et de LLM, un processus de recherche d’emploi où la saisie répétitive et la rédaction d’e-mails personnalisés deviennent des goulets d’étranglement, depuis la collecte d’offres jusqu’à la génération d’e-mails de candidature personnalisés
  • La collecte d’offres commence par une copie manuelle du HTML plutôt que par du web scraping, afin de contourner les différences de structure entre sites et le risque d’hallucinations du LLM
  • Le HTML brut passe par un parseur et des prompts LLM pour devenir du JSON structuré avec des champs comme job_title, job_company, job_skills et application_instructions
  • La génération de lettres de motivation injecte à la fois le CV et les détails de l’offre, et échoue si des informations obligatoires manquent, afin d’éviter l’envoi d’e-mails génériques basés sur un template
  • Le POC relie l’extraction des offres, le parsing des descriptions détaillées et la génération de candidatures personnalisées, jusqu’à atteindre au final un niveau permettant d’envoyer 250 candidatures en 20 minutes

La candidature vue comme une tâche répétitive

  • Une candidature consiste en un flux continu où l’on copie-colle les mêmes informations, modifie son CV et rédige une lettre de motivation
  • En raison de ce caractère répétitif et d’une procédure relativement structurée, cela a été jugé adapté comme candidat à l’automatisation
  • Le flux de base est le suivant
    • Trouver des offres d’emploi
    • Vérifier les qualifications requises
    • Se renseigner sur l’entreprise
    • Envoyer le CV et la lettre de motivation
    • Attendre une réponse
  • Le résultat obtenu a permis d’envoyer 250 candidatures en 20 minutes, et l’auteur indique avoir reçu une offre d’emploi avant même de finaliser le système

Méthode de construction du POC

  • Constituer une liste d’offres d’emploi

    • La première étape consistait à rassembler un grand volume d’offres d’emploi
    • Le web scraping a été essayé, mais la structure variant d’un site d’emploi à l’autre, le coût d’automatisation devenait élevé
    • Une approche consistant à envoyer la page web entière à un LLM pour en organiser les données a aussi été testée, mais elle posait deux problèmes
      • Le coût était élevé
      • Il fallait éviter le risque que le LLM hallucine des exigences de poste
    • Au final, la méthode retenue a été de copier manuellement le HTML brut
    • Une approche simple, mais considérée comme fonctionnelle
  • Nettoyer le HTML brut

    • Les champs nécessaires sont extraits du HTML copié et transformés en données structurées
    • Le format cible est un JSON contenant des clés comme job_link, job_id, job_role, employer, location, work_arrangement et salary
    • La méthode consiste à montrer à ChatGPT un échantillon de HTML et le format de sortie souhaité, puis à lui confier la génération du script de parsing

Parsing des informations détaillées des offres

  • Une requête GET est envoyée à chaque offre pour récupérer la description complète
  • La réponse étant du HTML brut, elle contient aussi des éléments de structure du site comme la barre de navigation, des pop-ups et le pied de page
  • Un parseur HTML séparé est écrit pour ne conserver que le véritable corps de l’offre d’emploi
  • Certains sites nécessitaient une étape supplémentaire, comme cliquer sur un bouton, pour voir l’e-mail du recruteur ou les détails de l’entreprise
  • En travaillant sur un seul site d’emploi à la fois, il suffit d’identifier une fois les patterns propres à ce site
  • Un délai de 2 à 3 secondes est inséré entre les requêtes afin d’éviter le blocage d’IP

Créer des données structurées avec un LLM

  • Les offres d’emploi ont des composants de base similaires, mais l’emplacement des compétences ou des exigences varie selon les sites
  • Un prompt LLM analyse le contenu HTML et le convertit en objet JSON valide
  • Les clés à extraire sont les suivantes
    • contact_email
    • application_instructions
    • job_posting_text
    • job_posting_link
    • additional_info
    • job_title
    • job_company
    • job_department
    • job_location
    • job_skills
    • job_instructions
  • Des clés optionnelles comme hiring_manager_name et job_portal sont également utilisées
  • Il est demandé de convertir job_posting_text au format Markdown

Prompt de génération de lettre de motivation

  • L’élément clé d’une bonne lettre de motivation est considéré comme étant le contexte ; le CV et les détails de l’offre sont donc fournis ensemble au LLM
  • Le prompt demande de générer un e-mail de candidature prêt à être envoyé
  • Il est conçu pour renvoyer une erreur plutôt que de produire un e-mail incomplet lorsque des informations obligatoires manquent
    • Champs obligatoires : intitulé du poste, nom de l’entreprise, description du poste, contenu du CV
    • Champs optionnels recommandés : nom du recruteur, département, localisation, méthode de candidature, source de recommandation, liste des compétences requises
  • La sortie est un objet JSON contenant status, error_message et email
  • email contient les éléments suivants
    • Objet
    • Corps HTML
    • Corps en texte brut
    • Points clés abordés
    • Compétences mises en avant
    • Expériences du CV correspondant aux exigences du poste
    • Informations manquantes qui pourraient renforcer la candidature, le cas échéant
    • Analyse du ton de l’e-mail
  • Pour assurer la compatibilité avec les clients e-mail, le corps HTML est limité à des balises de base comme p, br, b, i, ul et li
  • Cette structure sert à produire non pas un e-mail générique du type « j’ai vu votre offre », mais un e-mail personnalisé reliant l’expérience réelle aux exigences du poste

Envoi et suivi des e-mails

  • La dernière étape consistait à envoyer réellement les e-mails de candidature générés
  • Les conditions nécessaires étaient les suivantes
    • Un envoi d’e-mails à l’apparence professionnelle
    • Le suivi réel de l’historique des envois
    • La surveillance des réponses des recruteurs
    • L’évitement du classement en spam
  • Pendant la phase de test, tous les e-mails sont d’abord envoyés vers un compte de test
  • Lors de l’envoi à de vrais recruteurs, il est recommandé de se mettre soi-même en BCC afin de vérifier que l’envoi a bien eu lieu
  • Au stade du POC, un fournisseur d’e-mail simple comme Mailgun est utilisé
  • La partie 2 est annoncée comme devant traiter du refus de candidature auprès d’AWS et de l’échec de l’exploitation d’un serveur e-mail autogéré, rencontrés lors de la tentative de créer un système complet de gestion des e-mails

Résultats du POC et prochaines étapes

  • Le POC réalise l’extraction de listes d’offres, le parsing et la génération de candidatures personnalisées avec quelques scripts Python
  • Le défi suivant consistait à transformer les scripts en une véritable application
  • Les objectifs de montée en charge sont les suivants
    • Traiter plusieurs sites d’emploi
    • Suivre l’historique des candidatures
    • Gérer les réponses par e-mail
    • Ne pas être bloqué par les systèmes RH
  • La partie 2 doit aborder le processus de construction de l’application réelle, les décisions techniques et les compromis

1 commentaires

 
GN⁺ 2024-12-29
Avis sur Hacker News
  • Il y a beaucoup de débats pour savoir qui, entre les recruteurs et les candidats, porte le plus de responsabilité dans la situation actuelle, mais du point de vue d’un chercheur d’emploi, je ne sais pas quoi faire.
    J’ai cherché assez activement ces six derniers mois environ et, avec plus de 10 ans d’expérience en développement logiciel, je vise surtout des postes de développeur senior. Je n’ai absolument pas utilisé de LLM pour mon CV ni mes lettres de motivation, et je n’ai postulé qu’à des offres dont je pensais remplir les critères et que j’aurais acceptées si l’on m’avait fait une proposition.
    Pourtant, je ne sais pas comment signaler que 1) je suis une vraie personne, 2) l’expérience et les compétences indiquées sur mon CV sont réelles, et 3) je suis vraiment intéressé par le poste. Même en faisant ça, les résultats ont été catastrophiques : j’ai eu environ 10 à 12 premiers entretiens téléphoniques, que j’ai passés facilement, mais je ne suis arrivé aux entretiens avancés que 3 ou 4 fois environ, et je n’ai reçu aucune offre.
    Continuer comme ça ne mène nulle part, donc je me demande pourquoi je devrais maintenir cette approche. Je ne vois pas pourquoi je ne passerais pas à une approche au fusil à pompe, en envoyant automatiquement des candidatures à toutes les offres dont les critères correspondent vaguement. Et le seul autre moyen de signaler que je suis quelqu’un qui a une vraie expérience, c’est d’avoir une connaissance dans l’entreprise qui puisse se porter garante, mais ce cas est rare.

    • Cela fait longtemps que je vois, dans un grand Slack privé, des gens désespérés tenter les candidatures automatisées et l’usage de LLM ; les taux de réponse sont désastreux, mais il est courant de compenser par des candidatures en masse.
      Le problème, c’est que même quand cela finit par déboucher sur un emploi, il s’agit souvent d’une entreprise médiocre. Des endroits avec des responsables du recrutement incapables de distinguer du verbiage généré par LLM d’une vraie candidature, et des processus d’entretien où la triche au LLM est si facile que tous les collègues finissent eux aussi par ressembler à des pilotes de LLM.
      On peut essayer, et cela peut être mieux que rien. Mais si l’on espère un bon poste dans une bonne entreprise, il y a de fortes chances que cela ne donne pas le résultat souhaité.
    • Il y a environ 4 mois, j’étais responsable du recrutement pour 3 postes, et le volume de fausses candidatures était incroyable. 90 % étaient complètement fausses ou contenaient les mêmes formulations issues de l’IA générative ; au final, j’ai commencé à ne regarder que les CV avec un lien LinkedIn fonctionnel.
      Après avoir vu trop de mauvais CV, je suis devenu assez indulgent dès qu’il y avait des éléments donnant l’impression d’une vraie personne, même si le profil ne correspondait pas parfaitement aux critères. Par exemple, une section sur les loisirs personnels. Beaucoup de conseils disent de ne pas inclure ce genre de rubrique, mais dans un océan de faux dossiers et de déchets copiés-collés, cela aide au contraire à se démarquer.
    • La situation des chercheurs d’emploi est regrettable, mais d’après mon expérience, les job boards sont quasiment inutiles. En ce moment en particulier, chaque offre sur LinkedIn reçoit des centaines, voire des milliers de candidatures, et Indeed, ZipRecruiter et Dice doivent être tout aussi saturés.
      Lors de ma dernière recherche, j’ai postulé à près de 300 offres, mais j’ai finalement obtenu un nouveau poste grâce à un recruteur rencontré lors d’un petit meetup JavaScript, qui m’a parlé d’une opportunité.
      Ce n’est qu’une anecdote, mais elle a clairement changé ma perspective ; la prochaine fois que je lancerai sérieusement une recherche, je compte aller à beaucoup de meetups et être bien plus actif dans l’open source.
    • La situation est complètement folle, et si rien ne change, j’ai l’impression qu’un gros changement va arriver dans les méthodes de recrutement.
      Je ne veux pas réécrire mon expérience récente, mais j’ai un fil d’il y a environ 6 semaines où je l’ai décrite en détail : https://news.ycombinator.com/item?id=42137229
      J’étais dans une bonne position et j’ai pu prendre le temps, mais si j’avais eu besoin de trouver rapidement un emploi, honnêtement je ne sais pas ce que j’aurais fait.
    • À ta place, je ferais l’inverse : moins d’automatisation et davantage de terrain.
      Demande aux gens de ton réseau s’ils connaissent des entreprises qui cherchent quelqu’un avec tes compétences, et rejoins des communautés en ligne et hors ligne alignées avec tes compétences et tes centres d’intérêt.
      En obtenant ainsi une introduction chaleureuse auprès d’un responsable du recrutement via quelqu’un qui te connaît, ou via quelqu’un qui connaît quelqu’un qui te connaît, tu peux généralement passer tout en haut de la pile. Si je cherchais un emploi aujourd’hui, c’est ce que je ferais ; pour le reste, il y a trop de bruit.
      0 : cela marche aussi pour les startups : https://paulgraham.com/ds.html
  • Je suis manager logiciel et je fais passer des entretiens et recrute, sous une forme ou une autre, depuis 13 ans.
    L’an dernier, j’ai recruté des ingénieurs logiciel à deux reprises : le recrutement du printemps a été classique, celui de l’automne a été éprouvant. À l’automne, nous avons été submergés de candidatures et, avec le recul, la plupart semblaient avoir utilisé l’IA d’une manière ou d’une autre.
    À l’automne, la proportion de candidats passant l’examen du CV et le premier screening téléphonique a soudainement augmenté, mais ils se sont tous effondrés lors de l’entretien technique. Le taux d’échec à l’entretien technique était bien pire que d’habitude.
    Nous avions un recruteur dédié et je ne sais pas à 100 % quels outils il utilisait, mais nous avons fini par recommencer à examiner les CV un par un, manuellement. Il y en avait des centaines, donc cela a pris du temps, mais le problème persistait : excellent screening initial, entretien technique catastrophique.
    Nous avons donc décidé d’écarter les candidats qui mentionnaient beaucoup l’IA, les LLM et la data science. Il fallait bien trouver un moyen de trier près d’un millier de candidatures. Notre cas d’usage est assez spécifique : il ne s’agit pas de JavaScript ni de parsers, et le gain de temps n’est pas énorme. Après cela, une grosse partie des candidats a disparu et le processus a semblé redevenir plus normal.
    Nous avons aussi décidé de revenir à des entretiens uniquement sur site. Le screening technique initial reste à distance, mais avant le COVID, les entretiens étaient à 100 % sur site ; ensuite nous sommes passés à l’hybride, et maintenant notre groupe impose à nouveau le présentiel.

    • Un conseil à ceux qui recrutent des ingénieurs pour des postes à distance : même si le processus est censé être 100 % remote, dites aux candidats qu’« il pourrait y avoir une évaluation technique en présentiel ».
      Il y a aujourd’hui un nombre absurde de faux candidats, et la seule façon de les faire s’éliminer d’eux-mêmes est de leur signaler qu’ils pourraient devoir venir quelque part en personne.
      Il nous est arrivé de dire : « Vous habitez à Flint, dans le Michigan ? Justement, nous avons un employé à 20 minutes de là, pourriez-vous le rencontrer ? », et certains disparaissaient soudainement du processus d’entretien.
      Il y a tellement d’escrocs à l’étranger qui exploitent la vague du télétravail aux États-Unis qu’ils finissent par noyer les vrais candidats, et c’est vraiment grave.
    • Je travaille comme contractuel depuis 2017, et j’ai renoncé à passer par des agences de recrutement pour trouver du travail au Royaume-Uni.
      Dans mon domaine, je suis probablement proche du numéro un mondial, et je postule à des postes qui demandent explicitement un SME dans ce domaine. Ce n’est pas une question technique et, même si je ne peux pas vraiment le savoir, on peut considérer que j’ai des années-lumière d’avance sur les autres candidats. Ce n’est pas de la vanité, c’est simplement ce que la réalité semble montrer.
      Pourtant, désormais, les agences ne me contactent même plus. Je pense qu’elles ne lisent ni mon CV ni ma candidature, sans doute parce que des centaines de candidatures arrivent dans la première heure. Elles semblent prendre la première personne qui a l’air suffisamment bonne, lancer le processus, puis passer au contrat suivant à pourvoir.
      La conclusion, c’est que, peu importe votre niveau, si votre CV n’est pas vu, cela ne sert à rien. C’est particulièrement vrai si vous ne postulez pas dans les dix premières minutes ; pour être visible, il faut jouer à ce jeu, et donc automatiser ses candidatures.
      Dès lors, si l’on ne veut pas jouer à ce jeu, la question est de savoir comment trouver aujourd’hui les entreprises qui ont besoin de vos compétences.
    • Je suis ingénieur plateforme, et cette expérience ressemble presque exactement à la nôtre. Nous devons nous aussi filtrer un grand volume de candidats tout en filtrant les abuseurs de LLM.
      Je ne suis pas opposé à l’usage des LLM dans les situations appropriées, mais le vrai problème, c’est que des candidats les utilisent de manière inappropriée pour contourner le processus. Nous essayons de limiter au minimum la charge d’entretien pour les candidats, de poser des questions pertinentes plutôt que des pièges, et de donner des mises à jour de statut aussi vite que possible.
      Mais beaucoup de candidats ne semblent pas avoir l’intention de nous rendre la pareille. À cause de ces comportements, nous finissons par nous appuyer davantage sur nos réseaux existants pour trouver des candidats « fiables », ce qui risque de créer des biais supplémentaires ou d’écarter injustement des candidats qui n’ont pas de réseau. Nous sommes une organisation remote-first, donc tous nos entretiens se font à distance.
      À l’avenir, j’envisage d’essayer des techniques d’IA adversariale assez rudimentaires, comme partager un diagramme à l’écran et y ajouter des annotations sans rapport, tout en indiquant clairement qu’elles n’en ont aucun. Les entretiens sur site pourraient aussi faire partie de la solution.
    • Je ne vois pas très bien ce qu’un responsable du recrutement peut faire concrètement pour simplifier la vie des chercheurs d’emploi. Au mieux, améliorer la qualité des réponses.
      Même après six entretiens, les candidats refusés ne reçoivent aucun feedback positif et sont traités comme des déchets avec un e-mail de rejet sans âme. Du point de vue d’un candidat, je n’ai aucune sympathie pour l’entreprise qui m’embauche, et j’utiliserai tout ce qui est possible, y compris l’IA, si j’estime que c’est plus efficace.
      Pour moi, un emploi n’est qu’une transaction commerciale, et les sermons moralisateurs des responsables du recrutement ne m’intéressent pas.
    • À Noël, j’ai vu un ami qui enseigne comme vacataire dans une université locale ; il m’a dit que cette année, à cause des abus de LLM, il avait recalé plus d’étudiants que pendant tout le reste de sa carrière d’enseignant réuni.
      Il n’utilise pas d’outil de détection des LLM, mais il dit que les textes qui portent des traces d’usage de LLM sont faciles à identifier. Curieusement, sur son sujet de niche précis, ChatGPT a tendance à abuser de quelques mots rares peu employés, et ces mots apparaissent plusieurs fois dans les dissertations des étudiants qui en ont abusé.
      Il a aussi repéré des étudiants qui citaient de nombreux articles et livres hors du périmètre de lecture imposé, voire des livres qui n’existent pas. Il suffit de leur demander quelles sont leurs sources et où ils ont trouvé le texte pour les prendre sur le fait.
      On voit aujourd’hui beaucoup de choses similaires dans le recrutement et les entretiens de juniors en ingénierie logicielle. Nous avions un exercice réputé que nous utilisions avec succès depuis des années, mais il est désormais évident que beaucoup de jeunes candidats obtiennent la réponse avec un LLM. Quand on leur demande en entretien d’expliquer leur propre solution, ils disent ne pas « se souvenir » de son fonctionnement ni de la raison pour laquelle ils ont choisi cette méthode.
      C’est triste pour quelqu’un qui travaille à distance depuis longtemps. Les abus flagrants sont beaucoup plus fréquents chez les candidats à distance, et lorsqu’on les invite à un entretien sur site, les tricheurs au LLM semblent prendre peur et se retirer immédiatement, mais cela coûte beaucoup de temps et d’argent à tout le monde.
  • Du point de vue d’un responsable du recrutement, être submergé de CV soumis automatiquement est la dernière chose que l’on souhaite
    J’ai récemment publié une offre et, en 2 jours, j’ai reçu plus de 100 CV ; 99 % étaient très loin de correspondre au poste. Ça a été pénible de filtrer autant de CV pour trouver des personnes qui valaient la peine d’être vues en entretien
    Quand il y a trop de bruit, même de bons candidats peuvent être ignorés ou rejetés par erreur, et le cercle vicieux continue ainsi
    Je sais que le marché est mauvais en ce moment et qu’il y a beaucoup de chercheurs d’emploi, mais les soumissions automatisées et le bombardement des sites d’emploi ne marchent pas. Du moins pas là où ça compte

    • Ce n’est peut-être pas le cas de votre entreprise, mais on dirait que les entreprises qui recrutent l’ont bien cherché, en rejetant immédiatement des candidats qualifiés avec l’IA, en publiant des offres fantômes, en disparaissant après les entretiens, etc.
      Si un candidat qualifié doit envoyer des centaines de candidatures pour décrocher ne serait-ce qu’un entretien, peut-on vraiment lui reprocher d’automatiser ? Au contraire, s’il a l’initiative et les compétences pour bien automatiser cela, il pourrait être une excellente recrue. À condition qu’il n’ait pas déjà trouvé un poste
    • Les job boards publics étaient déjà saturés de candidatures spam à faible effort, mais les outils d’IA ont énormément amplifié le problème
      Le plus triste, c’est de voir l’apathie liée à l’IA et aux réseaux sociaux se propager chez de jeunes mentorés. Je fais du mentorat bénévole depuis des années, et les promotions récentes sont contaminées par l’idée que le marché de l’emploi n’est qu’un jeu à optimiser
      C’est regrettable de voir des jeunes intelligents et motivés apprendre à penser le marché du travail sur Reddit, TikTok et autres. Ces endroits enseignent que faire des efforts, c’est nul, et que la seule façon de préserver sa dignité est de mettre moins d’efforts dans son travail, de mentir en entretien, de tester les limites de ce qu’on peut faire comme minimum, et de travailler comme si l’on faisait un quiet quitting. Puis ils rationalisent ce comportement en l’attribuant aux entreprises et aux CEO plutôt qu’à leurs propres choix
      Le récent ralentissement du secteur tech a été une grosse prise de conscience pour ces personnes. Dans certaines promotions, l’ambiance est passée de l’apathie arrogante née du marché étrange de 2021-2022 — où l’on croyait qu’après un licenciement on pouvait obtenir la semaine suivante un nouveau poste avec 20 % d’augmentation — à des licenciements dus à leurs faibles performances, suivis d’une grande leçon d’humilité
      La nouvelle version de cette apathie consiste à croire que, puisque l’IA finira de toute façon par prendre les emplois, le jeu consiste à tromper les candidatures avec des LLM, à passer les entretiens, puis à tenir le plus longtemps possible une fois embauché
      Le problème est devenu si grave qu’une entreprise a mis fin à sa collaboration avec notre job board interne, en invoquant la prolifération de candidatures générées par LLM et de tricherie manifeste au LLM pendant les entretiens. À l’inverse, quelqu’un qui apprend réellement et fait des efforts sincères se retrouve automatiquement à peu près dans le top 25 %, simplement parce qu’il ne s’appuie pas sur des LLM pour communiquer et coder
      Je ne sais pas comment tout cela va finir. Le marché de l’emploi semble continuer à se scinder entre des postes où l’on prend le travail au sérieux, et des postes où tout le monde ne fait que du ping-pong de LLM tant qu’il ne se fait pas prendre
    • À cause du spam automatisé dans le recrutement et de l’éthique de base défaillante d’un secteur où l’on voit même des posts HN se vanter d’apps qui aident à tricher en entretien avec des LLM, plusieurs amis qui aident au recrutement sont déjà revenus aux entretiens sur site
      Le plus absurde, c’est que ces postes sont 100 % remote. Les entretiens se déroulent dans un espace de coworking. Voilà le monde dans lequel nous vivons
    • C’est une réponse naturelle aux méthodes de screening automatique que le recrutement utilise depuis des années. Dans la course aux armements lancée par les recruteurs, les forces des deux camps sont enfin un peu plus équilibrées
      Bien sûr, au final tout le monde y perd, et la situation est pire que si cette course aux armements n’avait jamais commencé. Mais les responsables du recrutement auraient dû y penser avant de filtrer automatiquement les gens. La responsabilité incombe au recrutement
    • Je me demande quelle est l’alternative. Je ne pense pas que ce soit « examinez soigneusement quelques offres très pertinentes et postulez-y ». Du point de vue d’un candidat, on voit mal l’inconvénient de ne pas jouer au jeu des chiffres
  • Je suis quelqu’un qui automatise tout et qui aime généralement ce genre de choses, mais j’ai abordé la recherche d’emploi de manière complètement différente
    Au lieu d’arroser au hasard, je passe environ une semaine à étudier en profondeur une entreprise où j’aimerais travailler et à déterminer par quel rôle y entrer. Tout est 100 % manuel et très ciblé, et je ne dépasse pas 8 entreprises au total
    Les candidatures à l’aveugle peuvent marcher quand on est plus junior, mais plus on avance dans sa carrière, plus il faut être très sélectif sur les endroits où l’on consacre du temps d’entretien. Un poste s’inscrit dans la durée et a un impact important sur la vie

    • Fondamentalement, j’ai la même approche. Le problème, c’est qu’une candidature rédigée avec soin se retrouve noyée au milieu d’innombrables candidats. Beaucoup de gens utilisent aussi des outils similaires à ceux mentionnés plus haut
      Les outils utilisés par les recruteurs ou les RH sont également médiocres et faciles à tromper. Il suffit de parsemer stratégiquement son CV de mots-clés et de formulations, même sans expérience réelle. Résultat : les responsables du recrutement ne font pas venir de bons candidats en entretien, et les bons candidats n’obtiennent pas d’entretien
      Le problème central n’est pas seulement que le système est mauvais, mais que, ces 2 à 3 dernières années, trop de personnes dans l’IT ont perdu leur emploi, au point qu’il n’y a finalement pas d’autre option que les candidatures à l’aveugle. Il faut bien gagner sa vie
      La situation ne s’améliorera pas tant que le recrutement ne repartira pas, augmentant la demande de travail, et que certains spécialistes IT ne se déplaceront pas vers d’autres secteurs, réduisant l’offre de travail. Cela ressemble à ce qui s’est passé en 2000 et en 2008
    • Cela sonne comme une approche noble et saine, mais j’ai l’impression qu’il suffirait d’un seul ghosting ou rejet expéditif pour l’abandonner
      Il y a tellement de mauvaises raisons pour lesquelles une candidature peut être ignorée que je doute que cette méthode fonctionne bien. À moins de pouvoir atteindre le manager via son réseau
    • Si l’on se fait ghoster après y avoir mis autant d’efforts, ça ne vaut pas l’investissement
    • Je serais curieux de savoir quand cette méthode a fonctionné pour la dernière fois, dans quel contexte et pour quels types de rôles vous postuliez
    • Je me demande ensuite si vous réseautez à l’intérieur de l’entreprise pour obtenir un entretien, ou si vous postulez en ligne. J’aimerais en savoir plus sur cette approche manuelle
      Je pense que les deux méthodes sont valables. Pour les rencontres en ligne, j’ai utilisé une approche automatisée et je suis maintenant marié, donc ça a fonctionné
      Une approche automatisée des entreprises me semble pouvoir fonctionner de manière similaire aux rencontres en ligne. Cela dit, contrairement aux rencontres en ligne, j’ai l’impression qu’une approche fortement ciblée a plus de chances de fonctionner avec les entreprises, à condition d’arriver jusqu’à l’étape de l’entretien
      La principale raison pour laquelle une approche ciblée marche moins bien dans les rencontres, c’est qu’il faut découvrir avec qui l’alchimie fonctionne. Dans le travail, il n’est pas nécessaire de découvrir ce genre de chose, ou du moins pas au même niveau d’intimité qu’une relation amoureuse
  • Moi aussi, j’ai fait comme ça et j’ai trouvé un emploi en 3 mois.
    Avant l’automatisation, la partie la plus fastidieuse consistait à copier-coller les informations pertinentes dans la lettre de motivation, mettre le contenu à jour, créer le document Word de la lettre, puis placer une copie du CV dans le dossier de l’entreprise et de l’offre concernées. J’ajoutais aussi automatiquement les détails de l’offre dans le tableau Notion où je suivais les candidatures en cours, c’est-à-dire un Kanban.
    Avant, tout le processus prenait 30 à 45 minutes ; ensuite, cela prenait moins de 2 minutes. Je n’ai pas postulé davantage, mais je pouvais préparer mes candidatures en beaucoup moins de temps, et consacrer le temps gagné à me renseigner sur l’entreprise et le poste.
    ChatGPT a rendu tout le processus très fluide, et nous vivons une époque formidable.

  • Si les responsables du recrutement sont submergés de CV, ils peuvent utiliser des tâches impopulaires et des consignes manuelles comme filtres.

    1. Ajouter sur la page de dépôt de candidature une phrase du type : « Tous les CV ou lettres de motivation doivent copier et appliquer la phrase suivante ; en son absence, la candidature sera exclue de l’examen. » Cela permet de tester si le candidat lit réellement et suit les consignes, et de rejeter automatiquement via une simple recherche de chaîne.
    2. Aux 1 % de candidats qui ont suivi la consigne, demander à l’étape du filtre technique une tâche impopulaire montrant une expérience préalable en code. Dans mon cas, en tant que développeur JavaScript, il s’agissait de déplacer un nœud DOM d’un emplacement à un autre. Cela a permis de réduire 22 candidats à 2, sans compter les personnes encore plus nombreuses qui ont abandonné en cours de route.
    • Je me demande si la tâche consistant à déplacer le DOM d’un emplacement de nœud à un autre se fait à livre ouvert.
      On peut parcourir le DOM de plusieurs manières. Je pourrais bricoler quelque chose les yeux fermés avec childNodes et nextSibling, mais la meilleure solution serait probablement la classe TreeWalker. Je l’ai déjà utilisée par le passé, mais je ne pourrais pas écrire une implémentation fonctionnelle au tableau blanc sans jeter un coup d’œil à MDN pour me rafraîchir la mémoire.
      Si l’on filtre les candidats uniquement sur leur mémorisation d’un standard du Web qui ne cesse de grossir, on risque de passer à côté de beaucoup de bons profils.
    • La première méthode peut être résolue tout aussi facilement par un LLM.
  • Je ne suis pas d’accord avec l’idée que le secret d’une bonne lettre de motivation serait le contexte.
    Je sais que les choses ont beaucoup changé depuis ma recherche d’emploi, il y a un peu plus de 4 ans, mais une lettre de motivation n’est pas l’endroit où montrer qu’on a lu l’offre et inséré des détails précis du poste dans un modèle ; c’est la seule occasion de montrer sa personnalité.
    Je pense qu’une bonne lettre de motivation peut changer la donne. Si j’ai décroché mon premier poste de développeur, c’est parce que les responsables du recrutement et les développeurs seniors ont aimé ma lettre. C’est aussi un bon filtre d’adéquation culturelle. Je ne suis pas quelqu’un de trop sérieux, et comme je ne veux pas travailler dans une entreprise qui attendrait cela de moi, j’y mets toujours un peu d’humour.
    Plus tôt cette année, quand j’ai dû recruter un peu, j’ai aussi pris quelques minutes de plus pour chercher des lettres de motivation qui sortaient des conventions, mais je n’en ai trouvé aucune. Tout le monde suivait les modèles ennuyeux trouvés en faisant vaguement une recherche Google sur « comment écrire une lettre de motivation ».
    Un CV ne permet pas de dire si je suis le type de personne avec qui l’on aurait envie de travailler. J’avais 200 CV de personnes capables de faire le travail à pourvoir. Si l’on est en concurrence avec 199 personnes aux compétences équivalentes sur la seule base du CV, une bonne lettre de motivation peut devenir un avantage concurrentiel.
    Bien sûr, je sais que le marché du recrutement est aujourd’hui complètement différent, donc mon point de vue est peut-être erroné. Mais je pense qu’il existe encore des responsables du recrutement qui lisent les lettres de motivation, et si je me remets un jour à chercher un nouveau poste, je consacrerai quelques minutes de plus à la mienne.

    • J’ai eu la même impression en voyant une partie du prompt. Honnêtement, si on lui fournit des exemples de lettres de motivation écrites auparavant par soi-même, le résultat sera bien plus personnel, en imitant le style d’écriture et la personnalité.
      Indépendamment du problème des candidatures envoyées en masse, le candidat doit s’aligner sur l’effort fourni par le responsable du recrutement. Si les premières étapes sont automatisées et que la dernière partie est lue par un humain, la lettre générée doit être relue et corrigée manuellement.
    • Cela dépend vraiment des entreprises. J’ai fait passer plus de 200 entretiens, mais je n’ai jamais vu une seule lettre de motivation.
  • C’est plutôt cool, mais cela semble plus utile comme projet de démo propre que comme vraie fonctionnalité.
    D’abord, les candidatures automatisées ont de fortes chances de ne pas faire bonne impression auprès des responsables du recrutement. En plus, de la même manière qu’on ne voudrait pas optimiser sa vie pour réussir ses premiers rendez-vous, on ne devrait sans doute pas optimiser sa vie pour la recherche d’emploi.
    La vie est plus épanouissante quand on trouve ce que l’on veut et qu’on peut le maintenir sur le long terme.

    • Je suis d’accord.
      On a l’impression d’optimiser le mauvais objectif : passer un maximum de screenings pour de nombreux postes, indépendamment de l’adéquation réelle.
      Personnellement, mes expériences les plus réussies, aussi bien pour trouver un emploi que pour y rester, ont été celles où je connaissais quelqu’un dans l’entreprise, ce qui me permettait de contourner complètement le premier tri des CV, puis de soumettre un CV et une lettre de motivation finement adaptés, avec un fort soutien de personnes qui me connaissaient.
      Je sais que tout le monde n’a pas ce luxe, mais j’ai essayé de faire du networking régulièrement, au travail comme en dehors, et dans l’ensemble cela m’a aidé à écarter les mauvais postes ou les rôles qui ne me correspondaient pas, tout en faisant gagner du temps aux deux parties.
  • Je suis en recherche d’emploi depuis des mois sans résultat, et chaque jour je consulte manuellement LinkedIn et Indeed pour trouver de nouveaux postes, examiner les critères et vérifier si mes compétences et mon expérience correspondent.
    Ce processus m’aide aussi à comprendre les domaines que je devrais renforcer. Ensuite, je me renseigne sur l’entreprise et le secteur. Le temps que je sois prêt à postuler, après avoir décidé que le poste m’intéresse et me correspond bien, il y a déjà des centaines de candidats. LinkedIn affiche le nombre de candidats.
    Je me disais : « Ça ne fait que 3 jours, comment est-ce possible ? », et voilà exactement pourquoi.

    • Une bonne manière de vérifier si vos compétences et votre expérience correspondent est d’attendre de recevoir un e-mail vous invitant à un entretien.
      Les montagnes russes émotionnelles consistant à se convaincre soi-même auprès d’une entreprise pour finir par se faire refuser font vraiment mal. Et ce coût n’est supporté que par le candidat. Il est naturel de vouloir repousser cette étape jusqu’à être sûr qu’il existe au moins une possibilité sur laquelle on a un certain contrôle.
      Le résultat ne dépend absolument jamais uniquement de ses propres performances et actions. Il y a beaucoup de postes sans budget, d’entreprises en gel des recrutements, ou d’annonces où un candidat déjà retenu n’attend plus que l’offre officielle.
      À mon avis, l’effort consacré à étudier une candidature devrait être fonction de l’effort demandé au candidat pour passer à l’étape suivante et du respect que l’employeur lui témoigne. L’effort nécessaire pour un entretien téléphonique est très faible, et le respect est proche de zéro.
    • Il existe aussi des services de candidature manuelle. Littéralement, des gens font métier de postuler à des offres d’emploi, et on peut trouver des personnes qui proposent ce service sur r/slavelabour.
      Certains facturent un forfait par candidature, d’autres prennent un pourcentage du premier salaire du nouveau poste.
      https://www.reddit.com/r/slavelabour/search/?q=job+applicati...
    • Il est courant qu’il y ait 100 candidats dès la première heure.
      Mon conseil aux deux parties : n’utilisez pas les job boards, utilisez plutôt votre propre site web.
    • J’ai entendu dire que le nombre de candidats affiché par LinkedIn ne correspond pas du tout à ce que les gens imaginent.
      Je ne me souviens plus des détails, mais depuis, je ne le prends plus au sérieux.
    • Pour info, d’après mon expérience, LinkedIn est aujourd’hui quasiment le pire endroit pour chercher un emploi quand on est une vraie personne qui sait réellement travailler.
      Tout le monde clique d’abord sur le bouton postuler un peu partout pour voir ce qui mord, donc le rapport signal/bruit est complètement nul. Si le site de l’entreprise a une section recrutement, il faut toujours la privilégier.
  • Quand je lis ce genre de messages, je me dis soit que je fais quelque chose de travers, soit que ce sont eux qui font quelque chose de travers.
    Je n’ai jamais envoyé des centaines de candidatures. Quand je cherche un emploi, je me renseigne sur quelques entreprises où j’aimerais travailler, j’envoie quelques candidatures réfléchies et, en général, j’obtiens au moins une réponse, et le plus souvent une invitation à un entretien.
    Bien sûr, j’ai un diplôme universitaire, mais beaucoup de gens ici doivent aussi en avoir un. Je vis dans une ville moyenne en Allemagne ; si quoi que ce soit, ça devrait rendre la recherche d’emploi plus difficile, pas plus facile.
    N’y a-t-il pas actuellement une pénurie de profils techniques qualifiés ? Dans beaucoup d’endroits, les critères de recrutement donnent l’impression d’être « n’importe qui qui passe la porte ». Nous aussi, je pense qu’on embaucherait presque toute personne sachant coder, fiable et capable de travailler en équipe.

    • Il y a énormément de profils techniques, mais il y a une pénurie de bons profils techniques. Il est incroyablement difficile de distinguer les deux au stade du CV. Quand on publie une annonce en ligne, on reçoit des centaines de candidatures en quelques jours.
      Imaginez que vous soyez un bon ingénieur : vous avez postulé dans une entreprise, mais 200 autres personnes l’ont fait aussi. L’entreprise doit éliminer automatiquement certains candidats ; vous pouvez être pris dans un simple filtre heuristique, ou simplement manquer de chance et voir votre CV finir à la poubelle parce qu’ils ont supprimé la moitié basse sans même la regarder.
      Que faire maintenant ? La question devient : passer beaucoup de temps la semaine suivante à répéter ce processus, ou abaisser ses critères et postuler à 200 entreprises de plus.
    • L’Allemagne semble différente. Ici, les choses semblent se faire beaucoup plus par bouche-à-oreille, et c’est peut-être pour cela que le spam aux LLM ne s’est pas répandu autant qu’au Royaume-Uni ou aux États-Unis.
      La plupart des postes ne sont pas annoncés aussi publiquement, et un ami vous parle du job en mode « je connais quelqu’un qui sait faire ça ».
    • Je vis aussi en Allemagne, et d’après mon expérience, même s’il y a pénurie, cela ne sert à rien si ce que les RH demandent n’apparaît pas dans l’expérience de votre CV sur l’année écoulée.
      Même si vous avez fait ce travail il y a 5 ans. Et les lettres de recommandation ne doivent pas contenir d’éléments négatifs déguisés en retours positifs.