後輩や新人プログラマーを育てる方法 -ほめるより独学を促そう
「新人プログラマーが覚え悪くて困ってる…」
人を育てるってむずかしいですよね。私の場合、20代後半になってから後輩の教育を担当するようになりました。
私自身は先輩からみっちり教育を受けたわけでもなく、独学で学びました。概して優れたプログラマーの多くは独学で勝手に学んでいった人が多いと感じます。
人から教わっているようでは優れたプログラマーにはなれないのかもしれません。
では、自分が教育を担当する後輩に独学する意欲が感じられない場合、どうすればいいのでしょうか?
- ほめる
- 危機感をあおる
- 課題を与える
等いろいろな方法がありますが、私はこれらとは違ったアプローチを取って成果を上げています。その方法を紹介します。
Contents
よくある外発的な教育
ほめる
ほめることによる効果はたくさんありますが、一時的にしか効きません。
ほめられている時は気分が良くなって頑張るかもしれませんが、他人から褒められないと頑張らない人になってしまいます。
危機感を煽る
「お前なんて全然だめだ、もっと努力しないと通用しないぞ!!」
などと言って危機感を煽ることによって、
「やばい、もっと勉強しなきゃ…」
という気持ちにさせるというものです。
これもほめるのと同じで、効果は一時的であり外発的です。煽られてる間は危機感を感じて努力するけれど、煽られなかったら努力しない人になってしまいます。
課題を与える
「難しすぎず・かんたんすぎず、少しがんばれば達成できるような課題を与えると良い」という話もよく聞きます。これも同じで課題を与えられてる間しか努力しない人になってしまいます。一時的な効果しか得られません。
課題を与えられて取り組むのではなく、自ら課題を見つけて取り組むようにならなければ意味がありません。
つまりは、外発的な要因で後輩や部下を突き動かそうとしても意味がないんです。
では、どうするかというと…、
向学心を生み出すには?
個人的に作ったプログラムを見せる
仕事で繰り返し行う定型作業を自動化するちょっとしたツールを作ることはよくありますよね。そういうプログラムを後輩に見せましょう!
「これ使えば、こんなに楽だよ!」
と言って、ツールを使ってもらい、役立つことを実感してもらい、中身についても説明します。
「中身はこうで、そんなに難しくないから、君も作ってみれば?」
とツール作りを勧めます。役立つことを実感して、自分にも作れそうだと思えたら、自然と作り始めるはずです。こうして、内発的なモチベーションが生まれます。
プログラミング技術のかっこよさを伝える
以前、プロジェクトで割と暇な時期があったので、隣の席の後輩にデザインパターンやポリモーフィズムを教えたことがあります。Template MethodパターンとStrategyパターンについて説明して、実際どう使っているのか、現場のコードを交えながら説明しました。
そのプロジェクトではStruts1系フレームワークが使われていました。
- ActionクラスはStrategyパターンで作られている
- このプロジェクトではActionクラスを継承したBaseActionという共通クラスを作っていて、このBaseActionはTemplate Methodパターンで作られている。このパターンを使うと処理の流れを共通化できる
と説明しました。その後輩は上司からは「使えないやつ」と言われていましたが、私の説明に目を輝かせていました。
おすすめの本として結城浩さんのJava言語で学ぶデザインパターン入門を紹介し、今度貸してあげると言った所、次の日、彼はその本を買って持ってきました。
この本です。
「貸してあげるって言ったのに…、お金もったいないじゃん?」と言ったら
「手元に置いて何度も読みたいんで!」
とのことでした。上司から「使えないやつ」と言われるような後輩でも、興味が沸きさえすれば一瞬で変われるんです!
興味を抱かせることが大事なんです。そのためにはプログラミング技術を得意げにおもしろく話すのが一番です。
プログラマーはプロジェクトマネージャよりかっこいい!
その後輩は数学が得意なのになぜかプロジェクトマネージャに憧れていました。以前仕事をしたPMがすごく仕事ができる人で自分もそうなりたいとのことでした。おそらく、そのPMが得意げにプロジェクトマネージメントの話をしていたのでしょう。
しかし、私の話を聞いて、
- 技術力があることはかっこいい!
- 技術を説明できることはかっこいい!
と思ったのでしょう。
「プログラマーはかっこいい!」と思った瞬間から、勉強し始めたんです!
つまり、「プログラマーという仕事をどう見せるか?」なんです。
後輩を自ら学ぼうという気持ちにさせれば、こちらから教えなくても勝手に一人で学び始めます。そうなれば、あっという間に頼もしいパートナーになってくれます。
そんなわけで後輩や新人プログラマーと接する機会のある人はぜひ参考にしてみてください!