Forum général.général Candidature et recrutement sur des postes/profils python

Posté par (page perso) . Licence CC by-sa
13
20
oct.
2015

Bonjour,

Comme vous l'avez peut-être remarqué, j'ai recruté deux personnes durant les derniers mois pour des postes python. Le second poste est d'ailleurs pourvu depuis peu.

Ayant eu l'occasion de chercher du boulot en python par le passé, et ayant eu du mal à en trouver ; et ayant recruté récemment des personnes sur le même genre de compétences, et ayant eu peu de candidatures (c'était volontaire, mais peut-être pas à ce niveau de "faiblesse du nombre de candidatures"), je me pose les questions suivantes :

  • Candidats : quand vous recherchez un taf en python, quels sont les critères que vous prenez en compte et comment recherchez vous ? (quels sites, quels types de boîte, quels outils)
  • Recruteurs : quand vous recrutez des personnes en python, comment faites vous pour trouver le bon candidat ? (quels outils utilisez vous, quels sites pour publier des annonces, quels tests techniques, etc).

La question est vraiment ouverte, je suis satisfait des résultats de mes recherches en tant que recruteur, mais c'est vrai que je n'ai pas toujours été satisfait par le passé sur mes recherches en tant que candidat.

  • # lolix

    Posté par (page perso) . Évalué à 3.

    Bonjour,

    Pour le site : historiquement lolix.org à 99%, les écoles pour le reste. Dernièrement on était passé par Malik de chez Matière Grise que je recommande fortement sur Paris.

    Pour les tests :
    - questions basiques et sans piège sur : les décorateurs, __doc__, yield (90% d'echecs)
    - questions basiques sur le réseau : première ligne d'une connection HTTP (90% d'echecs …), citer trois protocoles basé sur TCP (90% d'echec …)
    - Tests sur la connaissance du système unix (un programme setuid fait un execvp, s'en servir pour trouver le contenu d'un fichier) (100% d'echec - 1, de mémoire seul un ancien debian leader l'avait réussit sans aucune aide :), utile pour discuter et résoudre un problème ensemble )

    Normalement après ça, il ne reste plus assez de candidat pour avoir le choix donc il reste juste à vérifier la partie non technique.

    Pour le fun sur le dernier test j'ai eu :
    - Une personne codant à deux index (une touche par seconde).
    - Une personne ne connaissant pas ls, celui là venait d'un recruteur qui avait vérifié que le candidat connaissait linux, en effet il avait répondu oui à la question connaissez vous linux.
    - Une personne tapant sudo (et mince je l'avais utilisé avant …)

    J'ai eu aussi le droit à une personne ne parlant ni français ni anglais et me montrant son ordinateur portable pour communiquer ses réalisations, mais là on s'éloigne un peu.

    • [^] # Re: lolix

      Posté par (page perso) . Évalué à 3.

      Merci pour ce retour. Tu as eu beaucoup de candidatures sur Lolix ? (et quel ratio nb candidatures vs nb de candidatures pertinentes)

      Tu n'as pas posté sur le site de l'AFPY ? sur l'APEC ? Quelles sont les raisons ?

      • [^] # Re: lolix

        Posté par (page perso) . Évalué à 4.

        Perso (pas Python…), j'ai fait le deux (LinuxFr et Loix) en décalage donc j'ai pu voir la différence, j'ai eu 5x plus de gens venant de Lolix que de LinuxFr.
        Et le ratio de candidatures pertinentes devait être de 80%.

      • [^] # Re: lolix

        Posté par (page perso) . Évalué à 2.

        Sur lolix, j'avais très peu de candidature mais un ratio énorme de bonne candidature. Entre 50 et 100% suivant les moments. Avec l'afpy trop peu de candidature pour dire. Sur l'APEC, je n'ai rencontré qu'un bon candidat du coup recruté mais c'était pour moi un coup de chance, j'en ai jamais eu d'autres.

        Surtout sur lolix tu trouves des personnes ayant la même mentalité, du coup ça collait tout de suite. Ils avaient eux aussi envie de venir.

    • [^] # Re: lolix

      Posté par . Évalué à 3.

      Comme disait quelqu'un d'autre, j'aurais échoué à ces tests. Et au final, je ne suis pas sûr que je m'y serais retrouvé si j'avais été pris. Si c'est pour être dans un contexte où les débats tournent autour de questions comme ça … Le développement, ça va au-delà de ça, au niveau technique sur le design, le rapport à la qualité, … et au niveau humain, motivation, curiosité, capacité à proposer ou échanger des idées, …

      J'aurais échoué et pourtant, ce n'est pas faute d'avoir utilisé Python au quotidien pendant 7 ans, et je travaille sous Linux depuis 10 ans. Avec un bon niveau en développement je pense, la capacité à m'adapter et à comprendre les problèmes …

      Quelles sont les difficultés que j'ai rencontré pendant ces années autour de Python ? Et bien le code pondu par quelques gars brillants techniquement, qui s'était fait plaisir sur la technique sans s'être vraiment posé de questions sur l'utilisation, les fonctionnalités, …

      Oui, il faut connaître les langages, les mécanismes de Linux, … mais à mon avis, en fixant la barre haute sur des points de techniques si précis, ça te prive de bon candidats. Si c'est une volonté, que ça correspond à l'identité de la boîte, je trouve ça dommage pour la variété (et risqué, même, pour tout dire).

  • # Afpy

    Posté par . Évalué à 3.

    Je vais répondre en tant que candidat.

    Le site de l'Afpy est celui sur lequel je trouve le plus d'offres.

    Les offres proposées sont en général assez bien détaillées, et les profils recherchés plutôt pointus.

    J'ai eu à échanger avec plusieurs recruteurs qui me confiaient qu'il avaient des difficultés à trouver des profils et ne savaient pas trop où poster ces offres pour atteindre le plus de candidats possibles.

    Après sur DLFP il y a aussi une certaine audience, mais il faut poster dans les règles de l'art, car le public est difficile ici…

    • [^] # Re: Afpy

      Posté par (page perso) . Évalué à 3.

      Merci pour ton retour godzom.

      J'ai eu à échanger avec plusieurs recruteurs qui me confiaient qu'il avaient des difficultés à trouver des profils et ne savaient pas trop où poster ces offres pour atteindre le plus de candidats possibles.

      En fait, la difficulté est d'atteindre plus de candidats sans avoir "la "masse". J'avais personnellement posté sur LinuxFR et AFPY uniquement. Très peu de candidats, j'aurais bien aimé en avoir un peu plus, mais au final j'ai eu de bons profils.

      Après sur DLFP il y a aussi une certaine audience, mais il faut poster dans les règles de l'art, car le public est difficile ici…

      DLFP est un public difficile pour les annonceurs. C'est un challenge de rédiger une annonce bien perçue ici ; l'avantage c'est qu'une fois validée sur DLFP, on est sur que l'annonce va passer partout ;)

      • [^] # Re: Afpy

        Posté par (page perso) . Évalué à 6.

        C'est un challenge de rédiger une annonce bien perçue ici

        C'est vrai qu'indiquer une fourchette de rémunération, ainsi que le lieu de travail, c'est un sacré challenge :-)
        Les « vrais » sites d'annonce ont un gros avantage/inconvénient : il n'y a pas de possibilité de poster des commentaires. Donc forcément les mauvais annonceurs ne peuvent que difficilement s'améliorer.

    • [^] # Re: Afpy

      Posté par . Évalué à 10.

      car le public est difficile ici…

      Justement pour une fois où c'est nous qui pouvons envoyer chier les recruteurs, on va pas se faire chier !!!

      Blague à part, masquer la moité des infos, dont les plus importantes lorsque l'on recrute quelqu'un ne me semble pas la meilleurs approche. Lorsqu'on cherche un job, le lieu comme la rémunération font généralement parti des premiers critères, et si la localisation importe peu, alors la rémunération est indispensable.

      Un autre site qui donnes des offres bien formatée c'est stackoverflow (un exemple ici http://careers.stackoverflow.com/jobs/100377/d%C3%A9veloppeur-c-c-plus-plus-h-f-3d-opengl-pour-sculpteo )

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # Technique avant tout ?

    Posté par (page perso) . Évalué à 10.

    Dans les réponses ci-dessus, et de par mon expérience, j'ai l'impression que le pb de recrutement est d'un niveau technique requis très (trop ?) important. Dans une boîte précédente, je me souviens du nouveau responsable du dév qui était frustré de ne pas trouver de candidat "compétent". Quand je voyais les tests techniques et le niveau attendu, mis en perspective avec la rémunération, ça me paraissait très difficile de trouver un candidat. D'ailleurs, pour l'anecdote, j'aurais échoué aux tests techniques alors que j'étais dans la boîte en question depuis plusieurs années, que j'avais une rémunération nettement supérieure à celle proposée et que j'avais mis en place toute l'archi logicielle de l'infrastructure SAAS. J'aurais été recalé sans appel possible.

    Par la suite, j'ai également été recalé de fait suite à des entretiens où les premières questions étaient techniques - on n'avait ni fait le tour du poste, ni de mon parcours avant de discuter technique. j'avais donc été recalé, mais sans regret : quand je postule quelque part, c'est pour participer à une aventure, être dans une équipe, pas pour "pisser du code et inventer des algos dans mon coin"…

    J'ai l'impression que le manque de "fit" entre candidats et recruteurs vient d'une part de candidats qui ne sont pas très bons techniques (ou qui se survendent), mais aussi de recruteurs qui cherchent des compétences à un instant donné et non une "tête bien faite" - un mec motivé et pas trop bête peut apprendre plein de trucs (mais ça veut dire qu'il ne les connait pas au début).

    Par exemple, si je prends les tests techniques indiqués par Gauthier Monserand ci-dessus, je pense qu'à aucun moment je n'aurais passé le cap du test technique. Par contre je suis assez malin et curieux pour apprendre ce qui est nécessaire, mais dans la démarche indiquée, j'aurais été recalé. Je ne sais pas de quel type de boîte il s'agit ni des profils recherchés (et de la rémunération proposée), peut-être que les candidats qui passent le cap sont en nombre suffisant (donc au final le process est approprié), mais j'ai quand même l'impression que d'une manière générale, la barre est placée haut d'un point de vue "connaissances déjà acquises" et que l'aspect "capacité à monter en compétences" est considéré comme un simple bonus (dans le sens où si on est recalé au premier test technique, bah la capacité à réfléchir et progresser n'est même pas évaluée).

    Question annexe : vous travaillez uniquement avec des gurus du code ? (c'est pas péjoratif, c'est une vraie question : est-ce qu'il n'y a que des experts dans vos équipes)

    • [^] # Re: Technique avant tout ?

      Posté par (page perso) . Évalué à 4.

      note : ça fait sûrement un peu branlette pompeux le "participer à une aventure", mais l'idée c'est que selon la tâche principale liée au poste, l'intérêt peut être nettement différent (par exemple bosser sur des projets R&D vs bosser sur des projets déjà en prod, bosser pour une typologie d'utilisateurs - grand public ? professionnels ?).

    • [^] # Re: Technique avant tout ?

      Posté par (page perso) . Évalué à 5.

      Entièrement d'accord avec ce constat global. D'autant que souvent les tests techniques demandent du par cœur (parfois dans des points où ce n'est même pas pertinent) alors qu'un test ouvert sur l'échange est plus appréciable.

      Il est plus intéressant, je trouve, de trouver quelqu'un qui s'adapte et apprend correctement notamment seul qu'une encyclopédie rigide sur patte. Cela peut se voir en test technique sans prendre beaucoup de temps.

      J'en ai déjà eu, et j'ai trouvé que c'était très enrichissant : tu ressors en apprenant des trucs. Par exemple on peut discuter autour de l'architecture d'un programme fictif (pour identifier les points faibles et forts du dispositif pour la fonction donnée), comment améliorer la lisibilité / robustesse d'un code d'exemple, discuter du processus de développement d'un projet…

      Car ce sont ces éléments là qui sont réellement utiles et difficiles à apprendre / comprendre, certains ont du mal après 40 ans de carrière… Connaître par cœur un point obscur du langage, une définition à la virgule près ou autre n'est pas très pertinent, d'autant plus que la réponse est souvent accessible rapidement sur la machine.

    • [^] # Re: Technique avant tout ?

      Posté par . Évalué à 4.

      Question annexe : vous travaillez uniquement avec des gurus du code ? (c'est pas péjoratif, c'est une vraie question : est-ce qu'il n'y a que des experts dans vos équipes)

      Là où je suis, non, et le niveau de certains est désespérant.

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: Technique avant tout ?

        Posté par . Évalué à 2.

        T'as des exemples ? (oui, j'ai tout lu sur DailyWTF :( )

        "Quand certains râlent contre systemd, d'autres s'attaquent aux vrais problèmes." (merci Sinma !)

        • [^] # Re: Technique avant tout ?

          Posté par . Évalué à 4.

          T'as des exemples ? (oui, j'ai tout lu sur DailyWTF :( )

          • en java, insertion de dizaine de milliers d'éléments dans une liste en évitant les doublons : à chaque insert un parcours de la liste actuelle. (LinkedHashSet aurait été plus approprié)
          • en c++ : un collègue vient me voir pour savoir comment identifier les jeux d'actions identique (l'ordre n'importe pas, chaque action est identifiée par une string), je lui propose de faire une map, ActionList> >, lui montre un exemple où c'est déjà fait dans le code, il me fait un vector,ActionList> >, et il fait les recherches manuelle pour savoir si tous les identifiant présent dans une action list sont dans le vector, et il fait sa recherche jusqu'à trouver l'élément ou arriver à la fin, si il arrive à la fin il ajoute sa pair, ActionList>…

          ce qui devrait tenir en 10 lignes se retrouve sur plus d'un écran, ce qui aurait du prendre 1H, à pris 1 journée (sans être fini), pour au final que je fasse le 'bon' code en 15 minutes pour lui filer à tester.

          A noter que lorsqu'on passe en c++11 on peut remplacer les map/set par unordered_map/unordered_set pour encore plus de perf.

          • en python, un gars qui voulait faire un min entre deux entiers (ce que le code attends, ce qui est indiqué dans les intentions (commentaire du code, écrit par le codeur), et qui au final fait un max sur 10 lignes… (Il y a une fonction min en python)

          Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • # Who's hiring?

    Posté par . Évalué à 6.

    J'utilise un double compte car je ne veux pas que ce contenu soit lié à mon compte principal.

    J'ai travaillé dans deux entreprises américaines (j'avais eu un visa H-1B quand les visas H-1B étaient encore facile à avoir) puis je me suis rapatrié en Europe il y a 6 mois parce que j'en avais marre d'avoir deux semaines de congé payés, et avoir comme seul avantage "une table de ping-pong" ou "un baby foot".

    Le truc aux États-Unis c'est qu'on te donne rapidement des responsabilités, et t'apprends vite quand t'es jeune. Après 1 semaine dans ma première entreprise je prenais déjà part aux entretiens techniques, après 6 mois je menais les entretiens techniques.

    Vu que je suis développeur python, et j'ai été amené à faire et aller à des entretiens je peux répondre à tes deux questions:

    quand vous recherchez un taf en python, quels sont les critères que vous prenez en compte et comment recherchez vous ? (quels sites, quels types de boîte, quels outils)

    Moi perso, pour me rapatrier en Europe j'ai regardé sur careers.stackoverflow.com et les discussion "Who's hiring?" sur news.ycombinator.com. Pour la France, j'ai fait deux entretiens dans des boîtes sur LoLix, j'ai vite abandonné après le foutage de gueule. (Ils cherchaient un expert, pour un bas salaire et un status de cadre.) Et en France j'ai l'impression qu'on cherche plus des stagiaires ou des esclaves plutôt que des ingénieurs…

    Ce que je prenais en compte personnellement, c'est la possibilité de ne pas faire que du python. Je voulais faire d'autres truc à coté, que ce soit du C, C++, Go, … Je cherchais aussi une entreprise qui faisait un truc cool avec des défis techniques, pas une application Django qui fait du CRUD.

    Recruteurs : quand vous recrutez des personnes en python, comment faites vous pour trouver le bon candidat ? (quels outils utilisez vous, quels sites pour publier des annonces, quels tests techniques, etc).

    Ce qu'on faisait aux États-Unis, c'est on prend un outil de partage de code (coderpad.io est l'outil que tout le monde utilise maintenant) et on faisait des petit exercices de merde.

    Tu serais impressionné combien de candidats ne savent pas faire de trucs basiques…

    Je me rappelle une candidate à qui j'avais demandé "écris une fonction qui retourne 'Hello World'", et elle s'obstinait à écrire print "Hello World" au lieu de return
    Je me rappelle un candidat qui ne savait pas comment trouver un élément dans une liste…
    Ou des gens qui se disent "expert" en python, et ne savent pas écrire un décorateur…
    Des trucs basiques comme ça, mais qui sont très révélateur…

    Mon patron publiait (pour les états unis) sur stackoverflow carreers. L'autre entreprise postait une annonce en réponse à "Who's hiring" sur ycombinator.

    En France, humancoders.com était la référence pour le ruby, mais maintenant j'ai l'impression qu'il y a quelques offres python.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.