🐣

ゴールから考える研修設計!NEの新卒エンジニア研修を大公開⭐️スペシャル

に公開

はじめに

こんにちは!暑い日が続きますね🌻

実は私さくらい、今年の25卒新卒エンジニア研修にて、初めての研修責任者を担当しました!
企画の設計から具体のコンテンツ決め、実際の研修進行などをさせていただきました。

ありがたいことに多方面から「良い研修だった👍」と評価いただけたので、
今回はNEの新卒エンジニア研修について、大公開スペシャルです!

↓研修を受けた側として新卒目線の記事も出ているので、ぜひそちらもあわせてご覧ください〜🙌

https://zenn.dev/neinc_tech/articles/aad61d4f0fa1f6

https://zenn.dev/neinc_tech/articles/fc4b18b2897765

⚠️ご注意⚠️
本記事はあくまで25卒の新卒研修内容をまとめたものであり、
来年以降の研修内容を約束するものではありません。ご了承ください。

25卒エンジニア新卒研修について

まず入社直後に約1.5ヶ月の全体研修がありました。こちらは職種に関わらず新卒全員が一斉に受けるもので、マナー研修やプロダクト概要についての研修がこれに当たります。

その後、5月の中旬に配属の辞令が出され、新卒は各部署での研修へと移っていきます。この記事における「新卒研修」は、こちらの開発部配属後の研修を指します。

  • 期間:配属後16日間
  • 対象:新卒エンジニア2名

何を目指したか

具体的な研修内容を考え始める前に、まず「25卒新卒エンジニアの受け入れ」そのもののゴールを設定しました。

Q. 25卒の受け入れは何をもって100%成功と言えるか

A. 2人が3年後に〇〇リーダーになっていたらめっちゃ良い!

〇〇は、PJかもしれないし、チームかもしれない、組織かもしれない。
ここは個人の特性や興味によって変わってもちろん良いです。

そのためには

2年後にはプロジェクトの主力・エース になり、
1年後には任されたタスクを自立して進められるようになる 必要があると考えました。

次に、上記それぞれの状態をさらに言語化しました。

私が思う「プロジェクトの主力・エース」とは

  • 技術力
    • 難易度高めのタスクを自立して進められる(自立して≠質問しない)
    • 周りが困った時の相談先になる
    • PHP力だけでなく「良い設計」「良いコード」を考えられる
  • PJ推進力
    • 主体的にプロジェクトを進められる
    • 具体的には、渡されたタスクを実装するだけではなく、進捗管理・ドメイン理解・調査・設計・要件定義に関われる
  • 人間力
    • エンジニア以外とも適切にコミュニケーションがとれる
    • 他チーム・他部署・他社との窓口になれる

私が思う「任されたタスクを自立して進められる」状態とは

  • 技術力
    • 抽象度の高いタスクを任されても、調査から自分でできる
    • わからないところは周りに聞きつつ、先輩が隣につきっきりじゃなくても動くものが作れる
    • 「わからないところがわからない」状態を脱して、具体的な質問ができる
  • レビューができる
    • 「先輩のコードが正、俺が言うことなんてない」状態を脱する
  • 人間力
    • 先輩からして「心配で目が離せない」の状態を脱する

私が思う「任されたタスクを自立して『進められない』」状態とは

  • 具体的な実装指示のあるタスクしかできない
    • 〇〇ファイルの何行目に〜〜〜という処理を書けばいいね、まで並走しないと実装に入れない
    • 調査を一人でできない、既存コードを一人で読めない
    • 抽象度の高いタスクを任された時に、まず何からしたらいいかわからない
  • テストや静的解析などが落ちた時に、何をすればいいか分からない
    • 「見て直そうとしたが万策尽きてわからない、ヒントください」はOK
    • どこを見たらいいのか分からない、直すための最初の一歩が踏み出せないはNG
  • ログを見れない
    • 「ログ見たけど自分の経験ではわからなかった」はOK
    • 開発中に想定外が起こった時に、何を見たらいいか分からないのはNG
  • 仕様をドキュメントにおこせない
    • ドメイン知識や概念の圧倒的不足がある状態

研修コンテンツ

上記のようにゴールを設定して、抽象的な段階で周囲と認識を揃えたうえで、ではそこに向かうために研修ではコンテンツとして何が必要か?を具体的に考え始めました。

