2021 年度新卒エンジニア研修について
こんにちは。医療介護求人サイト「ジョブメドレー」の開発を担当しているエンジニアの山田です。 今年の新卒エンジニア研修において、メンターを担当しました。
メドレーでは 2019 年度から新卒採用を行なっており、今年 2021 年度は 5 名の新卒がエンジニアとして入社しました。
例年と同じく 4 月から 9 月にかけて、約 5 ヶ月間の新卒エンジニア研修を実施しましたので、その取り組みを、研修受講者である新卒からの声も交えてご紹介します。
新卒研修の概要
今年の新卒研修の最終ゴールは、「メドレーのエンジニアとして、Our Essentials(※) を体現し、顧客へ価値提供できるようになるための基礎を身につけ、経験を得ること」として掲げました。
※) メドレーの行動原則
メドレーの新卒エンジニア研修では、技術を身につけることだけではなく、ビジネスパーソンとしての基礎を身につけ、メドレーが大切にしている価値観を理解し、体現する意識をもって、顧客への価値提供について自分の言葉で話せるようになることまでを目指してもらいます。
研修は昨年同様、大きく分けて、4 つのフェーズに区切って行いました。
また、全研修期間を通じて、各新卒にはメンターを一人ずつ付けました。メンターは、一週間に 1~2 回のペースで新卒と 1on1 ミーティングを実施し、フィジカルとメンタルの両面を気遣い、個別にフォローを行いました。
新卒研修の内容
フェーズ 1:社会人&メドレー基礎研修
リスク研修
- インサイダー取引防止研修
- コンプライアンス研修
- 情報セキュリティ研修
ビジネス研修
- ビジネスマナー研修
- ビジネススキル研修
- ビジネススタンス研修(外部研修)
フェーズ 1 では、成果を出し、価値を発揮するために必要なビジネスパーソンとしての基本的な仕事の型を身につけることをゴールとしました。
リスク研修では、メドレー社員として、社会人として、身の周りで起こりうるリスクについて考え、いかにそれらのリスクと向き合うかを講義形式で学んでもらいました。
ビジネス研修では、社会人としての最低限のマナーを学び、論理的思考力、コミュニケーション力など、エンジニア職に限らない課題解決力へつながるポータブルな知識を、座学とワークショップを通じて定着してもらうことを図りました。
また、社会人の基準で仕事と向き合い、適切な報連相によって周囲と協働していくことの重要性についても学んでもらいました。
新卒からの声
- 質の高い、多量のインプット・アウトプットができた
- 伝わるメールの書き方、名刺の渡し方など、社会人に必須のマナーやスキルを認識できた
- ワークを通じて、言葉では理解していても行動するとできないことを洗い出せた
フェーズ 2:エンジニア基礎研修
開発基礎 1
- メドレーエンジニアとして求めること
- 事業(ジョブメドレー ・ CLINICS ・介護のほんね)の概要説明
- 開発基礎研修(Ruby on Rails チュートリアル)
- 開発実践 (要件定義〜リリースまで)
開発基礎 2
- 技術書の輪読会
- ドキュメンテーションスキル研修
- プレゼンテーションスキル研修
- 中間レポート作成
- 中間報告会
フェーズ 2 では、新卒研修後に開発業務に入ってもらえるよう、エンジニアとしての基礎を身につけることをゴールとしました。
メドレーエンジニアとして求めること
開発に関わるこのフェーズにおいても、要件定義を含む汎用的な技術的スキルは勿論のこと、メドレーエンジニアが共通して持つべき価値観などを共有するため、フェーズ 2 初日は「メドレーエンジニアとして求めること」と題して、エンジニアの執行役員 田中が講義を行いました。
講義では、「エンジニアとは、エンジニアの価値とは、プロエンジニアとはなんでしょうか?」という問いから始まり、講義の終わりにはもう一度同じ問いかけをして締めくくり、新卒がメドレーの求めるエンジニア像について自身の言葉で話せるように考えてもらいました。
メドレーが求めるエンジニア像については、CTO 平山の メドレー平山の中央突破: THE エンジニア にも書かれていますので、よろしければ、あわせてご覧ください。
さらに、メドレーが展開する各事業および関連するプロダクトの概要説明をプロダクトマネージャーが行い、メドレーで開発する意義をあらためて認識してもらいました。
開発基礎研修
2 日目より、Ruby on Rails チュートリアル(以下、「Rails チュートリアル」)を教材とした、開発基礎研修に移りました。
メドレーのプロダクトは Rails で作られているものが多く、Web アプリケーションを開発するための基礎を身につけるためにも、Rails チュートリアルの内容を実施してもらいました。
単純に、Rails チュートリアルの内容に沿って、ダラダラと写経するのではなく、随時、学んだことは Confluence にまとめ、GitHub 上で Pull Request を作成する形で、ソースコードを共有してもらいました。
学んだことを自分の言葉に置き換えてアウトプットすることで反復学習を促し、Pull Request を作成してもらうことで GitHub の使い方に慣れてもらうことを図りました。
また、デイリーで朝会と夕会を実施しました。朝会は仕事のリズムを整えるための顔合わせ、夕会は新卒から質問・成果を共有してメンターがそれに対してフィードバックをする場としてそれぞれ実施しました。
研修前に既に Rails チュートリアルを一周していた新卒もいましたが、二周目を実施して新たな気付きを得たり、AWS を用いてクラウド上に環境構築し、作成した Web アプリケーションをデプロイするまでを実践してもらうなど、インフラに関しても理解を深めてもらうことができました。
新卒からの声
- システムのパフォーマンスを上げるための工夫を知ることができた
- バグ発生〜原因特定〜修正、というデバッグのスピードが、研修序盤から飛躍的に上がった
- プロダクトで利用している AWS の各種サービスの概要を理解できたことに加え、サービス間の繋がりやネットワークの流れに関しても理解を深めることができた
開発実践
開発基礎研修にて Web アプリケーション開発の基礎を学んだ後は、「メドレー/グループ会社で使う来訪者受付システム」を開発題材として、開発実践研修を行いました。
開発業務全体の流れを把握することで、チームで開発(課題解決)することを経験し、今後の仕事に役立たせることを目的としました。
本研修で達成すべきこととして掲げていたものは主に、次の通りです。
- プロジェクト管理能力を身につけること
- 開発する対象を体系的に整理できる能力を養うこと
- システム設計に関する基礎的な物事を理解すること
- チーム開発を理解すること
- 品質を理解すること
既に決まりきった仕様書に沿って開発するのではなく、新卒自身が現状の問題把握や課題整理を行って、ユーザーへ価値提供するために何を作るべきかを考えることから始まり、リリース後の運用方法やランニングコストのことまで考え提案してもらいました。
開発実践研修は約 1 ヶ月の期間をかけて行いました。大まかな流れとしては、次の通りです。
- 要件定義(ヒアリング・現状把握・課題整理・要求分析・機能/非機能要件の洗い出し・ UI 草案)
- プロジェクト計画(役割分担・ WBS/ガントチャート作成)
- 設計(画面設計・機能設計・データモデリング・方式設計・インフラ設計)
- 開発(実装・コードレビュー)
- QA(テスト設計・テスト)
- 成果発表(成果物を関係者へプレゼン・リリース)
方式設計の一部として、開発に使用する言語などの選定も新卒自身が行いました。
今回作成した社員向け管理画面と来訪者向け画面はいずれも SPA(一部、PWA)のアーキテクチャを採用し、主なライブラリ/フレームワークに関して、フロントエンドはTypeScript, React, Next.js, Chakra UI, Ionic Framework、バックエンドは Ruby on Rails(API モード)をそれぞれ利用することとなりました。
選定理由としては主に、次の通りです。
- TypeScript, React(両画面共通)
- ロジックからテンプレートまでの全てのコードを静的型付けで書くことができ、堅牢性に優れているため
- Next.js, Chakra UI(社員向け管理画面)
- ゼロコンフィグでビルドやレンダリングを最適化できるため
- アクセシビリティに優れたリッチな UI を素早く構築できるため
- Ionic Framework(来訪者向け画面)
- iPad 上で、ネイティブアプリのような UI/UX を提供するため
- Ruby on Rails API モード
- フロントエンドとバックエンドを分離して疎結合にするため
- 短期間で構築するため
- 社内でもよく使われておりメンテナンスしやすいため
インフラは AWS を採用し、EC2, S3, RDS, CloudFront, Route53, CloudWatch などのサービスを利用しました。
結果的に、本研修プログラムの成果物としてリリースされたシステムは「Medley Entrance」という名前で、社内ツールとして現在、毎日稼働しており、ユーザーとしてメドレー/グループ社員だけではなく、来訪者の方々にも使っていただいています。
Medley Entrance(上:社員向け管理画面、下:来訪者向け画面)
チームで課題解決に臨み、価値提供までの実績を残せたことは自信につながり、開発実践研修のやりがいとして、感じてもらえたのではないでしょうか。
要件定義などの期間中、想定よりもスムーズに進められなかった時も他責にせず、各々がリーダーシップを発揮し、建設的に進めていく新卒の様子をメンターの一人として傍で見させてもらいました。
この 1 ヶ月間の開発実践研修を通じて、技術力はさることながら、課題解決に対する十分な熱意と主体性を新卒から感じられ、とても頼もしい印象として残りました。
新卒からの声
- 開発の中での方針を意識して設計/実装することができた(シンプルにする)
- QA とはそもそも何かというリサーチから入り、有識者の考え方を軸に方針を決めてから始められた
- 各々が最適なパフォーマンスを発揮できる環境づくりを意識して、高速な意思決定が可能な体制を整えることができた
- 要件が決まりきっていない中で設計するのは難しかった
- 開発タスクが集中していた時に、プロジェクト全体の現状を把握できていなかった
- 文章を作るスキルが足りていない
技術書の輪読会
フェーズ 2 の開発基礎 2 の輪読会では、 『Web を支える技術 -HTTP、URI、HTML、そして REST』 を題材書籍として、7 日間に渡って毎日、次の手順で実施しました。
- 参加者が同じパートをあらかじめ読んでおき、書籍から学んだこと、ネットなどで調べても解消しきれなかった疑問点などをまとめる
- その内容をもとに、夕方のミーティング時において、各自が発表してディスカッションを行う
- ディスカッションした内容は議事録にまとめる
輪読会は他者からの学びを共有してもらうことで、自分にはなかった視点・気付きを獲得し、その書籍への理解をより深められる効果があります。
本研修プログラムにおける輪読会の目的としては、Web サービスを開発していく上で必要となる知識へ触れることにより、今後獲得していくべき知識のベースラインを理解すること でしたが、輪読会ならではのメリット・楽しさを新卒に実感してもらえたことも、副次的な効果としてあったと思います。
新卒からの声
- Web の基本的な知識を「なぜ登場したのか」を理解しながら網羅的に学ぶことができた
- 文書でまとめた後に、口で説明することが学んだ内容の定着に良いと感じた
- これまでなんとなく実装していたことの仕組みを学ぶことで、知識として定着することができた
中間報告会
フェーズ 2:エンジニア基礎研修最後の研修プログラムである中間報告会に向けて、ドキュメンテーションスキル研修、プレゼンテーションスキル研修を実施しました。
上記スキルが必要となる背景は、次の通りです。
- エンジニアリングを通じた課題解決とはプログラムを書くだけでは解決しない場面もある
- 背景、目的を正しくステークホルダーへ共有しながらチームとして取り組んでいくことになる
- 伝えたいことを文章として整理し、他者へ分かりやすく伝えていくことが求められる
また、メドレーの行動原則 Our Essentials を構成する要素として、「ドキュメントドリブン」「全てを明確に」という項目が含まれており、これらを実現するためにも、とても重要なスキルとしてメドレーは考えています。
新卒研修が終わった後も、エンジニアとして技術的なスキルを身につける機会は日常的に多くありますが、上記のようなスキルをまとめて習得する機会は少ないため、このような研修を社会人のはじめから受けておくことで、その後の伸びしろが違ってくるのではないかと思います。
研修が終わった後は、各自で報告会用の資料を作成し、研修講師からの添削を受けました。
中間報告会は各部署の開発マネージャーを発表相手として、当日は程よい緊張感をもって、良い雰囲気で報告会を終えられました。
フェーズ 3:事業部 OJT
事業部研修
- 取締役豊田からの講義
- CLINICS 事業部研修
- ジョブメドレー事業部研修
開発 OJT
- システム全体像説明
- 環境構築
- 各プロダクトの開発チームでの OJT
フェーズ 3 では、顧客の課題と、顧客への価値提供のための各チームの連携を体感し、メドレーの顧客提供価値を自分の言葉で話せるようになることをゴールとしました。
フェーズ 3 のはじめに、取締役豊田による日本の医療の課題とメドレーの取り組みに関する講義を受講してもらいました。
持続可能な医療体制を構築していくためにメドレーが成すべきことなどの話を聞いた後に、新卒からの質問の受け答えによって理解を深め、メドレーの社会的意義をあらためて認識してもらい、エンジニアとしてだけではなく、メドレー社員としての自覚を強めてもらいました。
事業部研修
開発 OJT で手を動かす前に、自分たちが何のために開発するのかを具体的にイメージできるよう、次のように、各現場に参加してもらいました。
- 見込顧客への架電業務見学
- 商談前の社内ミーティング参加
- 商談現場同席
- 定例会議参加
事業部のスタッフが、顧客の課題に対して、どのような対応をしていて、どのようにプロダクトを説明しているのか、事業部の各チームが、どのように連携して最終的に顧客に価値を届けるのかの全体観を知ってもらうことを狙いとしていました。
開発チームのエンジニアは業務上、プロダクトのエンドユーザーである顧客の声などを商談のタイミングから聞ける機会はなかなか無いので、研修を通じて話を聞けたことは、今後の開発モチベーションにも影響する良い機会だったと思います。
新卒からの声
- ユーザー、顧客、事業部が抱える課題を確認できたことで、開発以外にも目を向けるきっかけになり良かった
- 各部署が KPI として定めている数字を知ることができ、開発に降りてきている施策の影響箇所がどの部分かを理解できた上で、開発に取り組むことができるようになった
- 各部署のミーディングに参加することで、各部署がどのような考えで何を目指しているのかを理解でき、メドレー全体として目指している方向性が掴めた
開発 OJT
事業部研修に続く開発 OJT では、ジョブメドレー 、CLINICS、介護のほんねの開発チームに分かれて、研修を実施しました。
OJT 配属先では、メンターとは別に、トレーナーを付けて業務の進め方などをサポートしました。トレーナーは配属先の先輩エンジニアが担当しました。
OJT の流れとしては、初日に、プロダクトがどのように動いているのか、システム全体像を把握することから始まり、各自、ドキュメントに沿って、PC にローカル開発環境をセットアップしました。
その後は、他の先輩エンジニアと同様に、GitHub Issue で管理されている課題を解消することを日々の目標としてこなしてもらいました。ただし、単に Issue に書かれている課題をクリアしようとするのではなく、そもそも、なぜそれをやるのか、Issue の背景や起票者の意図を十分に理解した上で、プロダクトのあるべき姿に導くことを意識してもらいました。
Issue に書かれている内容の理解が不十分だったり、解決方針がうまく定まらない場合は随時、ミーティングの時間を設けて、Issue 起票者やトレーナーと認識合わせを行い、認識の相違から生まれるミスコミュニケーションを極力減らすよう、取り組みました。
技術的な質問に関しても、定期的に質問タイムを設けたり、複雑になりそうな実装や、つまずきポイントとなりそうな箇所に関しては、画面共有を用いてレビューを行い、疑問点に関してもその場で確認して、解消してもらいました。
緊急事態宣言期間中だったため、会社全体で原則、在宅勤務の体制となっており、対面でのコミュニケーションが希薄になりがちでしたが、朝会、夕会を含め、たとえ新卒から質問が無くても質問タイムでのミーティングは定期的に実施するなど、できるだけ頻繁に顔合わせして、新卒本人の声と顔を確認するよう心がけました。
Issue へのアサインから始まって、実装 -> レビュー依頼 -> QA -> リリース -> Issue 起票者への報告まで、一連の開発フローを経験してもらい、チーム内での開発業務に慣れてもらうことができました。
フェーズ 4:最終報告
新卒研修最後のプログラムとして、メドレー役員陣に向けた最終報告会を実施しました。
最終報告会の目的としては、次の通りです。
- 学んだことの知識を深化させる
- 自らの得手・不得手を捉え、将来の成長計画を立てる
- 体系的に整理・文書化して他者へ伝えるスキルを向上させる
- 役員陣に向けてプレゼンすることで、本配属に向けた決意表明として区切りを付ける
役員陣への発表であることに加え、一人あたりの発表時間にも制限が設けられており、当日の緊張はかなりのものだったと思います。
前日に発表会場を下見して、リハーサルを入念に行うなど、当日の発表会を成功させるため、メドレーのエンジニアとしての自覚を持って、発表準備に取り組んでいました。
技術志向とプロダクト志向の両輪を目指すエンジニア募集中
メドレーの研修では、技術的な講義や実践だけで終わるのではなく、ビジネスパーソンとして必要な基礎も身につけ、なぜ開発するのかを追究し、プロダクトを通じた課題解決を実体験してもらうことを重視しています。
メドレーでは、医療ヘルスケア分野の課題解決に挑みたいエンジニアを募集しています。
新卒の学生に限らず、中途採用も行っているので、エンジニアの方で少しでも興味を持っていただけたら、是非、面談でお話ししましょう。
最後までお読みいただき、誠にありがとうございました。
P.S.
昨年、一昨年の新卒研修の様子はこちらより、それぞれご覧いただけます。