Paris, France
+33 6 84 12 47 08
cyril.poulet@centraliens.net

Recruter un data scientist : comment faire dans un contexte de manque de profils ?

Recruter un data scientist : comment faire dans un contexte de manque de profils ?

Recruter un data scientist (au sens large, dans le domaine de l’IA), en particulier senior, est une tâche ardue: peu de profils disponibles sur le marché, hauts salaires, et difficulté à évaluer leur compétence sans avoir déjà ce genre de profil pour aider au recrutement.
Voici donc quelques conseils pour vous aider dans la quête du data scientist qui complétera idéalement votre équipe, basés sur mon expérience des deux côtés de la table.

Soyez réactifs

Bien évidemment, ce conseil est valable pour tous vos recrutements, mais il est particulièrement important sur un marché où l’offre est faible. Il est important de pouvoir répondre rapidement aux questions de vos candidats, en particulier lorsque vous leur avez proposé une tâche à réaliser pour tester leurs compétences. De plus, il est fortement recommandé que ce soit votre data scientist qui soit en contact direct avec le candidat, ou que celui-ci ait correctement briefé les RH sur quoi répondre.

En tant que candidat, il est peu motivant de s’entendre répondre des RH “on ne sait pas, les data scientists sont injoignables pour la semaine” quand on vous a demandé de réaliser un test complexe en une semaine…

N’y allez pas au forcing

Encore une fois, ce conseil parait évident, mais est loin d’être appliqué. Il est à prendre en deux parties :

  • si vous cherchez vous-même les candidats, vérifiez que votre poste correspond au profil et aux attentes du candidat. Bien sûr, vous n’aurez jamais une correspondance parfaite, mais prendre un peu de temps pour réfléchir à l’adéquation du profil à votre annonce n’est jamais perdu.
    Un message me proposant un poste sur une technologie que j’ai vu il y a 10 ans et jamais retouché depuis n’est pas la meilleure façon de me faire découvrir une entreprise. Cela me dit juste que vous avez tapé un mot clé sur LinkedIn puis spammé tous les profils qui sont ressorti. Dans un contexte de forte demande pour mon profil, ce n’est pas un bon point pour votre entreprise.

  • Si un candidat dit que le poste ne l’intéresse pas malgré une adéquation forte entre son profil et votre poste, ne proposez pas de passer quand même le processus de recrutement si vous n’avez pas les moyens d’adapter le poste pour qu’il plaise au candidat (que ce soit en termes de mission ou de salaire).
    C’est du temps perdu pour vous, pour lui, et la probabilité qu’il change d’avis à la fin du processus si vous n’adaptez pas le poste est quasi-nulle. Pire, il aura donné de son temps avec l’idée tacite que si vous avez insisté, c’est que vous pouvez adapter le poste à ses envies: sa déception n’en sera donc que plus grande, avec l’impression forte d’avoir perdu son temps pour rien. Cela donne une très mauvaise image de votre entreprise, qu’il n’hésitera pas à partager à ses connaissances, dont certaines auraient pu être de bons candidats aussi.

Proposez des tests techniques adaptés

