見出し画像

手が早い人に育てるための5つのアプローチ

前回の記事( https://note.com/kazumatsudo/n/nbbe71f2b237f )では、手が遅くなる要因を 参考にする / 人に聞く / たたき台を用意する の3つの観点から検討し、いかにして手が早い人になるかを考えました。

今回は、エンジニアをサポートする立場になった時に、どのようにして手が早いエンジニアに育てていくかについて検討します。

手の早いエンジニアに育てるためのアプローチ

目標に向けて走り出そうとしても、加速力がなかったり抵抗が大きければ前進することはできませんし、進んだとしても道を誤っていればゴールにたどり着かないどころか却って遠ざかってしまいます。
そのため、抵抗を少なくしたり取り除いたり、正しい方向に進んでいることをナビゲートすることで、行動している本人は加速することに専念し、より素早く目的地に到達することができます。
今回はそのサポート役として、私自身が行っているアプローチを5つ紹介したいと思います。

1. ゴールを伝える
2. 模範を示す
3. 自動化する
4. 伴走する
5. 認める

ゴールを伝える

何をゴールとするかを相手に理解してもらうことはとても重要なことです。
課題の背景はなにか、どのような問題を解決したいか、達成条件は何かの認識をお互いに一致させることが、課題を進める上での第一歩です。

ここでのポイントはテキストに書いて共有することと、口頭で説明することの両方を試すことです。
メンバによってはコミュニケーションの得手不得手が異なり、文章でやり取りすることが得意な人もいれば、会話することで理解を深めることが得意な人もいます。
メンバが理解しやすい方法での共有を行うことで、ゴールまでの道筋を素早く理解し、また見失いにくくさせることができます。

模範を示す

何らかの設計手法を取り入れたプロジェクトでは機能が違えど構成は似ているファイルができたり、チケットや Pull Request については内容が違えど項目は似ている報告となるケースが多いかと存じます。

そういったものについてはテンプレートを作成します。
例えばコーディングに関するものはボイラープレートを用意したり、報告用の文章については必要な項目を予め用意しておくことで、開発者は考慮しなければいけない要素を絞り込むことができます。

自動化する

コーディング規約は理解を誤ると修正量が非常に大きくなってしまいます。
修正が簡単なものであっても時間が取られることに変わりはなく、またコメントが多いとそれだけ別の指摘を見落としてしまいかねません。

そうならないためにも、検証や修正が自動で実行できるものは積極的に導入します
例えば下記項目がイベント発生時(プッシュ、 pull request 作成、マージなど)で自動的にチェックされるようになれば、メンバはより本質的な作業に集中できます。

- コーディング規約チェック
- コードフォーマットチェック
- 型チェック
- 自動テスト実行
- ビルド、リモート環境へのデプロイ

伴走する

デイリーミーティングにて進捗が芳しくない旨の報告を受け、アドバイスをするもあまり改善されていないように見受けられることがあります。

そういうときは、ペアプログラミングのように複数人が共同して作業を進めることで、思いのほか早く解決することがあります。
報告の内容に間違いはなくとも、実は本質的な問題が別にあったというケースは枚挙に暇がありません。

認める

レビュアーとして依頼された時、価値を出そうとコメントを多く投稿してしまうことがあるかもしれません。
確かに、脆弱性や不具合を見つけたり計算量オーダーのより小さい実装をご存知であれば指摘することが本人やチームのためになるかもしれませんが、システムの挙動に影響がないような指摘は開発速度の観点から控えたほうが良いかと存じます。

また、もしメンバから成果物がなかなかあがってこないと思った場合、もしかしたら一番の原因は「またコメントがたくさんつくかもしれない……」という不安から来ているかもしれません。
特にレビュアーが年上やテックリードなどの立場の方である場合、軽い気持ちでコメントした内容が思いの外深刻に受け止められていたということがあります。
"OK"を出すこと、それが一番の特効薬になることがあります。

それでもコメントをいくつか書かざるを得ないとなった際、実はレビューより前の段階に改善できるポイントがあるかもしれません。
例えば、課題を正確に認識できていない場合はゴールの伝え方を改善した方がよいかもしれませんし、実装方法にあまり詳しくないのであれば模範を示したりペアプロしたりする方がより効果的です。

まとめ

今回は、エンジニアをサポートする立場になった時に、どのようにして手が早いエンジニアに育てていくかについて、5つのアプローチをご紹介致しました。

手の早いエンジニアに育てるためのアプローチ

1. ゴールを伝える
2.
模範を示す
3. 自動化する
4. 伴走する
5. 認める

山本五十六の有名な言葉に「やってみせ 言って聞かせて させてみて ほめてやらねば 人は動かじ」というものがあります。
この言葉に沿って考えると、ゴールを伝えて模範を示し、自動化して本質的な課題に専念させ、ときには伴走し、最後には認めてあげることではじめてメンバは 動く ようになります。

なお、この言葉には下記のような続きがあります。
「話し合い 耳を傾け 承認し 任せてやらねば 人は育たず」
「やっている 姿を感謝で 見守って 信頼せねば 人は実らず」
メンバが動くようになったら、あとは任せて信頼することが人を育てるコツであると私は解釈しております。

チームメンバ全員がやりがいを持って素早く作業をこなし、自分も自身の作業に専念できたら最高ではありませんか。

この記事が気に入ったらサポートをしてみませんか?