NLP3期生でエンジニアの茶釜です。
今回のNLPテーマは、
「育成で大事にしていくことは何か。またそれに気づいたきっかけは何か。」
です。
僕が"育成で大事にしていくこと"に関して「チームの技術レベルの底上げ」にフォーカスしました。
「チームの技術レベルの底上げ」で僕が大事にしている事は3つです。
- チームメンバー各々の技術レベルを知る
- チームの技術レベルを知る
- 絞ったメンバーの趣向を知る
前置き
僕の場合は「基本的には自走して、間違った方向へ進みそうなら指摘して貰う。ただ、悩んだ時は相談して答えにたどり着く為の情報を徐々に開示して貰う。」方法が一番合っているなと感じました。
というのも、新卒1年目の頃の上長がそんな方法を取っていて、問題にぶち当たっても、自分で考えて解決しなきゃいけない事が多く、技術レベルがあがっていく感覚を掴む事が出来ました。
ただ、コレは僕に合ったやり方であって他の人に合うかは別の話でした。
プロジェクトのクライアントチームリーダーにジョインしたては、僕と同じように「基本的には自走して、間違った方向へ進みそうなら指摘して貰う。ただ、悩んだ時は相談して答えにたどり着く為の情報を徐々に開示して貰う。」の方法をとっていました。
しかし、全員にこの方法が通用する訳ではありませんでした。
自走できない人もいる。メリット/デメリット考えて取捨選択できない人もいる。
では、どうしたらチームの技術レベルを底上げできるのか。
チームメンバー各々の技術レベルを知る
まず、チームメンバー各々の技術レベルを知るところから始めました。
チームの状況として各メンバーで技術レベルの差が大きいように感じていたので、下記の2点を実施して、今のチーム技術レベルを確認しました。
- コードレビューのタイミングで、気になる箇所はメリット/デメリットを踏まえた実装理由の確認
- 面談のタイミングで気になる人をピックアップ
ここで大事にしたいのはメリット/デメリットを踏まえた上で間違った手法をとっているのかの確認とプロジェクトへのコミット意欲/技術レベル向上に対する意欲のマインド面でした。
メリット/デメリットを考えられないのか、考えた上で出した答えなのかで技術レベルの定義は変わるし、マインド面によってフォロー方法が変わるかと思います。
チームの技術レベルを知る
チームメンバー各々の技術レベルを知った上で、チーム全体を俯瞰した技術レベルの確認をしました。
チームとしての技術レベルを確認した上で、目標がないと動けないので理想となるチームの技術レベルを定義する事をしました。
ここで大事なのは"自分が思う理想の技術レベル"ではなく、"そのチームに合った理想の技術レベル"を定義することです。
"そのチームに合った理想の技術レベル"を定義することで、そのレベルに達していないメンバーをピックアップして、フォロー対象を絞りました。
チーム状況が施策ごとで属人化していることもあり、仕事量の偏りが出てしまう問題がありました。
理想のレベルに達していないメンバーを底上げすることで、その属人化している部分の解消を試みたかったからです。
絞ったメンバーの趣向を知り、フォロー方法のタイプ分けを
メンバーを絞った上で、下記3点を意識してフォロー方法のタイプ分けしました。
- 自走できるのか
- メリット/デメリットを踏まえた取捨選択が出来るのか
- 上記以外
1.が当てはまる人は、「たどり着くための情報を徐々に開示していく方法をとり、相談は随時してもらう」形にしました。
こうする事で、ミスもありますが自分で考えて貰う回数が増えるので、自然とメリット/デメリットを踏まえた実装になります。
1.が当てはまらず、2.が当てはまる人は、「技術レベルが上のメンバーをコードレビュー時にアサインをするようにし、実装時の考え方を見て/聞いて伸ばしてもらう」形にしました。
技術レベルの高いメンバーから、メリット/デメリットの取捨選択するときの考え方を吸収して貰うように試みました。
3.の人に限っては、「答えを先に提示して、メリット/デメリットを伝える」形をとりました。
メリット/デメリットを考える習慣がないので、メリット/デメリットを考える意識付けから試みました。
この方法でメンバーの意識が変わり、メリット/デメリットを考えて実装するようになり、チームの技術レベルが上がったように感じます。
まとめ
チームの技術レベルを底上げするためには、
「チームメンバー各々の技術レベル/チーム全体の技術レベル/メンバーの趣向」の3つの"知る"で、
得た情報を元に育成対象者を絞り,フォロー方法のタイプ分けをしていくことが、重要だと思います。