メンタリングする演習を選んだら、次はよいフィードバックを伝えましょう。
この時点で、メンタリングする解答をすでに選んでいるはずです。 まだの場合は、まずメンタリングする解答の選び方を読み進めてから、ここに戻ってきてください。
いよいよ、生徒に初めてのフィードバックを送ります。 わくわくする一方で、とても心細く感じるかもしれません。 多くの(そして最高の!)メンターがこの段階でインポスター症候群に悩み、始める前に諦めてしまいます。 そう感じるのはごく自然なことですが、ほとんどの場合、心配する必要はありません。 自分のフィードバックが十分に良いものになるかどうかを気にかけているということ自体、生徒に本当に喜ばれる、思いやりがあり謙虚なコメントを書けるということです。 そして、最悪の場合でも、生徒はいつでもディスカッションを終了して、別のメンターに依頼するためキューに戻すことができます。ですから、思い切ってやってみましょう!
まず大切なのは、メンターとして正しい心構えを持つことです。 生徒は、自分の知識を高めたり、知らないことを教えてもらったりすることを期待しています。 メンターの役割は生徒の解答を「採点」することではなく、その解答を手がかりに、生徒がまだ知らないアイデアや、うまく扱えずに悩んでいるアイデアを引き出すことです。
また、Exercismのユーザーの多くは、新しい言語を学んでいる経験豊富なエンジニアだということも覚えておきましょう。 ですから、そのコードが目に_ひどく_映ったとしても、それは単に_この_言語で書くことに慣れていないだけかもしれません。 同じようなコードが別の言語では完全に自然で正しい、ということもよくあります。 会話は、一方がもう一方に知識をひけらかすのではなく、対等な2人がひとつのテーマについて話し合う形にすると、より実り多くなります。
生徒がメンタリングのために解答を提出すると、そこから何を得たいのかをメンターに伝えるよう促されます。 メンターとしては、これを必ず読み、フィードバックでそれに応えようとすることがとても大切です。
ただし、Exercismのメンタリングの大きな価値のひとつは、メンターが生徒の知らなかったアイデアに出会う手助けができることです。 生徒の解答を見て、少し手を加えられるところはないかと尋ねるコメントを読み、「これは、この演習をまるで理解していないな」と思うことがあるかもしれません。 演習のねらいを完全に見失っていることもあるでしょう。 メンターを続けていると、テストは通るけれど課題の本質をまったく外している、極端に「過剰適合」した解答に出会うことがあります。 あるいは、ほんの数行のコードに書き直せる、驚くほど複雑な解答に出会うこともあります。
メンターの役割は、生徒を今いる地点から前へ進める手助けをすることです。 アイデアをひらめかせたり、考えの行き詰まりを解いたりするために、できるいちばん大きなことは何でしょうか? 生徒にアイデアを伝えて、頭の中に電球がぱっと灯る瞬間を生み出せたなら、それがこの上なくやりがいのあるディスカッションになることを実感できるでしょう。
メンタリングの目的は、生徒が最適な解答にたどり着くことではなく、新しいことを学ぶことにあります。 正しい答えをただ与えるだけでは、役にも立たなければ、助けにもなりません。 Exercismは、ほかの人の解答を見て学ぶことを生徒にすすめています。ですから、良い解答を教えることには何の価値もありません。 メンターとして生み出す価値は、生徒が違うふうに考える手助けをし、別の視点から物事を見られるようにすることにあります。
「ヒント」を与えるか「説明」をするかについては、メンターによって考え方が異なります。 おおまかな目安として、その中間を目指しましょう。 生徒が何を試せばよいか理解できるだけの情報は伝えつつ、答えをそのまま示して、なぜうまくいくのかを説明するだけにはならないようにしましょう。
たとえば、Rubyのif文が、三項演算子を使うともっとすっきり書けると気づいたとします。
# Student's code
if a
b = 1
else
b = 2
end
# Mentor's suggestion
b = a ? 1 : 2
「L10のif文の代わりにb = a ? 1 : 2と書いてみましょう」とだけ伝えることもできますが、それでは生徒が_なぜ_そうするのかを理解したり、自分でひらめいたりする助けにはなりません。
むしろ、三項演算子という考え方を紹介し、生徒に問いを投げかけるほうがずっとよいでしょう。 たとえば、「三項演算子を使えば、10〜14行目を1行にまとめられそうです。どんなふうに書けるでしょうか?」といった具合です。 そうすれば、生徒は自分で試行錯誤しながら解くことになりますが、取り組むのに十分な情報は得られています。
反対に、「10〜14行目を1行にしてください」と言うだけでは、どうすればそれができるのか何の手がかりも与えられず、生徒をひどくもどかしい気持ちにさせてしまいます。 生徒が先に進めるだけの情報を必ず伝えるようにしましょう。
メンターによってスタイルはさまざまですが、まずはどのイテレーションに対しても、いちばん重要なフィードバックを1〜3点伝えることをおすすめしています。 生徒がそれらを解決した新しいイテレーションを提出したら、また1〜3点のフィードバックを伝えましょう。 こうして小分けにすることで、生徒は圧倒されずにすみ、しかも毎回意味のある変更を加えられるだけのやることを得られます。
メンタリングの経験を重ねていくと、生徒がフィードバックによってさまざまに反応することが感覚的につかめるようになり、自分の性格に合ったスタイルを築いていけます。
Exercismのメンターであることの大きな魅力のひとつは、学び合えるメンターのコミュニティがあることです。 解答について質問があるときや、ほかのメンターとアイデアを交わしたいときは、ぜひフォーラムに参加して気軽に聞いてみてください! そこでは、自分が助けられる人もきっと見つかるはずです🙂