この記事は every Tech Blog Advent Calendar 2024 の 20 日目の記事です。
目次
はじめに
こんにちは。
トモニテ開発部ソフトウェアエンジニア兼、CTO室Dev Enableグループの庄司(ktanonymous)です。
現在弊社では、2025年新卒のエンジニア内定者向けに初めての内定者研修を実施しております。
今回の記事では、その内容について紹介したいと思います。
エンジニア内定者研修を実施するに至った背景
まずは、なぜこのタイミングで初めての内定者研修の実施を決定したのか、その背景についてお話ししたいと思います。
弊社では、今年の2月に、開発組織を横断して様々な課題解決を促進するための DevEnable というグループが立ち上がりました。 (以下の記事で DevEnable グループを設立した際の話について綴ってあります)
筆者も所属している DevEnable グループでは、新卒エンジニア向けのサポートも積極的に行っていきたいと考えています。 そんな中で今回のエンジニア内定者研修の実施に至ったのには、主に2つの理由があります。
1つ目の理由としては、これが一番大きいですが、内定者の意欲がありました。
内定者側から「学習機会があれば入社前でも積極的に利用していきたい」という意欲的な意見が上がっていました。
そういった意見を受けて、DevEnableとしても、内定者の積極性と学習意欲に応えたいと感じていました。
そこで、入社前の段階ではありますが、内定者向けに研修を実施するのが良いのではないかと考えました。
2つ目の理由として、今年度の初めに実施したエンジニア新卒研修での反省があります。
DevEnableグループの発足後、1つの新しい大きな取り組みとして、2024年新卒エンジニアの入社後のサポートをするために新卒エンジニア研修を実施しました。
(この新卒研修もエンジニア向けのものは初めてとなる取り組みでした。新卒研修の概要に関しては以下の記事をご覧ください)
それまでは、新卒全体での職能に依らない研修はこれまでも実施されていましたが、エンジニア向けの研修は行われておらず OJT でのオンボーディングが基本となっていました。 そのため、エンジニアにフォーカスした研修を実施したことで、エブリーのエンジニアとしてのマインドセットの獲得や 幅広い知識をインプットすることでスムーズな開発組織への参画をサポートすることができました。
一方で、先の記事でも触れている通り、専門領域外を含めて社内の実際の技術スタックに触れてもらったため、以下のようなネガティブなフィードバックもありました。
- 最低限必要な知識などを事前に共有することで、もう一段階踏み込んだ講義内容になると感じた。
- 研修で使用する各種ツールの使い方についての研修か資料があると取り組みやすいと思いました。
このようなフィードバックを受け、今後も入社後のより良い新卒研修を実施していくために、受講者の知識のベースラインを揃えておくことが重要ではないかと考えていました。
上記のように、内定者の意欲を受け、新卒研修でのフィードバックを参考にしてエンジニア向けの内定者研修を実施することを決定しました。
エンジニア内定者研修の概要
エンジニア内定者研修の目的
先述の通り、内定者研修では内定者の学習意欲に応えること、来年度入社する新卒のエンジニアメンバーが入社後の研修を通じてよりスムーズに開発組織にジョインできるように
ベースとなる基礎知識を学べる機会を提供することを主な目的としています。
具体的には、以下のような目的と方針を設定しました。
目的
入社前に基本的な技術や知識をキャッチアップする環境を提供する
方針
- 入社前に身に着けてほしい技術や知識のキャッチアップをサポートする
- 基礎知識を早期にキャッチアップすることで入社後の研修・オンボーディングをよりスムーズに進められるようになる
上記の目的と方針を踏まえ、筆者を含めた新卒3年目までの若手メンバーが中心となり、研修を企画・運営しています。
エンジニア内定者研修カリキュラム
今回の研修では以下のテーマで講義を行うこととしました。
各回 2 時間を目安に、2 週間に 1 回のペースで実施しています。
(執筆現在、第6回まで完了しています)
- ターミナルおよび Git/GitHub の基礎
- ネットワーク/インフラ基礎
- DB 研修
- プログラム基礎
- Web 基礎
- Web アプリケーション開発基礎
- 個人開発
また、遠方から参加する方もいるため、全ての講義はオンラインで実施して録画を残すようにしています。 ただし、学業を優先してもらいたい思いもあったため、任意での参加としています。
terminal および Git/GitHub の基礎
terminal および Git/GitHub の講義では、下記のようなトピックを通じて、 普段から利用機会の多いCLI(ターミナル)やチームでの開発を行うにあたり弊社でも利用している Git/GitHub の基本的な使い方について学びました。
- ターミナル/シェルとは何か
- コマンドはどのようにして実行されているのか
- 主要なコマンドの紹介
- Git の基本的な仕組み
- Git の基本的なコマンド
- GitHub の使い方
ネットワーク/インフラ基礎
ネットワーク/インフラ基礎の講義では、OSI 参照モデルを中心に、
ネットワークやインフラの基礎知識について学びました。
具体的には以下のトピックを取り上げました。
- プロトコル
- TCP/IP
- ネットワークセグメント
- HTTP
- アドレス
DB 研修
DB 研修では、DB の基本概念やバックエンド/データ系それぞれの視点での利用について学びました。 具体的には以下のトピックを取り上げました。
- 「データ」の種類
- データ基盤
- サーバーエンジニア視点でのデータ利用
- データエンジニア視点でのデータ利用
プログラム基礎
プログラム基礎の講義では、プログラムの基本的な構造やデータ構造、アルゴリズムについて学びました。 具体的には以下のトピックを取り上げました。
- データ構造
- 配列とリスト
- スタックとキュー
- ハッシュ
- 木構造
- アルゴリズム
- ソート
- 探索
Web 基礎
Web 基礎の講義では、API や Web アプリケーションの基本構成や仕組み、 バックエンド/フロントエンドそれぞれの役割について学びました。 具体的には以下のトピックを取り上げました。
- Web アプリケーションの基本構成
- ブラウザでの HTML のレンダリングについて
- ブラウザとサーバーの通信について
- ページの配信方式
- フロントエンドとバックエンドの役割
Web アプリケーション開発基礎
Web アプリケーション開発基礎の講義では、アーキテクチャやテスト、コーディング時に意識することなど、 組織/チームでの開発に携わるうえで重要となってくる考え方について学びました。 具体的には以下のトピックを取り上げました。
- 良いコードを書くために意識すること
- アーキテクチャ
- テスト
- CI/CD
個人開発
個人開発では、入社までの期間を通じて、実際にアプリケーションを開発してもらう予定となっています。 (本記事執筆時点で開始前となっています)
受講者のフィードバック
研修の改善のために、受講者からのフィードバックをアンケートで収集しており、その中でも以下のようなポジティブな意見が見受けられました。
- 以前勉強してから時間が経っていたので、いい復習になりました。それらの知識がエブリーの中でどういうところに当てはまっているのかも知ることができました。
- 学校の授業ではあまりやらないような,実際のアプリケーション開発に役立つ部分をやってくださり,とても勉強になった
研修自体はまだ続きますが、今回得られたフィードバックをもとに、今後の研修の改善に活かしていきたいと考えています。
おわりに
今回の記事では、現在進行中の弊社で初めての実施となるエンジニア向け内定者研修についてご紹介いたしました。
内定者研修を通じて、今後入社するエンジニアのメンバーが入社後のオンボーディングをよりスムーズに進められるようにサポートすることができると考えております。
また、研修の企画・運営に携わった若手メンバーにとっても、
知識の整理や研修の主要メンバーとしてという新たなチャレンジの機会となり、貴重な成長の機会となっていると感じています。
今回の研修の経験を含めて、今後もエンジニアの成長を支援する取り組みを続けていきたいと考えています。
最後まで読んでいただき、ありがとうございました。