Forum général.général Sélection stagiaire développement

Posté par  . Licence CC By‑SA.
4
17
déc.
2021

Bonjour,

Nous cherchons à recruter un stagiaire pour faire du développement (en C) pour 2022. Je suis impliqué dans le processus de recrutement et je me demandais comment sélectionner un stagiaire compétent (savoir-faire) pour le stage. C'est vraiment la question de l'évaluation des compétences techniques du candidat stagiaire qui est posée ici. Au delà des questions non techniques, je pensais poser quelques questions sur le langage C, 1 ou 2 petits exercices de lecture de code et 1 ou 2 petits exercices d'écriture de code.

Ce n'est pas forcément explicite donc je précise :
- je ne cherche pas à savoir où recruter un stagiaire
- j'ai conscience qu'il n'est pas possible de demander autant à un stagiaire qu'à un développeur confirmé

Je suis certain que nombre d'entre vous ont déjà rencontré cette problématique, comment avez-vous fait ? Que feriez-vous "mieux" si c'était à refaire ?

Merci d'avance pour vos réponses.

  • # La fonction du stage c'est l'apprentissage, rien de plus.

    Posté par  . Évalué à 8.

    Donc si tu attends d'une stagiaire un résultat comparable à celui d'une développeuse qui sort de l'école, tu te fourvoies. Autrement dit il ne faut pas que le travail demandé à une stagiaire conditionne la réussite d'un projet. Si c'est le cas c'est que le stage est un cdd camouflé en stage et c'est une escroquerie.

    Après, pour les compétences, j'affiche des généralités : si je veux un code en Fortran, je peux quand même prendre une étudiante qui ne connaît que le C mais qui me parait capable d'apprendre. Pour du calcul intensif, il me faudra quelqu'un capable de penser parallélisation. Quelqu'un qui a des notions de base en programmation objet si je veux un code en Python ou en Java. Quelqu'un qui connaît ou peut apprendre à utiliser une forge basée sur Git. Et enfin quelqu'un capable de se passer de son EDI préféré pour se débrouiller si nécessaire avec un simple éditeur de texte et make (ou analogue). Ainsi pour un code Java, je ne veux pas qu'Eclipse soit nécessaire, sinon ce n'est pas du Java que la stagiaire écrit, c'est de l'Eclipse.

    Pour un stage très exploratoire concernant une technologie particulière (par exemple : est-il possible et intéressant de passer tel code sur GPU ?) je privilégierai une étudiante qui a déjà joué avec cette technologie, mais ce n'est pas indispensable, juste un gain de temps. Voire, il peut même être intéressant de recruter une étudiante qui ne connaît pas du tout cette technologie mais qui est brillante, apprend vite et est intéressée.

    Donc pour résumer : des généralités et une capacité (qui implique l'envie) d'apprendre.

    Disclaimer : je ne me suis jamais interdit de recruter des stagiaires mâles, mais il n'y a pas de raison de toujours privilégier le masculin. ;-)

    • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

      Posté par  . Évalué à 2.

      J'avais bien noté dans ma demande qu'il n'est pas possible d'en demander autant à un stagiaire qu'à un ingénieur confirmé. Il était sous-entendu que le travail demandé n'est pas tout à fait du même niveau. Néanmoins, le travail demandé lors du stage a un intérêt pour l'entreprise, ce n'est pas que de l'apprentissage mais aussi une finalité (qui peut ne pas être atteinte).

      Le stage a un coût pour l'entreprise, hors la (faible) rémunération au stagiaire, il y a le temps à passer avec le stagiaire pour expliquer, vérifier, corriger, transmettre… Si le seul bénéfice du stage est du côté du ou de la stagiaire, je ne pense pas que le principe aurait tenu aussi longtemps. Je pense que les 2 parties doivent bénéficier de cette expérience. Dans le cas présent, je cherche quelqu'un qui a déjà quelques compétences en C pour ne pas partir de zéro mais il est évident que l'étudiant(e) apprendra beaucoup de choses sur ce langage de programmation pendant son stage avec notre aide.

      • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

        Posté par  . Évalué à 7.

        Si le seul bénéfice du stage est du côté du ou de la stagiaire, je ne pense pas que le principe aurait tenu aussi longtemps.

        Certes. Mais il ne faut pas oublier pas un petit détail quand il s'agit de développement informatique : la stagiaire conserve l'intégralité des droits de propriété intellectuelle sur ce qu'elle a produit. En particulier, la stagiaire n'étant pas salariée de l'entreprise c'est elle qui a les droits patrimoniaux. Sauf si le contraire est expressément fixé par la convention de stage. Donc si l'entreprise veut pouvoir faire quelque chose du code produit, il faut bien rédiger la convention de stage. Sinon il faut considérer que c'est du code jetable à réécrire en entier en interne.

        • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

          Posté par  . Évalué à 3.

          la stagiaire conserve l'intégralité des droits de propriété intellectuelle sur ce qu'elle a produit

          Je l'ignorais. As-tu une source vers laquelle m'orienter ? Ce que j'ai trouvé ne fait pas mention de cela (ou alors j'ai lu trop vite).

          Est-ce que j’extrapole trop si je comprends que même un rapport (travail assigné par l'entreprise) qui résulterait des recherches de la stagiaire ne pourrait être considéré comme propriété de l'entreprise ? Cas concret (mais pas pour le stage proposé en 2022) : nous demandons à la stagiaire de faire une étude sur les différentes technologies utilisées pour réaliser une fonctionnalité, nous nous basons sur ce rapport pour faire un choix et livrons au client les recherches effectués pour choisir telle ou telle technologie pour réaliser la fonctionnalité demandée par le client au cahier des charges. Ce rapport est donc livré au client au nom de l'entreprise. Est-ce que l'entreprise est dans l'illégalité puisqu'elle livre un rapport qui ne lui appartient pas ?

        • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

          Posté par  (site web personnel, Mastodon) . Évalué à 3.

          Le code peut ne pas être jetable, mais il n'est pas couvert par la même licence en gros …parce-que les stagiaires sont supposés repartir avec toute leur production et l'exhiber dans leur rapport de stage… Et effectivement, si l'entreprise n'a pas demandé une copie, elle l'a dans l'os ; mais d'habitude une copie du rapport de stage et des annexes leur est fourni (bien qu'il n'y ait rien d'obligatoire…)

          “It is seldom that liberty of any kind is lost all at once.” ― David Hume

      • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

        Posté par  . Évalué à 4.

        Donc tu es plus en recherche de quelqu'un qui te pond du code pour pas cher que de quelqu'un à embaucher à court/moyen terme pour faire la même chose…

        Perso, je trouve ça laid comme approche.

        • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

          Posté par  . Évalué à 4.

          S'il fallait pondre du code, je pense que la démarche la plus économique serait de prendre quelqu'un qui a de l'expérience : son autonomie ne demande un suivi rapproché, la code écrit est d'une qualité tout autre que celui du ou de la stagiaire.

          Je recherche une personne pour faire un travail utile mais qui ne requiert pas d'expertise. Si nous ne prenons pas de stagiaire, c'est un développeur confirmé qui s'en chargera, ça prendra environ 1 mois et puis voilà. L'autre solution, celle qui a été choisie, c'est de prendre un stagiaire pour 6 mois.

          Je suis sincèrement curieux, quel travail demanderais-tu à un stagiaire "développeur" sans lui demander d'écrire du code ?

          • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

            Posté par  . Évalué à 4.

            À mon sens, le problème n'est évidemment pas de faire écrire du code à un stagiaire !
            Mais la finalité de la chose.

            Si l'idée c'est de prendre un stagiaire à pas cher pour pondre du code qui va être réutilisé (peut-être même en prod) / revendu / whatever par ta boîte, alors c'est mal car dans ce cas l'important n'est pas le petit jeune mais le code.

            Si l'idée c'est de chercher à sélectionner et former un petit jeune (en vue de le recruter à court terme), alors c'est bien car dans ce cas, l'important n'est pas le code mais le petit jeune.

            See the difference ?

            • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

              Posté par  . Évalué à 3.

              Oui, je vois la différence mais je n'ai pas la volonté d'exploiter un ou une étudiante qui n'a même pas encore son diplôme (il en va de même pour les diplômés, expérimentés ou non). Je n'avais pas l'impression de laisser sous entendre une quelconque volonté d'aller dans ce sens. Ce que je trouve dommage dans ton propos c'est que tu mets en opposition les finalités :

              dans ce cas l'important n'est pas le petit jeune mais le code

              Il s'agit de la même problématique pour un développeur confirmé, le code est important mais la personne l'est au moins autant. C'est la même chose pour un jeune développeur, qu'il soit salarié ou prestataire, la boite où je travaille prend du temps pour accompagner ces personnes parce ce n'est pas humainement possible de faire autrement. Un ou une stagiaire n'est en rien différent, peut être que l'évidence est telle que je n'ai pas jugé utile de l'écrire.

              Nous n'avons de besoin en recrutement immédiat donc à moins que le stagiaire soit fantastique, nous ne l'embaucherons pas. Si tous les stages étaient du pré-recrutement, je pense que beaucoup de stagiaires resteraient sur le carreau.

              Mon intention est de :
              - faire un boulot (relativement "simple") sur du code en C
              - trouver quelqu'un pour le faire
              - si cette personne est un(e) stagiaire : prendre du temps pour expliquer, vérifier, corriger le travail

              L'idée de prendre un stagiaire est que ça prenne un peu moins de temps (aux développeurs salariés) que si c'était un développeur en interne qui le faisait. Si les 6 mois de stage me prennent 2 semaines de suivi (environ 45 minutes par jour) pour un travail que j'ai estimé à 4 semaines, ça me fait gagner 2 semaines à bosser sur autre chose. Financièrement, ce n'est pas très intéressant (si ça l'est) mais au niveau temps, ça peut l'être.

              Ce que je ne veux pas c'est passer 2 heures par jour pour aider un stagiaire à faire un rapport qui lui permettra d'avoir son diplôme. Le stage de fin d'études fin conclure la formation de l'étudiant qui censé être déjà formé (même si tout le monde est conscient que l'apprentissage ne cesse jamais).

              Ce que je ne veux pas non plus, c'est un ou une stagiaire qui se tourne les pouces pendant 6 mois et que nous n'ayons pas avancé. Le travail demandé n'est pas critique et nous pouvons le repousser mais, à la fin du stage, nous serons 6 mois plus tard et il n'aura toujours pas été fait. Que le ou la stagiaire n'est pas réussi à "tout" faire, c'est acceptable mais j'aimerais que le sujet avance.

              Est-ce que ma demande parait plus légitime formulée ainsi ou est-ce toujours aussi "laid" ?

        • [^] # Re: La fonction du stage c'est l'apprentissage, rien de plus.

          Posté par  (site web personnel, Mastodon) . Évalué à 5.

          Pourtant, il y a des boîtes qui fonctionnent malheureusement ainsi… J'ai passé un stage dans l'une d'entre elles : l'essentiel du boulot a été fait pas des stagiaires… et je te parle pas de la qualité du code en production…

          “It is seldom that liberty of any kind is lost all at once.” ― David Hume

  • # Qu'attends l'équipe ?

    Posté par  . Évalué à 0.

    Hello,

    Je dirais qu'il faut voir ce dont l'équipe à besoin et surtout le ou la personne qui vont le prendre sous leur aile. Je dirais qu'ielle faut lui faire faire ce qu'ielle va faire le premier jour de son stage. Comme ça tout le monde part sur de bonnes bases. (Si tu estime qu'il y a un gap entre l'entretient et ce que tu attends de ta ou ton stagiaire le premier jour, ce peut-être que la marche est trop haute)

    Julien_c'est_bien (y'a pas que Seb)

  • # Plus que des tests techniques ...

    Posté par  (site web personnel, Mastodon) . Évalué à 9.

    La démarche d'investigation. Tu mets le candidat face à un code bugué techniquement ou par design (exemple : mauvaise gestion des effets de bord) et tu discutes avec lui du problème, des solutions à envisager, pourquoi, avec quelles limites, etc.

    Tu vas vite voir comment il réagit, comment il interagit et c'est ça qui en fera un bon collègue - et un candidat apte à fournir des résultats probants.

    Un point important aussi : souvent des jeunes candidats sont intimidés. Du coup la combinaison tests techniques (qui peuvent rassurer qqun de très timide) et interactions est importante.

    Chez des candidats jeunes (stage ou recrutement), je cherche en général + à identifier les bases théoriques et leur connaissance/compréhension et les motivations plus que les compétences directement opérationnelles.

    • [^] # Re: Plus que des tests techniques ...

      Posté par  . Évalué à 3. Dernière modification le 18 décembre 2021 à 23:26.

      Merci pour ce retour intéressant. Dans le cadre d'un recrutement, j'ai également remarqué que le jeunes candidats n'étaient pas forcément à l'aise… même quand il s'agit de parler de leurs expériences.

      Le code bugué me semble être un bon exercice car il permet de voir les points suivants :
      - compréhension du code
      - détection d'un problème
      - réflexion par rapport aux solutions

      Concernant le recrutement de jeunes candidats (maximum 2-3 ans d'expérience), j'ai eu des surprises avec des personnes qui connaissaient relativement bien la théorie mais qui ne comprenaient pas de l'algorithmie basique (et la syntaxe tout aussi basique).

      • [^] # Re: Plus que des tests techniques ...

        Posté par  (site web personnel, Mastodon) . Évalué à 3. Dernière modification le 21 décembre 2021 à 22:09.

        L'algorithmie fait partie de la théorie, pour moi. La syntaxe non. Par contre l'exercice d'analyse de code (y compris sur un langage inconnu du candidat) permet d'évaluer le bon sens, le pragmatisme, l'intuition et la faculté d'adaptation …

Suivre le flux des commentaires

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