• [^] # Re: Chouette

    Posté par (site web personnel, Mastodon) . En réponse au lien Avez vous déjà vu... ? (du recrutement, spécialement informatique). Évalué à 4. Dernière modification le 08 avril 2022 à 15:09.

    Ok c'est effectivement plus acceptable présenté ainsi. 🙂

    Pour revenir sur la connaissance de certains concepts, genre la programmation par évènement, un bon programmeur débutant pourrait ne pas connaître cela mais apprendre très vite (c'est vraiment pas si compliqué une fois qu'on a pigé la logique). Dans les débutants qu'on voit qui font des patchs dans GIMP, certains vont certes avoir des problèmes sur les trucs les plus basiques (et tu vas faire 10 A/R juste pour des détails genre le style de code, pour lesquels certains ne semblent pas piger l'idée derrière les instructions donc le font mal 9 fois de suite). Mais y en a certains qui pigent tout super vite. Et oui à un moment, en proposant des patchs de plus en plus compliqués, ils en viennent nécessairement à devoir faire de la gestions de signaux ou autres évènements asynchrones. Et là on voit tout de suite que la personne qui pige vite, ben elle va aussi piger ça très vite. Certes le premier patch, elle fera des erreurs basiques de logique (quand elle découvre le concept), puis plus ça va, moins il y a d'erreur et plus on voit qu'elle comprend et devient efficace.

    Si ça avait été un recrutement comme tu proposes (et non un logiciel libre) et que je lui avais demandé si elle connaissait des concepts de programmation asynchrone (pour répondre à ta remarque si ce terme est trop théorique pour moi: ça va, "synchrone/asynchrone", je classe pas ça dans la théorie 🤣. C'est pas un nom abscons de bouquin pour une bête organisation de code, c'est un mot de tous les jours qui a un sens même en dehors du logiciel; et en développement on retrouve même ces termes dans les noms de fonctions... genre tout le temps 🙄), à la limite la personne connaîtrait pas, ça me gênerait pas plus que ça si j'ai vu son code et que je me ferais pas de doute qu'elle comprendrait alors très vite. Toi tu lui aurais donné un malus dans ton évaluation et ça se trouve, tu passais à côté d'une perle.

    Je dis ce genre de trucs avec l'expérience d'avoir vu passer et fait la revue de code de plusieurs centaines de patchs (je vois que — depuis qu'on utilise Gitlab, soit 2018 — nous avons mergé 443 merge requests — dont la plupart j'ai fait la revue personnellement, sans compter les gens qui mettent simplement des fichiers *.patch dans les rapports de bug; et avant d'avoir Gitlab, on utilisait Bugzilla donc c'est un chiffre très partiel; ça en fait du code dont j'ai fait la revue, des patchs basiques de warnings aux trucs les plus complexes). Dernièrement par exemple, on a un jeune très doué qui s'est mis à faire plein de patchs. Il fait encore des erreurs régulièrement, et je vois bien qu'il découvre la plupart des notions nouvelles qu'une base de code comme la notre contient. Mais on voit aussi qu'il a vraiment envie d'apprendre, il pose des questions sur IRC (notamment sur la théorie des couleurs puisqu'il souhaite proposer de travailler dessus pour un gsoc, et on voit vraiment qu'il absorbe nos réponses pour partir étudier davantage dans son coin, car c'est des sujets très très compliqués; et bien sûr aussi quelques questions sur du code), et quand je lui fais une revue, j'ai juste à lui dire une fois, puis il corrige direct bien (même quand c'est un truc compliqué et possiblement nouveau pour lui, mais je suppose qu'il fait comme tous les bons développeurs apprennent à faire: quand on comprend pas la revue, on relit le code autant de fois qu'il le faut pour essayer de comprendre ce qui a été dit, et éventuellement on fait des recherches avec les mots clés donnés; puis à la fin, on demande si on comprend vraiment pas, mais en général, une bonne revue donne tous les mots clés suffisants pour découvrir et comprendre par soi-même). En tous cas, je suis persuadé que s'il continue, il pourrait devenir un très bon développeur et pourtant il ne serait possiblement pas capable de répondre à aucune de tes questions ni à même de faire mes réponses puisqu'il faut souvent avoir l'expérience pour pouvoir répondre à quelqu'un que sa question théorique ne sert à rien ou bien que ce qu'il ne sait pas, il l'apprendra vite (un débutant n'aurait pas forcément le recul pour répondre ainsi). Et c'est là où j'ai le sentiment que ton processus de sélection a un gros défaut (par rapport à ce que tu en dis du moins)

    Par contre, échanger avec ce débutant autour de code, tu vois tout de suite qu'il évoluera vite. 😛

    Donc perso je suis pas sûr si vraiment ce genre de question est très pertinent (enfin sauf si tu ne veux absolument pas engager de débutant bien sûr). Enfin bon, ensuite chacun son expérience et ses choix. :-)

    Et bon, j'ai bien compris que tu ne jugerais pas que sur ça de toutes façons.

    Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]