前提として伝えたこと

以下はこの新卒エンジニア研修の前提として、新卒2人にも研修に携わる先輩たちにも、私から事前に伝えていました。

  • この研修は、君たちを適切な方法で最強にするための一歩です
  • 必要な人に必要な研修をしたいので、研修内容が人によって異なる場合があります
    • やってきたことやバックグラウンドが全く違うので、得意なことは違って当たり前
  • 得意や好きは伸ばして、苦手は研修を上手く利用して補ってね

スケジュール

16日間の実際の研修スケジュールがこちらです。

⁠コンテンツ ⁠目的
⁠研修前 メンターキックオフ - メンターとしてのミッションを理解する
- メンターへの期待値を伝える、期待値を合わせる
研修初日 ⁠研修キックオフ - 研修の目的共有と期待値合わせ
- 研修スケジュールの大枠を把握
Mgrと1on1 - Mgrと新卒のコミュニケーションの場
- 配属チームと専属メンターの決定
メンター1on1 - お互いに自己開示をして、聞きやすい環境を作る
開発部についての研修 - 全体研修では触れなかった開発部の情報を共有
- 開発部メンバーなら知っておいて欲しいことについて共有
⁠基礎座学 - 明日からの研修で躓きそうな部分を取り除く
1週目 ワークショップ ※後述
2週目 リリースRTA ※後述
⁠研修最終日 研修の成果発表 - 社内の全エンジニアに対して成果物を共有する
- 作ったものにFBをもらう経験を積む
- 先輩たちに新卒のことを知ってもらう
⁠障害研修 - 障害とは?を理解する
- チームに or 上に報告しなければいけないものを知る
- せめて障害を起こした時の初手の動きを知っておく
⁠研修終了翌日 最速ふりかえり - 新卒から研修の良かった点と悪かった点を吸い上げる
- 来年の研修設計に活用する情報を収集する
⁠チーム本配属 - 通常業務にスムーズに入れる状態でチームへ引き渡す
⁠後日 受け入れ側のふりかえり - 新卒研修に携わった先輩関係者を集め、受け入れ側視点での情報を収集する

コンテンツの詳細

ワークショップ研修(7日間)

  • 概要
    • プロダクトの中に、ローカルでページを作成し、任意の機能を実装する
    • プロダクトの設計思想に則って、1つのwebページを作る工程を一通り学ぶ
  • ⁠目的
    • プロダクトの中に作ることで、自然と周囲のコードを読む
    • 周囲のコードを読む中で、自然と今の設計思想やロジックの層の分かれ方を把握する
    • 今の設計思想を掴み、「このプロダクトにおけるPHP」を書くことで、初手の大きなズレを防ぐ
    • ついでに環境構築ができるので、この後のリリースが円滑になる
    • 研修のためだけに使うリポジトリなどの準備が不要なので、研修側の負担が減る
  • 最終的な成果物
    • プロダクトのローカル開発環境で作成した何らかのページ / 機能
      • 最低1つ、複数作ってもOK
    • プロダクトのコードを読んで学んだこと
      • 何らかのフレームワークに沿った形でまとめるも可、ツールを使うも可
      • 全体のディレクトリ構造図、読んだ箇所のクラス図やアーキテクチャ図を作るもあり
      • 自分がまとめやすい && 発表しやすい形でOK


先輩に助けてもらいながらプロダクトコードを読み解く

リリースRTA(5日間)

  • 概要
    • 新卒2人にタスクを3つずつ渡して、よーいドンで最速リリースを目指す
    • タスクは他プロジェクトの文脈がない易しめのもの(文言修正や簡単なロジック修正)
    • リリースRTAについてはこちら
  • 目的
    • ユーザーに価値を届ける経験をいち早く積む
    • コーディングではなくユーザーに届けることに価値があることを体感する
    • ひと通りのリリースフローを知り、経験する
  • 最終的な成果物
    • リリース完了したタスクを1つ以上


リリースRTA開始初日で初リリースを完了させ、盛大に祝われる新卒2人

その他やったこと

