新人を教えて学んだこと
経験1年未満の新人を教えることになった。
ここ数年は、たまにフルタイムになったりとかしたけど、基本的にはフリーで仕事をしてるので、自分1人もしくは割と経験のある人とチームを組んで仕事をすることが多かった。
ただ、最近仕事が多くなってきたので、今後も見据えて、経験の浅いエンジニアを1人雇う事にした。今までもプロジェクトリーダーとかでメンバーを指導という経験はあったんだけど、プログラムを始めて1年未満の新人を教えるのは今回が初めてなので、教える側の自分にとっても色々と勉強になっている。
新人を教えて役に立ったこと
自分自身の理解が曖昧なところが分かった
至る所で言われつくされているけど、何かを教えるためには自分が理解していないといけない。なので、「教える」という行為をする際に、もし自分の理解が曖昧だとすぐ気づく。
blog記事を書くことも、自分の理解が曖昧な点を炙り出してくれるけど、新人に教えると色んな質問が来るので、blogを書く以上の効果があると思う。
どの技術がどの技術を元にしているのか再認識できた
今、Play! frameworkのプロジェクトをやっているんだけど、例えばControllerのActionで、Ok(views.html.foo())とかRedirect(…)を返す部分を説明するケースを考える。他のフレームワークを知っていたり、ある程度ベースがある技術者であれば特に細かく説明しないような以下の事柄も説明する必要がある。
- HTTPの仕組み
- ActionではResponse型の値を返すだけで、実際にクライアントにレスポンスを返すのはフレームワーク内部で行うという、webフレームワークの基本的な仕組み
- mapという処理について
こういう知識・技術のスタックの関連性を再認識出来るので、もう少し経験のある技術者を教育する機会が出来た時に、今までより上手に説明出来る気がする。
仕事のやり方についても再認識出来た
エンジニア文化、日本でのビジネス慣習(新人は日本人です。念のため)、効率的な仕事の仕方とかについても再認識できた。
- 技術的な質問をするときは、こういうことに気をつける
- 詰まった時にどれくらい時間をかけるべきか
- 複数のタスクがあった時にどれから着手するか
などなど。
終わりに
別にまとめ的な内容は特に無いんだけど、普段と違う経験をすると色々学ぶことがあって面白い。