こんにちは!クランチタイマーエンジニアの小林です。
この記事では、新人エンジニアが即戦力になれる教育方法についてご紹介していきます。
エンジニアが増えた場合、進行中のプロジェクトの簡単なタスクから少しずつ仕事を覚えてもらうという教育方法をとっている企業も少なくありません。
しかしこの教育方法では
といった問題が発生してしまいます。
この記事では、実際にクランチタイマーで実践している方法をご紹介していくので、エンジニアの教育方法に悩みを抱えている方は、ぜひご参考にしてください。
まず、エンジニアを教育する際に最初に用意すべきなのは、ロードマップです。
ロードマップとは、目標を達成する際に取り組むべき課題を順番にまとめた設計図を指します。
ロードマップの大きなメリットは、膨大にある情報や技術の中から優先して何を学べば良いかが明確になるということです。
その他にもロードマップを作成することで、
といったメリットが得られます。
ここからは、クランチタイマーで実際に使用しているロードマップをご紹介します。
クランチタイマーのロードマップは「準備編」「初級編」「中級編」の3つに分けて作成しています。
「準備編」は本格的な学習に入る前に、現状の実力を測るために用意しています。
具体的には、簡単なサイト1ページをレスポンシブも含めて模写するというものです。
またHTML&CSSの知識以外に、GithubやDockerなど学習を始める前に知っておいてもらいたい技術の項目も作成しました。
学習期間は1週間に設定しています。
次の「初級編」では、基本的なWebサイトを1人で作れるレベルになることを想定しています。
WordPressでオリジナルテーマを作成してポートフォリオサイトを作るという学習内容です。
デザインは見本のサイトを参考にするため、模写に近い形になりますが、実際に使用する画像や細かいレイアウトなどは自由に作ってもらいます。
作成したサイトは、実際にサーバーにあげてドメインと紐付けやSSL化までおこないます。
そのため、インフラ周りの基礎知識も習得することができます。
なお「初級編」は1ヶ月を完成目標にしていますが、クランチタイマーではほとんどのメンバーが4週間以内に完了しています。
「中級編」では、基本的なWebアプリケーションを1人で作れるレベルになることを目標としています。
Laravelでレストランレビューアプリを作成するという学習内容です。
データベースのテーブル設計や入力された内容によって、表示が動的に変わるといったバックエンド開発の基礎的なスキルを学べます。
またログインユーザーの権限によって操作に制限をかけたり、データベースに登録されているデータを条件で絞って検索したりといった、少しレベルの高い実装も習得できます。
「中級編」は2ヶ月以内に完了させることを目標に取り組みますが、ほとんどのメンバーは目標期限以内にクリアできます。
クランチタイマーではこれら3つの課題を合わせて3ヶ月以内にクリアすると、その後実務に参加していただいています。
業務内容によって使用機会の多い言語や技術は異なりますが、習得するものは活用する機会の多い技術を習得できるように設定しましょう。
「モダンだから」「基礎だから」という理由から業務で使用しない技術を習得をしても、思うような効果は得られません。
ロードマップを活用する中で参考になる記事はだいたい似通ってくるものです。
参考になる記事や何度も出てくる質問があれば、ドキュメント化してそれを共有することで、毎回質問に回答するコストを省くことができます。
またロードマップの内容は、全てのメンバーに周知・理解してもらうことも重要です。
新人エンジニアの質問に対して、誰でも迅速に答えられるようにしておきましょう。
課題内容が不明確なままでは、何度も質問に対応する必要が出てきてしまいます。
少し考えさせる余地は残しつつ、出来るだけ具体的に分かりやすい課題内容とゴールを設定するといいでしょう。
例えば上記で紹介した、ロードマップ初級編を例にします。
課題に対して、
といったように、どのような形で実装できていればOKなのか分かりやすく設定しましょう。
進捗確認は1週間に1回ほどのペースで定期的におこないましょう。
思わぬ進捗遅れを見逃さずに済み、結果コストの削減に繋がります。
OJTとは「On-the-Job Training」の略称で、仕事をしながら実践的なトレーニングをすることを指します。
OJTでは、新人エンジニアにとっても学んだスキルをすぐに実務で活かすことができるので、技術習得スピードの向上に役立ちます。
クランチタイマーでは、ロードマップで習得した技術を活用して入れる案件からOJTをおこないます。
OJTでは業務の進め方や環境構築の仕方、プルリクエストの出し方など、ロードマップをこなすだけでは習得が難しい内容を学んでいきます。
OJTの大きなメリットとして、実践的なトレーニングによって実際の業務に直結したスキルや知識を身につけやすいことが挙げられます。
その他にもOJTによって
といったメリットが得られます。
その一方で、指導者の知識やスキル、人間関係によってトレーニング効果に大きな差が出てしまうこともあるため、注意が必要です。
OJTを始めたばかりの新人エンジニアは分からないことが多く、作業に詰まってしまいがちです。
質問することにも慣れていないため、自己解決もできず時間を浪費してしまうことになります。
OJT中もこまめに進捗確認をしておくことで、作業の進みを遅らせないように気をつけましょう。
もし新人エンジニアから分からない部分の質問があっても、すぐに解決方法を教えたり原因を教えないようにしましょう。
まずは
をヒアリングすべきです。
間違っている認識や手順があれば、そこから指摘するようにしましょう。
それでも解決しない場合は、解決の手がかりになりそうな記事などを共有し、最終的な解決は本人の力で達成できるようにサポートしてあげることが重要です。
もしそのタスクが解決しないことで、プロジェクトが遅れてしまうような重要なタスクであれば、あらかじめ新人エンジニア一人に任せることは避けましょう。
OJTを開始したばかりの新人エンジニアは、先輩とのスキルや作業効率の差を目の当たりにして、ショックを受けてしまう場合があります。
モチベーションや作業効率を維持するためにも、わずかな成長でもいいのでしっかりと褒めることで、前向きに仕事に取り組むことができるようになります。
具体的には
といった内容は最初のうちから成長を感じやすい部分なので、少しでも良くなっていると感じたら、恥ずかしがらずどんどん褒めるようにしましょう。
社内研修とは、自社の社員が講師になっておこなう社内で実施する勉強会や研修です。
クランチタイマーでは、社内研修の一種としてLT(Lightning Talk)をおこなっています。
LTとは技術的なテーマについて短いプレゼンテーションをするもので、通常は5分から15分程度の短い時間でおこないます。
短時間から可能なため準備に多くの時間を割く必要がなく、気軽に開催することができます。
また学んだことを気軽に共有するというスタンスなので、知識が豊富なメンバーだけでなく、新人エンジニアも積極的に参加しやすいのも特徴です。
社内研修は、多くの企業で採用されているスキルアップの手段の一つで、社員の能力向上や業務改善につながる重要な役割を果たしてくれます。
その他にも社内研修によって、
といったメリットがあります。
その一方で、社員のスキルレベルや担当業務によっては研修内容が合わないといった問題も起こりやすく、運営には注意が必要です。
ここまでご紹介したもの以外にも、エンジニア教育に役立つものに共通ルールが挙げられます。
こちらを作成する目的としては、新人エンジニアが学習を進める際に守って欲しいルールや進め方を明確にし、お互いの認識のズレをなくすことにあります。
共通ルールを作成することにより、
といったメリットが得られます。
ルールを作成する前と比べて作成した後の方が、チームとして共通の認識をもって学習を進めやすくなります。
新人エンジニア側としても、口頭で説明されるよりも理解しやすく、何度も見返せるためルールを知らなかった・忘れてしまったというミスが少なくなりました。
実際にクランチタイマーで作成したルールの大まかな内容は、以下の通りです。
1週間の学習進捗は、その週の日曜日までに報告してもらうなど、ルールを設けましょう。
定期的に自分で進捗を報告する習慣を付けてもらうことで、常に進捗を意識した学習スケジュールを建てられるようになります。
学習に遅れが発生している場合は、理由も合わせて報告してもらうことで、学習中盤に中だるみを防げます。
質問の仕方についても、いくつかルールを作成しています。
あらかじめ誰に対して質問をしたらいいかを明確にしておくことで、質問することへの抵抗感を減らすことが出来ます。
また教育担当者以外が新人の質問対応に時間を取られることがなくなるので、組織全体のタイムロスを減らすことにも繋がります。
自力で考えるためのタイムリミットは、あらかじめ決めておきましょう。
まずは自分1人で考えさせることで成長を妨げずに、課題の途中に1人で悩むという時間のロスも減らすことができます。
「分からなかったら聞いて」といった曖昧な伝え方は控えて、時間はしっかり〇〇分・◯時間など明確に設定しておくことがおすすめです。
質問をする際には、聞きたい内容、解決したいエラー、解決のために調べたことや試したこと、これらをセットで報告してもらいます。
そうすることで、分からない部分を教育担当者に丸投げしてしまい、自分で調べて解決する力が育たないというリスクを減らすことができます。
また返答する教育担当者も、返答にかける負担を減らすことができ、タイムロスにも繋がるでしょう。
進捗遅れが発生した際のペナルティを明確にすると、学習に緊張感を持たせることができます。
クランチタイマーでは、ロードマップに取り組んでもらう際には1週間単位でスケジュールを設定します。
このスケジュールに対して2回以上遅れてしまった際には、やむを得ない理由で遅れてしまった場合を除き、その時点でインターンをやめてもらうようにルールを定めています。
少し厳しく感じるかもしれませんが、実際にOJTなどで実務に入ってもらった際には決められた期限までに仕事を完了させるというのはとても大事なことなので、こちらのルールを設定しています。
クランチタイマーでは、インターン生に学習期間中週2日は事務所に来てもらうようにしています。
初めのうちからリモートで学習していると、既存メンバーとの仲が深まりにくくなってしまい、質問をしにくい環境が生まれてしまうためです。
ただし、チャットやビデオツールを使用しての質問の回答は、無駄なコストや時間が発生しやすくなります。
できる限り、対面で質問してもらいましょう。
共通ルールを作成する中で、先輩エンジニアにかかる負担をなくし、お互いに無駄な時間をなくすためにも大事だと感じたポイントがあります。
まずは入社直後にルールの説明と質問対応をおこない、しっかりと内容を理解してもらうようにしましょう。
また、メンバーがルールを誤って理解しないように、1度決めた内容はできるだけ変えない必要があります。
体調不良や予測不能の事態でルールを守るのが困難な場合の対処方法も、事前にしっかりと決めておきましょう。
最後まで記事を読んでいただき、ありがとうございました。
この記事が、新人エンジニアの教育に悩む人たちの役に少しでも立てば幸いです。
教育の方法には正解はないですが、こちらの記事を参考にしながら、自社に合ったやり方を模索していただければと思います。
また、クランチタイマーではWebサイト制作からスマホアプリ開発まで幅広く、さまざまな制作の依頼や相談をお待ちしております!
少しでも興味を持っていただけた方は、ぜひ一度クランチタイマーへご相談ください!
SHARE:
お気軽にお問い合わせください。
TEL082-299-2286
代表の佐々⽊が⽉に1回お届けするメールマガジン。
国内外スタートアップの最新情報や最新技術のサマリー、クランチタイマーの開発事例紹介など、ITに関する役⽴つ情報を中⼼にお送りします!