専属メンター制度

  • ⁠概要
    • 新卒1人につき先輩1人、専属でメンターをつける
  • 目的
    • 定期的な接点として心身の状態を把握し、対応が手遅れになることを避ける
    • 技術面でのフォロー
      • 純粋な技術力、ドメイン知識、経験値や勘の共有など
    • メンタル面でのフォロー
      • メンタル的なドロップアウトを避ける
      • チーム内だからこそ言えない悩みのフォローのため、フォローメンターは配属チーム外から選定した


配属初日のメンター1on1の様子

チームへ仮配属

  • 概要
    • 研修初日から配属チームを決定し、本人と周りに通達する
    • まだチームの仕事は請け負わない
  • ⁠目的
    • 最初からチームに属することで、馴染みやすくする
    • チームの先輩の近くに座ることで、会社の席選びで迷わない(NEは基本フリーアドレス)
    • 朝会、夕会、ふりかえりなどのチームmtgに研修中から出ることで、研修後のチーム本配属に滑らかに繋げる


チームごとに席札を立てて、こっちおいで〜!一緒に座ろう!を発生しやすく

Slackで新卒チャンネルの作成

  • 概要
    • 新卒が1年間使える、駆け出しエンジニア用Slackチャンネル
  • 目的
    • 新卒が緊急じゃない質問を雑に投げとくと、誰かが答えてくれる場
    • 先輩たちが、新卒が知っておくと便利な情報を投げてくれる場


先輩が便利情報を投げてくれる

コーヒータイム

  • 概要
    • 30分×2回 / 週
    • 配属チーム外の先輩を毎回数人ずつ招待し、コーヒーカウンターを囲んでコミュニケーションをとる時間とする
    • コーヒーとお菓子と話のネタを提供する
  • 目的
    • チームメンバーや専属メンター以外とも、 相当量のコミュニケーションを確保する
    • 各先輩たちが何をしている人なのかを知り、適切な質問先の感覚を掴む
    • 新卒がチーム外の先輩でも話しかけやすい / 質問しやすい環境を作る
    • 先輩たちが新卒のことを知り、自発的に気にかけてくれやすい環境を作る


15時のおやつタイムに、コーヒーとお菓子を添えて

研修をやってみて

研修終了直後の最速ふりかえりは、新卒2人と研修担当者の私の3人で、「感情グラフ」と「お気持ちから始めるKPT」という手法を混ぜたフレームワークで実施しました。ざっくばらんに率直に、研修を受けた当事者として、来年もぜひ続けて欲しいこと / これはちょっと微妙だったから来年はやらない方がいいこと、など意見を出してもらいました。


新卒側の実際のふりかえりmiro

新卒たちは除いて、新卒研修に携わった先輩関係者だけを集めた「受け入れ側」の視点でのふりかえりも実施しました。こちらは新卒たちが書いてくれた感情グラフを軸として、それらが上下した周辺で発生した事実や課題について整理しました。


受け入れ側の実際のふりかえりmiro

ふりかえりで本人や関係者から評判だった、本研修の推しポイントをいくつかご紹介します🙌

  • ワークショップ研修
    • これまじで良かった
    • これのおかげでチームジョインと初リリースを最速で進められた
    • プロダクトの中に実際にコードを書くことで、自然と周りのコードを読めた
  • リリースRTA
    • RTAと銘打たれることで、「速いは正義」という価値観ができた
    • 画面に見える形で成果ができて、実務にも一番近かったのでテンションが上がった
  • 専属メンター制度
    • 最初から「誰に聞いてもいいよ」だと選択肢が多くて逆に困惑するので、最初は「特定のこの人に聞いてね」にしてくれたのは助かった
  • コーヒータイム
    • 研修関係者やチーム外の先輩だとなかなか話しに行ける機会がないので、何をしているどういう人かを知れて良かった
    • 初対面の人に自分から話しかけにいく時の最初の壁を取り除いてくれた

さいごに

新卒エンジニア2名ともこの研修で良いスタートダッシュを切り、25卒受け入れのゴールとして設定した「3年後にリーダーになること」を目指して、日々モリモリと成長してくれています!

25卒の新卒研修はこんな感じでしたが、来年以降はもっともっと新卒の数が増えていく予定なので、今年の反省点を生かしてまたアップデートしていく予定です。NEでは今後も、新卒エンジニアたちが良いスタートダッシュを切れるための新卒研修を設計していきます💪

NE株式会社の開発ブログ

Discussion