使えないと言われていた新人とペアプロしたら、問題を整理できてないだけだった
@nabeemichi です。
ベンチャー企業だろうが、大手だろうがアプリケーションを開発、保守、運用するような会社ではエンジニアを採用します。
さらにそれなりの規模の会社になると、新人や未経験者を採用することもしばしば。
大手企業なら研修である程度教育するのでしょうが、ベンチャーとなると、いきなり現場で先輩とOJTとかざらにあります。
僕が所属したことのあるベンチャーは全部そうでした。研修らしい研修なんてありません。
ソースコード書いて、Githubで先輩にレビューしてもらって、実践で訓練します。
レビュー事態もそれなりに時間がかかるので、ペアプロ(ペアプログラミング)しながらコーチングでもしてみました。
その結果、どこにいっても厄介者扱いされていた新人開発者でも、ちゃんとコーディングしてアウトプットだせるようになりました。
アウトプットを出せない新人プログラマーは、頭の中でTODOを整理できないだけで、できないわけではないかもしれません。
「あいつ何もできないな。使えない」とか言ってるマネージャーは、そんなこと言ってる暇あったらできるようになってもらう手段を考えるのが仕事ですよ。
こんなこと言うマネージャーは、自分はマネージメント能力ゼロですって自分で言っているのと同じだということを認識しましょう。
では、具体的にどんなことをしたかというと、
教えない。気づいてもらう
ということをしました。知識は教えてもらうものではなく、自分で収集してくるものです。
誰かがいないとできないという状態では、自分の存在意義はありませんので、とにかく問題に気づいてもらう。
答えの探し方に気づいてもらう。
解決方法に気づいてもらう。
自力でできるようになるってのがポイントだと思う。だって自力で解決できたらモチベーションあがって、自発的にチャレンジするようになるから。
そのためには、教えない。自力で答えを探し出せるようにする。
とにかく具体化する。自分でTODOリストつくれるくらいに
教えないと言っても、何もできない、手が動かない状態を1時間続けても、結果は何もしなかった。ということになるので自力でTODOリストを作れるように導きます。
そのために必要なことは、ゴールの明確化。現状の把握です。
今何をしたいのか?
何ができればゴールと言えるのか?
ゴールをゴールと言える根拠は何か?
ゴールを達成するには何が必要なのか?
をひたすら質問します。そしてゴールまでに必要なものを、頭の中でつながるようるようになるレベルで書き出す。これがTODOリストになる
調べる時間はたっぷり
TODOリストができたら、自分には足りないものを埋めながらTODOをこなしていけばいいい。
そのためには調査が必要。
知識を調べたり、現状をもっと詳しく調べて実行できる状態にしたりする。
最終目標は、自力で必要な知識を仕入れて、ガシガシできるようになることですから、調べ方を僕が観察して、何が問題なのかを気づかせる必要があるわけです。
ですので、とことん調べさせます。そしてとことん観察します。グレップの仕方や、調べるときの思考回路まで。
検索の方法が問題で答えにたどり着けない場合は、検索でどのような想定で検索したのかを質問します。
そして、想定が間違っていたら、こういう場合もありそうかもねー!ってつぶやいてみたりします。
答えにたどり着かなかったら、そのレベルでブレイクダウン
調べても答えにたどり着かなかったら、TODOレベルでブレイクダウンをさせます。
TODOを完結させるには何が必要なのか?を聞き続ける。
これに答えられないということは、自分の現状を把握してないので、できることできないことを質問して、必要なものに気づいてもらう。
まとめ
時間はかかるけど、気づかせ続けたら自分のレベルを把握して、できるレベルにブレイクダウンして、背伸びしすぎていたことに気づいて、できることをまずはやる! って感じでステップを踏み始めた。
ステップを踏んで小さい単位で自分の考えられるレベルに問題を分解すると、考える範囲が狭まって簡単な問題になることはよくある話。 結局は問題を整理して、やることを整理できてなかっただけで、何もできないやつではなかった。という経験でした。