新人教育

Selenium 関係ないっす。mixi 転載っす。すいません。
(Selenium だけ見たい人はカテゴリ化してるので、
そこにアンテナとかリンクはるといいと思うぉ)



今月末ぐらいから、
新入社員を教えることになるみたいなんだけど、
不安。


最近、コーチングの本買ったり、
教育論の本を立ち読みしたりして色々考える。


色々本読んだり、
自分の経験から思うのは、
結局ところ、どれだけすぐれた教育をしても、
大人を教えるのは、
難しい。


難しいっていうのは、
すでに20年とかそれぐらい生きてる人は、
確固たるアイデンティティを持っているので、
(逆に20年生きてある程度アイデンティティ持ってない人は、
 相当精神的に弱いとかアフォだとかって特性があると思う)
そのアイデンティティに影響しえるほどの影響を
俺が与えるなんておこがましい。


与えられる影響は、
無理やり数値化すると、せいぜい数パーセントから数十パーセントだろう。
あとは本人の資質。
(数十パーセント影響あったらすごいことだと思うけどね。
何故なら、それって複利になるんだから。)


む。そうか。
本人の資質でしかないもので
自分の教育能力が評価されてしまうのが不安なのかな。
などと今書いてて思った。


この本
http://www.amazon.co.jp/exec/obidos/ASIN/4774126535/250-7674052-4287460
まだ読んでないんだけど、書評を読んで同感したんだけど、


本書の結論は、「伸びる/伸びないは、仕事に対する姿勢と日々の習慣にある」と極めてシンプルだ。伸びない原因を「『わかりません』と言えないプライド」や「安易に解決策を求める姿勢」などにあるとする。逆に伸びる人は「素直にひたすら努力する」。単純なことだが、現実には、なかなかできない。


は激しく同意。



プログラムについて教えるんじゃなくて、
メタで、仕事に対する姿勢だとか、
日々学ぶ姿勢だとか、
Google の使い方だとか、
人に物を聞くときの態度だとか教えるのがいいのかなと思う。


もし、プログラムについて教えるとしたら、
ペアプロが最高だと思う。
(人によるかもしれないけど)


俺が初学者に教えたいのは、
「コードの細部に神が宿る」
ってことなんだよね。


世の中で綺麗って言われてるオープンソースのコードとか、
一緒に仕事してる素晴らしい人のコードを見ると、
細部に神が宿ってる。


この神が宿ってるっていうのは、
http://en.wikipedia.org/wiki/Code_smell
なんだよね。


匂い。
つまり感覚的なもの。
もちろん、
「長すぎるメソッド」(新入社員の頃の俺だなw。よく同期のI君に言われたwww)
とか、この記事にあるように
http://www.radiumsoftware.com/0603.html#060330
「"Object", "Handler", "Data" などがクラス名に見られる」
ことだったり、
昔から言われてることだったら、
「goto の乱用」
があったりすると、感覚によらないで、
定型的にコードに神が宿ってないと判断することも可能なんだけど、
最終的に、そのコードが美しいかどうか、神が宿ってるかどうかは、
匂い。
感覚だと思う。


その匂い感覚を教えるには、ペアプロが最適だと思う。


あるいは、課題だして、コードひたすら書かせて、
レビューするとかかな。
ただ、やっぱ現実解として、
教育に割けるコストってそんなに沢山無いからね。


とか書いてるけど、
偉そうに人に教えられる人間になってるかっていうと、、、orz。