Pour des postes requérant avant tout une efficacité et une qualité de code, il est évidemment pertinent de proposer des tests de code, et il existe maintenant de nombreux outils en ligne permettant de mettre en place ce genre de test.
En ce qui concerne les data scientists, en revanche, il est plus difficile de tester les compétences du candidat, car il devra manipuler des concepts et des frameworks complexes, et montrer une compréhension et une approche appropriée à des problématiques souvent mal définies. Cela requiert de plus un data scientist (senior) qui puisse vous aider pour ces tests.
Voici trois approches possibles:

  1. le test d’algorithmie : se fait en général en environ 1h. Il peut se faire en ligne ou en direct, et si en ligne, avec ou sans accompagnement de votre part.
    Il s’agit de poser un problème défini (de la géométrie par exemple, ou compter des objets répondant à certaines contraintes), qui nécessite l’appel à des connaissances sur les structures de données, avec l’objectif clair de trouver une solution qui soit certes fonctionnelle, mais aussi optimisée en termes de complexité temporelle de calcul.
    Il est possible d’utiliser des outils en ligne pour implémenter ce test (en mettant dans les exemples à résoudre des valeurs à gros volume pour tester l’efficacité de la solution), mais je recommande d’avoir un accompagnement humain de votre part : celui-ci permet à la fois de comprendre comment réfléchit le candidat (quelles questions se pose-t-il ? Quelle approche va-t-il utiliser en premier ? etc), et de le guider en cas de besoin pour voir si un indice peut lui permettre de reprendre ses marques et repartir dans la bonne direction (le trac peut faire perdre ses moyens à un bon candidat, il serait dommage de le perdre parce qu’il a paniqué et qu’il n’a pas réussi à se débloquer)

  2. Le test de data science (souvent orienté machine learning): c’est un test qui demande plus de temps et d’investissement de la part du candidat (plusieurs heures, en général), avec plus de possibilités techniques pour le traiter. Plusieurs critères sont à prendre en compte:
    • sa difficulté : envoyer un test trop facile ne donne pas envie au candidat de montrer sa maîtrise du domaine, en particulier si l’application de techniques de base permet de résoudre le problème en 10 minutes.
      J’ai ainsi déjà reçu un test trop facile, qui m’a non seulement peu motivé, mais m’a aussi fait douter fortement de la séniorité du poste proposé.
      Cela ne vous permettra pas non plus de vous rendre compte de la valeur du candidat.
    • son intérêt : préférez un sujet proche de ce que le candidat devra traiter s’il obtient le poste, et qui lui demande de réfléchir à ces problématiques. Évitez aussi un problème intéressant, mais dont des solutions existent sur l’étagère, déployables en 10 minutes (à la limite, prévenez de l’existence de ladite solution, et précisez que vous souhaitez une autre approche de la part du candidat).

    Bien évidemment, l’investissement demandé au candidat doit avoir son équivalent côté employeur : le data scientist en charge du recrutement doit prendre du temps pour répondre aux questions du candidat, et pour évaluer correctement la solution proposée. Il est souvent très profitable de choisir un problème intéressant et complexe, et d’encourager le candidat non pas à résoudre le problème, mais à choisir une approche et la pousser aussi loin que possible, tout en présentant les points forts et faibles de son approche lors de la soumission. Cela vous permettra de voir s’il maîtrise le domaine, et s’il a le recul nécessaire sur ses choix technologiques.

    Vous l’aurez compris, c’est le test qui requiert le plus de temps pour l’employeur, et il peut être utile de rationaliser ce temps :
    • choisir un problème existant plutôt que créer un problème vous-même: de nombreuses plateformes existent actuellement proposant des challenges de data science, telle que Kaggle. Choisir un challenge sur ces plateformes vous permettra de vous assurez de leur complexité, de la disponibilité de données pertinentes, et éventuellement du ranking de la solution proposée par le candidat (mais ce dernier point est loin d’être nécessaire)
    • proposer le même problème à tous les candidats : vous pourrez ainsi comparer les approches proposées, et votre data scientist sera déjà familier du problème pour les candidats suivants.

  3. le test de l’article scientifique: ce test permet de s’assurer que le candidat est capable de lire et de comprendre un article scientifique dans le domaine qui vous intéresse, ce qui est une compétence indispensable dans un domaine technique aussi prolifique et évoluant rapidement que l’intelligence artificielle. Il nécessite évidemment un face-à-face entre le candidat et votre data scientist. Pour éviter les temps morts, il est préférable d’envoyer au candidat l’article au préalable, de manière à le laisser préparer l’entretien sereinement.
    Le choix de l’article scientifique est important : choisissez un article avec de la matière (quitte à indiquer un sujet à privilégier dedans), avec quelques dépendances mais pas trop (c’est utile de savoir si le candidat est allé lire le ou les 2/3 articles qui précèdent, mais s’il y en a 25 à maîtriser, l’entretien va être compliqué à mener), et bien évidemment dans un domaine important pour le poste à pourvoir. Choisir un article fondateur de la discipline est souvent un bon choix, car il permet de mettre le candidat en confiance (il n’y a pas de piège, c’est un article très connu) tout en testant sa compréhension des notions fondamentales qu’il devra manipuler à son futur poste.

    Ici aussi, étant donné l’investissement temporel pour votre data scientist, il est intéressant de proposer le même article à tous les candidats.

Conclusion

Ceci conclut ce billet de blog déjà long sur le recrutement de data scientists. L’important dans la situation actuelle d’offre limité est de mettre le candidat en confiance et de lui donner envie de vous rejoindre. Cela passe par un investissement en temps d’accompagnement, qu’il faut rationaliser en analysant correctement vos besoins et en proposant les tests adaptés.
Un candidat ne se plaindra jamais d’être testé. En revanche, il se plaindra s’il ne comprend pas la pertinence de l’investissement temporel qui lui est demandé par rapport au poste offert, et s’il a l’impression que ses questions ne sont jamais étudiées par l’entreprise.

Si vous avez des remarques ou des retours d’expérience, n’hésitez pas à les partager en commentaire.

Je suis aussi disponible pour vous aider dans vos besoins de recrutement, en particulier si vous cherchez à recruter votre premier data scientist interne.

Tags: , ,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *