新人教育
新人教育について。。。今年度の新入社員は配属されてから、もう半年たとうとしている。。。
良いのか悪いのかは分からないが、ほとんどフレームワークを利用しないで研修用のプログラム開発を進めてもらった。
目的は様々な機能を自分で実装し、どの様にすれば機能を満たす事が出来るかを自分で考えてもらうためだ。。。
そして、基本的に質問は何でも受け付けるが、直接的な回答は出さないようにした。
問題への解決策は、自分で調べてもらうためであり、正誤は関係なく試行錯誤してもらうため。
自分自身で気をつけた事は、実装(解決)方法が最適でないと思えた場合でも、決して途中で口を出さない事であり、出来る限り最後まで本人の力で開発してもらう事にした。
初めに教えたのは、Javaの基本(2か月)とTDD(3日)についてのみ。。。
その後、自社のレガシーシステムをWEBシステムで実現してもらう方法を取った。自社システムは新入社員が自分で利用する事も出来るため、自然に要件定義から設計レベルに本人が落すような作業も行っていた。
ソースレビューは、初めは1機能の開発が終了するまで行わないという実開発からみればロングスパンで行った。
この理由は、外野から口を出さずにとにかく自分のリズムで開発してもらうため。
とにかく、自分で開発したものがキチンと動くという楽しさを知ってもらう事が大切だと思ったため。。。
あと、思った通りに作ってもらいたかった。。。中にはとんでもない発想する場合があるから(良い意味で)
効率は良くないが、いっぺんに色々な事をやらせるより、1つ1つクリアさせて上げたかったのが本音。。。
機能が完成した後、ソースレビューを行い気になる点について質問していくという方法をとり必要であれば修正を行っていくという内容を繰り返した。
その時にTDDのパワーを知ってもらう事もできた。と思う(^^)
現在では、ソースレビューの期間はもっと短くなってきてるし、質問する事が少なくなってきた(もともと優秀であったため少なかったけど…)。
もう一つお願いした作業として、退社時には研修報告という形でOUTPUTしてもらった。
記述してくれた内容は以下の通り。。。
本日行った事、学習した内容、現在の問題点、明日以降取り組む事。
この時点で、気になる点があった場合はコメントとして質問する事にしていた。あくまでも気になる点の質問であったり、アドバイス的な内容に終始した。
とは言っても、現在の問題点に対するアドバイスは、殆どする必要が無く自己解決していった。
研修報告にも、○○と問題があるため、明日は△△という方法で検証してみる。と調査する方法までかいてあったから…スバライ(^^)
報告先は社内メンバーであれば誰でも閲覧できる環境に記述してもらい、ある一定のメンバーには更新した際にはメールで通知する様になっている。
不思議と中堅クラスの開発者が良く読んでいるのを耳にする。。。
このやり方は時間的に余裕がないと出来ない方法だと思うが、結果的には新入社員にとっても会社にとっても良い結果になると思う。
今後が楽しみです^^