Tu as choisi un exercice à mentorer : maintenant, donne un excellent retour.
À ce stade, tu devrais avoir choisi une solution à mentorer. Si ce n'est pas le cas, commence par lire Choisir une solution à mentorer, puis reviens ici.
Tu t'apprêtes à donner ton premier retour à un apprenant. C'est exaltant, mais aussi assez intimidant. Beaucoup de mentors (les meilleurs !) souffrent du syndrome de l'imposteur à ce stade et abandonnent avant même de commencer. Si c'est ce que tu ressens, c'est tout à fait compréhensible, mais c'est aussi presque toujours inutile. Le simple fait que tu te demandes si ton retour sera assez bon montre que tu écriras des commentaires réfléchis et humbles que les apprenants apprécieront vraiment. Et dans le pire des cas, un apprenant peut toujours mettre fin à la discussion et renvoyer la solution dans la file d'attente pour un autre mentor. Alors lance-toi !
La première chose à garder en tête, c'est d'avoir le bon état d'esprit en tant que mentor. Les apprenants espèrent que tu les aideras à approfondir leurs connaissances et que tu leur apprendras des choses qu'ils ne connaissent pas. Ton rôle n'est pas de « noter » leur travail, mais d'utiliser leur solution comme point de départ pour débloquer des idées qui ne leur sont pas familières ou qui leur donnent du fil à retordre.
Il faut aussi se rappeler que la plupart des utilisateurs d'Exercism sont des développeurs expérimentés qui apprennent un nouveau langage. Donc même si leur code peut te sembler mauvais, c'est souvent simplement parce qu'ils n'ont pas l'habitude d'écrire ce langage. Un code similaire dans un autre langage pourrait être parfaitement idiomatique et correct. Les discussions sont généralement plus productives lorsqu'on les aborde comme deux pairs qui échangent sur un sujet, plutôt que comme une personne qui exhibe son savoir devant une autre.
Lorsqu'un apprenant soumet une solution pour le mentorat, on l'invite à dire au mentor ce qu'il espère en tirer. Il est vraiment important que toi, le mentor, tu lises ce message et que tu essaies d'y répondre dans ton retour.
Cependant, l'une des valeurs clés du mentorat sur Exercism, c'est que les mentors peuvent aider les apprenants à découvrir des idées dont ils n'avaient aucune idée. Tu peux donc regarder la solution d'un apprenant, lire son commentaire qui demande s'il y a des ajustements à faire, et penser « Waouh, tu n'as vraiment pas saisi l'essentiel de cet exercice ». Il se peut qu'ils soient totalement passés à côté de l'objectif de l'exercice. Au fil de ton expérience de mentor, tu verras des solutions incroyablement « sur-ajustées », où les apprenants font passer les tests mais passent complètement à côté de l'objectif du défi. Ou tu verras des solutions incroyablement complexes qui pourraient être réécrites en deux lignes de code.
Ton rôle de mentor est de faire avancer l'apprenant à partir de là où il en est. Quelle est la plus grande chose que tu pourrais faire pour l'aider à débloquer une idée ou à débloquer sa réflexion ? Tu verras que si tu parviens à expliquer une idée à un apprenant et à allumer une ampoule dans sa tête, ce sera une discussion incroyablement gratifiante.
L'objectif du mentorat n'est pas que l'apprenant arrive à la solution optimale, mais qu'il apprenne de nouvelles choses. Donner simplement la bonne réponse à un apprenant n'est ni utile ni aidant. Exercism encourage les apprenants à aller regarder les solutions des autres pour apprendre, donc leur donner une bonne solution n'apporte aucune valeur. La valeur que tu apportes en tant que mentor, c'est de les aider à penser différemment, à voir les choses sous un autre angle.
Les différents mentors ont différentes approches quant à savoir s'ils donnent des « indices » ou des « explications ». En règle générale, vise un juste milieu. Assure-toi d'en dire assez à l'apprenant pour qu'il comprenne ce qu'il devrait essayer, mais évite de lui donner simplement la réponse et de lui expliquer pourquoi ça fonctionne.
Par exemple, imagine que tu voies une instruction if en Ruby qui serait bien plus élégante écrite avec l'opérateur ternaire :
# Student's code
if a
b = 1
else
b = 2
end
# Mentor's suggestion
b = a ? 1 : 2
Tu pourrais simplement dire : « Écris b = a ? 1 : 2 au lieu de l'instruction if de la ligne 10 », mais ça n'aiderait pas l'apprenant à comprendre le pourquoi ni à avoir son propre déclic.
Il serait bien plus utile d'introduire l'idée d'opérateur ternaire et de lancer un défi à l'apprenant. Par exemple : « Je pense que tu pourrais réduire les lignes 10 à 14 en une seule ligne avec l'opérateur ternaire. À quoi cela pourrait-il ressembler ? » L'apprenant devra alors jouer avec ça et le résoudre lui-même, mais tu lui as donné assez d'informations pour travailler.
À l'inverse, dire « Réduis les lignes 10 à 14 à une seule ligne » ne donnerait à l'apprenant aucune indication sur la façon d'y parvenir, et pourrait donc être extrêmement frustrant pour lui. Essaie de donner suffisamment d'informations pour que l'apprenant puisse progresser.
Les mentors ont des styles différents, mais notre suggestion par défaut est de donner les un à trois retours les plus importants sur chaque itération. Si l'apprenant soumet une nouvelle itération dans laquelle ces points sont résolus, tu pourras alors donner un à trois nouveaux retours. En découpant les choses de cette façon, l'apprenant ne se sentira pas submergé, mais aura aussi assez à faire pour apporter des changements significatifs à chaque fois.
À mesure que tu gagnes de l'expérience en mentorat, tu sentiras comment les différents apprenants réagissent aux différents retours et tu développeras un style qui correspond à ta personnalité.
L'une des meilleures choses dans le fait d'être mentor sur Exercism, c'est la communauté d'autres mentors auprès de qui apprendre. Si tu as une question sur une solution, ou si tu veux simplement échanger des idées avec d'autres mentors, rends-toi sur notre forum et pose ta question ! Tu trouveras probablement là-bas des personnes que tu pourras aider toi aussi 🙂