プログラマーSEが後輩・部下に技術を『教えるコツ』
「出来の悪いやつに、何度も同じこと聞かれると腹立つ…」
初心者とか、初級者にプログラミングやソフトウェア技術を教えるのって難しいですよね。
自分と近いレベルの人と技術の雑談する分には楽しいですが、初心者相手だとイチから説明しなければならず大変です。
知識量の少ない人に話す場合、相手のレベルに合わせた言葉、説明の仕方をしなければならなりません。そこには様々な工夫が必要です。
そんな方法をを紹介します。
何かに例えて説明する
私は専門学校で始めてプログラミングを学んだんですが、授業では、
「変数はデータを入れる箱のようなものだと思って下さい」
という感じに、プログラミングの概念を日常的なものに例えて説明されました。
「なにか別のものに例えられないかなぁ」と考えると良い表現が見つかります。
ある程度基礎知識のある人に対しては、
- プログラミングの知識自体を例えに使う
こともできます。
例えばMySQLを知っている人にOracleDBを教える場合は「OracleDBはMySQLの有償版みたいなものだよ」と教えれば一発で伝わります。
以前教えた知識を例えに使って、次の知識を教えれば、復習や知識の理解度チェックにもなって一石二鳥です。
ただ、このような例え話をたくみに使って説明しても全然理解してもらえない場合があります。相手にやる気がない場合です。
やる気のない人には、どう教えても無意味?
プログラマーやSEとして就職した人の中には、「他の職業に就きたかったけど、受からなかったから仕方なくITエンジニアになった」という人もいます。
そういう人はソフトウェア技術に興味がないので、なかなか覚えられないかもしれません。
だからと言って、見捨てるべきではありません。
やる気のある人に変えてあげればいいんです。
プログラミングの面白さを教える
以前、私がチームリーダーをやっている客先常駐のプロジェクトに自社の後輩が追加要員として入ることになりました。
上司からは「あいつは社内で使えないやつだって言われてるんだけど、なんとか使ってやってよ」と言われていました。
「おいおい、勘弁してくれ」と思いましたが、実際にその後輩と話してみると、数学が得意で頭がよく理解力もありました。ただ、プログラミングには興味がなく、プロジェクトマネージメントに興味があるようでした。
頭脳的には数学が得意でプログラミングに向いてそうなんですが、「以前やっていた案件のPMがすごく優秀で憧れてる」とのことでした。
そこで私はプログラミングの面白さを伝えました。
「デザインパターンという過去の偉人が考え出したソフトウェア設計のパターンを使うと、再利用性の高いプログラムを作れるんだ!」
という話を具体的なコード例を見せながら説明しました。
「Java言語で学ぶデザインパターン入門という本を読めばもっとよく分かるので今度貸してあげるよ」
と言った所、次の日その後輩は「買ってきました」と言って本を見せました。
私が「貸してあげるって言ったじゃん。お金もったいないよ」と言うと「手元に置いて何度も読みたいので!」と笑顔で答えました。
この後輩、ここから先はメキメキ力をつけて活躍しています。
ですから、やる気に火をつけるのが一番です。
やる気のない人に「もっとやる気出せよ!」と尻を叩くのは無意味です。「いかに面白さを伝えるか」がポイントなんです。
「お金を渡すのではなく、魚の釣り方を」って話
貧困で困っている人に、お金を渡しても、何日か経てばお金はなくなってしまい、また喰えなくなってしまいます。
そうではなくて、「喰うための方法」を教える、喰うための道具(例えば釣竿と魚の釣り方)を与えた方がその人のためになるって話です。
これをプログラミング教育に当てはめると、知識自体を教えるのではなく、「プログラミングの面白さ」を教えることが、「学ぶ力」を与えることになるということです。
ぜひ、あなたが思うプログラミングの面白さを伝えてあげてください!