こんにちは!クランチタイマーエンジニアの滝村です。
「リモートワークで新人エンジニアをどう育成すればいいのかわからない」
「円滑に進捗管理やフィードバックをできる方法を知りたい」
このように、新人エンジニアの教育や進捗管理方法に悩んでいる方も多いのではないでしょうか。
本記事では、リモートでおこなった後輩へのOJTをもとに、新人教育を成功に導くためのコツやおすすめのツールを紹介いたします。
OJTそのものについての概要やメリットは、こちらの記事で紹介しております。
ぜひ合わせてご覧ください。
エンジニア教育を成功させる上で一番大切なのは、新人エンジニアの「質問力」を養うことです。
新人エンジニアの質問力を養うことで、
「何を実現させたいのかわからない」
「何を試したのかを言ってくれない」といったケースを解決することができます。
現状起きているエラーだけにフォーカスして質問や説明をされると、結局何を実現させたいのか分からないという問題が起こります。
最終的に何を実現させたいのかを冒頭に伝えてもらうことで、指導者も状況や前提条件を聞きながら質問を整理できます。
質問を受けて指導者が「こうしてみれば解決するのでは?」と提案すると、新人エンジニアから「それはもう試したけどダメだった」と切り返されることがあります。
指導者からすれば「最初からそれを言ってもらえれば原因を絞れたのに・・・」と思ってしまうかもしれません。
質問時には、何を試したのかを必ず共有してもらうことで原因を絞ることが可能になります。
具体的に質問をどのようにしたらいいか分からない時には、質問フォーマットを使用してみましょう。
テラテイルのサイトに質問フォーマットがあるので、ぜひ利用してみてください。
以下のような順番で質問してもらうようにすれば、指導者も質問内容をスムーズに理解でき、新人エンジニアも考えていることを質問前に再度整理し直すことができます。
長い時間がかかる作業を一度に新人エンジニアに任せてしまうことは避けましょう。
考えなければならない事柄が増え、パニックに陥ったり、同じ種類のミスを何度も繰り返してしまう可能性があります。
短い時間で作業が終わるようにタスクを分割してから渡すようにすれば、新人エンジニアの負担が軽減され、ミスも減らすことができます。
また、目標の完了時間を設定するのも効果的です。
目標時間を意識しながら作業に取り組むことで、緊張感を持って取り組むようになります。
PRの精度を高めるための手段は一つです。
新人エンジニアにレビューで指摘した点をチェックリストの項目として記録、PR提出前には自身で確認してもらうことです。
無駄なコメントや改行が入っていたり、タスクとは別の範囲を修正してしまっていたりと、初心者にありがちなミスは誰しも経験することです。
大切なのは、レビューで指摘された点はチェックリストとして残し、次のPR提出前に再度確認することです。
上記を徹底すれば、 新人エンジニアが自分のPRを確認する習慣が身につき、レビュワーである指導者の負担を軽減できます。
レビューでの指摘を記録しておくのと並行して、新人エンジニアには基礎知識をインプットしてもらうことが大切です。
基礎知識で一番役立つのは、リーダブルコードの内容です。
その他Webの基礎知識など重要な知識ももちろんありますが、あくまで最初に学んだ方がいい知識の一例です。
指導者が新人エンジニアの作成したコードをレビューする上で指摘として多いのは、命名規則やネストが深いなど、コードを記述する上での「読みやすさ」に対する指摘です。
両者の負担を軽減するために、一番大切な基礎知識としてリーダブルコードの知識を共有することをおすすめします。
新人エンジニアがおこなう業務の進捗管理は非常に難しい問題です。
すぐ横に新人エンジニアがいる環境であれば気軽に進捗を見ることができますが、リモートワークだと特に進捗管理にもマネジメントが必要になります。
また、指導者も自身の仕事が忙しく、新人エンジニアの進捗管理まで手が回らない場合もあります。
そこで取り入れるべきなのが、定期的な進捗の報告です。
弊社では1日の中で4回、新人エンジニアから指導者に進捗報告をしてもらうようにしました。
具体的には12時、14時、17時、18時半の4回進捗の報告をしてもらい、更に新人エンジニアが進捗報告時点で詰まっている箇所があれば、一緒に解決できるようにしました。
このように時間で区切って進捗確認をおこなうことで、新人も時間を意識して仕事をする習慣が身につきます。
さらに、予定していた時間を超えて作業が続いている場合には、その遅れの原因を報告するよう促すことが可能です。
定期的な進捗報告を続けた結果、自分自身での進捗管理のスキルと、適時報告する習慣が身につくようになります。
時間や頻度については弊社の一例なので、実際に取り入れる場合、報告する時間や頻度は、就業時間や個々人の適正などに合わせて決定してみてください。
進捗管理を新人エンジニアに記入してもらった後、重要なのが振り返りです。
振り返りを通じて的確なフィードバックができ、新人エンジニア側では気づいていない問題点を指摘することもできます。
どんな形式(メモ、アプリ、スプレッドシートなど)でもいいので、下記項目について新人エンジニアに記述してもらいましょう。
なお、作業時間に関しては
このように開発以外の時間で、想定より時間がかかっているというケースもあります。
どんな作業にどのくらい時間を使っているのかを把握することは、作業効率化にも役立つでしょう。
新人教育で発生しやすい一番の問題が、コミュニケーションの取りづらさです。
「今先輩に質問してもいいのだろうか」
「リモートワークで、連絡するのも緊張する」
このように声をかけるのに時間がかかり、結局一日中作業が何も進まなかったということも。
リモートワークの場合は特に、困った時にすぐに質問をしやすい環境を作ってあげることが重要です。
弊社では社内の連絡手段として、チャットはSlack、ミーティングはDiscordを使用しています。
以下に、それらのツールを使用したより具体的なコミュニケーション方法を紹介しますので、ぜひ実践してみてください。
入社して1ヶ月以下の場合は、Discordを指導者と新人エンジニア間で繋いだままにすることにしました。
基本的にはマイクをミュート状態にしておきますが、新人エンジニアが質問したい時にはすぐマイクをオンにして指導者へ質問をすることができます。
そうすることで、困ったことがあれば会社に出勤している時と同様、どんな小さなことでも質問ができる体制を作りました。
Discordを繋いでいなかった時と比べて質問の回数も増え、新人エンジニアが一人で悩む時間を削減しました。
1時間に1回、進捗具合をSlackでお天気マークで送ってもらうようにしました。
晴れ、曇り、雨と3つの絵文字の中で、雨マークが新人エンジニアから送られた場合は、その場ですぐdiscordで話すというルールにしています。
マークの送信にすることで、新人エンジニアが送る文章を考える必要がなく、精神的負荷が軽減されます。
また、指導者側も文章を読む手間が省け、瞬時に状況を判断できるのでおすすめです。
新人エンジニアが指導者に質問しにくい理由として、指導者のことをよく知らない、怖いといった理由があるかもしれません。
特に入社時からリモートワークである場合、お互い顔と名前しか知らない段階で突然仕事が始まるという状況も生まれます。
新人エンジニア側が明るい性格で仲良くなるというケースもあるとは思いますが、基本的には指導者側から話しかけやすい環境を整えていきましょう。
とはいえ、毎日20分〜30分雑談をするのはお互いハードルも高く、ダラダラ話してしまうといった懸念もあるので、5分間など短い時間を決めて雑談することをおすすめします。
実際に短時間の雑談をやってみて、指導者側からも新人エンジニアとのコミュニケーションを取りやすくなり、以前より業務の進行もスムーズになりました。
「30分以上作業が滞る場合はすぐに質問をする」といった簡単なルールを設けました。
これはどのくらい悩めば質問すればいいのかを新人エンジニア側が考えるのではなく、悩む時間をルール設定し、作業効率をあげるためです。
自身で分からない箇所を調べ課題を解決することも成長には大切ですが、それで作業が全く進まないのは困ります。
この「悩む時間30分以下ルール」のおかげで、わからない場合はどんどん指導者に質問をするという習慣づけもできました。
新人エンジニアや指導者の性格によって、やりやすい方法は異なると思いますが、参考になる解決法があればぜひ試してみてください。
最後に、進捗管理とフィードバックにおすすめのツールをいくつかご紹介します。
Backlogは、バージョン管理機能を備えたプロジェクト管理ツールです。
プロジェクトの進捗管理では、ガントチャート機能を使ってタスクとスケジュールを視覚的に表示できます。
さらに、タスクの状態(未着手、進行中、完了など)も一目で把握でき、新人エンジニアの進捗を管理するのに役立ちます。
Notionは、ノート、データベース、カンバンボード、Wikiなど、多種多様な機能を無料で提供しています。
プロジェクトの進捗管理においては、カンバンボードを使ってタスクの状態を視覚的に管理できます。
また、各タスクに対して詳細な情報(期限、担当者、進捗状況など)を付け加えることも可能です。
その他にもガントチャートの作成など、カスタマイズ次第で各々の使いやすい進捗管理表を作成可能です。
テンプレートも豊富にあり、進捗管理表を一から作成する必要がないため、誰でも簡単に始めることができます。
Notionに関しては進捗管理以外にも使える機能や特徴を以下の記事でも紹介しているのでぜひご覧ください。
Google スプレッドシートも、進捗管理として使用できます。
Notion同様、一から作成する必要はありません。
シートの作成画面でテンプレートギャラリーからガントチャートを選択すれば、タスクのタイトルやオーナー、進捗率など他の有料Webアプリと遜色のない進捗管理機能を使用することができます。
今回は、リモートワークでの新人教育を成功させるためのコツと、進捗管理やフィードバックにおすすめのツールを紹介しました。
弊社での実例も踏まえながら解説をしましたので、こちらをベースにそれぞれの会社に合った方法を検討してみてください。
クランチタイマーではプロダクト開発以外にも、パートナー会社として新人エンジニア向けのロードマップの作成もお手伝いさせていただきます。
少しでも興味を持っていただけた方は、ぜひ一度クランチタイマーへご相談ください!
SHARE:
お気軽にお問い合わせください。
TEL082-299-2286
代表の佐々⽊が⽉に1回お届けするメールマガジン。
国内外スタートアップの最新情報や最新技術のサマリー、クランチタイマーの開発事例紹介など、ITに関する役⽴つ情報を中⼼にお送りします!