株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)
吉田 翔
こんにちは!
2023年度エンジニア新卒の、吉田です。
株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。
本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。
研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。
ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。
研修の概要
エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、
- 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」
- 「現場で求められる『仕事への取り組みスタンス』をつかむ」
- 「気軽に相談できる仲間(同期)をつくる」
の3点が目的とされています。
今年度は、入社前に行われたスキルアセスメントテストを踏まえ、受講者の理解度・習熟度に合わせた内容の講座を受ける制度が採用されました。
研修期間は受講者によって2〜3.5ヶ月に及び、プログラミング未経験で入社した新人もいた中、各々に適した講座を受けることができたため、非常に充実した研修期間となりました。
研修中は先輩方から、「新卒同期という存在は10年、20年後にもつながりが続く貴重な存在だから、大事にしてほしい」という話を何度も聞きました。
リモートと出社のハイブリッド形式での開催で顔を合わせる機会も多かったため、同期たちとはかなり親睦を深められたように思いますし、配属後の今も同期たちの仕事ぶりを耳にすることで、とても多くの刺激を得ています。
この点でも非常に充実した、楽しい研修期間だったなと強く感じています。
研修の特徴
配属先の担当領域以外も含んだ広い領域の講義を受講できることは、この研修の大きな特徴だと考えています。
エンジニアの心構えに始まり、フロントエンド、バックエンド、モバイルアプリ、セキュリティ、パフォーマンス、マネジメント…… 多岐に渡る内容をみっちりと学ぶことができました。
加えて研修内容には技術的なものばかりでなく、事業企画への理解を深めるプログラムも含まれています。
自分の担当領域外のことも自分ごととして、"圧倒的当事者意識"で積極的に関わっていくことを社風とするリクルートならではの研修ラインナップだと考えています。
また、多くの部分が内製の独自研修となっていることも特徴的です。
講師陣には社内外の第一線で活躍しているシニアエンジニアが多いため、内容がとても濃いのは勿論のこと、リクルートの実際のプロダクトに技術がどう応用されているのか、また課題や問題点をどこに感じているのか、今後どういった技術を勉強し取り入れていくべきか…… など、踏み込んで具体的に話していただけたのが印象的でした。
座学ベースの講義ではかなり高度な内容を扱ったものも多く、そこも大きな特徴と言えるかもしれません。
新卒向けと思って資料を見ると、驚かれる方もいるかと思います(僕自身、正直まだ理解しきれていない内容も多く、少しずつ復習しながらしっかりと身につけていきたいなと思っています)。
新卒エンジニアがこの資料の内容すべてを理解して、即戦力としてすぐに成果を出し始めることを期待されているわけではありません。
常に勉強し続けることが求められるエンジニアという職業の第一歩として、どのように技術を学んでいくべきなのか。その手段や手がかりを知ることも大きな目的とされていました。
わからないことばかりの中で、どのようにそれを咀嚼していくのかということ。
また、理解しきれなかったことでも、今後ふと「ああこういう内容があったな」と思い出して再度調べ直せるようにしておくこと(研修中、"インデックスを張る"という言い方をされていました)。
今後のエンジニアキャリアの中では確実に重要となることですし、新人のいまから体感することには、大きな意味があったのだろうと理解しています。
研修内容・資料
実際の研修の内容と、資料の一部を公開いたします。
ぜひ、参考になさってください。
- エンジニアの心構え
- 導入研修(資料非公開)
- 自己学習・質問力講座(資料非公開)
- ブラウザ
- JavaScript
- TypeScript
- Webフロントエンド(資料非公開)
- A/Bテスト概論
- プロンプトデザイン(資料非公開)
※資料は非公開ですが、データ推進室ブログにて講義内容を紹介していますので、こちらからご覧ください
- アウトプット講座(資料非公開)
- 見てわかるテスト駆動開発
- React
- Next.js
- Webアクセシビリティ入門
- ネットワーク講座(資料非公開)
- 現代的システム開発概論
- セキュリティ講座(資料非公開)
- 企業と法律講座(資料非公開)
- 攻撃と防御で実践するプロダクトセキュリティ演習
- Java基礎講座(資料非公開)
- パフォーマンス系演習(資料非公開)
- 検索結果の品質向上
- 事業価値とエンジニアリング
- 制約理論(TOC)入門
- 紙ヒコーキゲーム(資料非公開)
- TPS入門
- スピードハッカソン(資料非公開)
- アプリ開発の概論(資料非公開)
- アプリ自由課題(資料非公開)
- データベース講座(資料非公開)
- ビジネス理解・企画系研修(資料非公開)
- 実践オブジェクト指向設計〜Javaで学ぶオブジェクト指向(応用)〜
- Linux講座(資料非公開)
- Git/GitHub講座(資料非公開)
- Docker講座(資料非公開)
- プログラミング応用(資料非公開)
- データベース概論講座(資料非公開)
- 要件定義講座(資料非公開)
- 基本設計講座(資料非公開)
- 詳細設計講座(資料非公開)
- テスト理論・ユニットテスト講座(資料非公開)
- テスト理論・連結/総合テスト講座(資料非公開)
- プロジェクトマネジメント講座(資料非公開)
- チーム開発講座(コーディング規約)(資料非公開)
- MVCフレームワーク講座(Spring Boot)(資料非公開)
- セキュリティ研修(資料非公開)
- AWS研修(資料非公開)
※昨年度より資料非公開ですが、2021年度実施分の資料は公開していますのでこちらからご覧ください
印象に残ったプログラム
たくさんの研修がありましたが、特に印象に残ったものをいくつかご紹介します。
エンジニアの心構え
研修の初めには、弊社の技術顧問である和田卓人(t_wada)さんによる、「エンジニアの心構え」の講義がありました。
エンジニアとして現役でいるためには、月に1冊ペースで技術書を読み、毎年1つ以上の言語を習得し、技術ブログなどへのアウトプットを行い、またできれば毎日コードを書き続け…… という、努力を続ける必要があるという講義。
和田さん自身、技術顧問業をメインとしている今でも、現役であり続けるために開発業務や読書を続けているそうで、忙しい中でもなんとか1日30分でも時間をみつけて自己投資をし続けることが大事、とのことでした。
エンジニアは常に技術を学び続ける必要があるということはぼんやりと意識をしていましたが、改めてこの講義で具体的な方法を突きつけられ、一気に気が引き締まる思いがしました。研修の一番最初にこのお話を聞けてよかったと強く感じています。
フロントエンド関連技術
古川陽介(yosuke_furukawa)さんの「ブラウザ」、小林浩一(koichik)さんの「React」といった講義では、とにかく内容の充実ぶりに驚かされました。
「ブラウザ」の講義では、ブラウザの機能を「User Interface」「Browser Engine」「Data Storage」「Rendering Engine」「Network」「JavaScript Engine」に分け、それぞれの仕組みをかなり詳しく扱っています。
HTML/CSS/JavaScriptがレンダリングする仕組み、HTTPのバージョンの違い、CookieやCache Storageの違いなどなど…… 大変濃い内容で、インプットが多く正直終盤はくたくたになりましたが、Webに携わるエンジニアとしては理解しておくべきことばかり。何度も繰り返し復習したい講義です。
Reactは、Meta社(旧Facebook)がもともと自社製品のために開発し、2013年にオープンソース化したフロントエンド向けのJavaScriptライブラリで、近年かなり導入事例が増えた、"新しい"技術です。
実は公式のチュートリアルがかなり丁寧に記述されており、Reactを使った簡単なコードを書くだけであれば、このチュートリアルで十分とも言えます(僕も学生時代にチュートリアルで勉強して、簡単なWebサイトを作成していました)。
しかし小林さんによる「React」の講義では、単純なReactの使い方にとどまらず、Reactをなぜ使いたいのか、内部ではどのように動作しているのか、微に入り細に入り詳しく説明がされました。
僕はそれなりにReactは使ったことがあるつもりでしたが、まったく知らないことばかり。「Reactの内部実装を読むと……」という言葉が出てきたときには耳を疑いました。
この資料を最初から最後まで読み通せば、もうかなりReactに詳しいと言えると思います。
また「ブラウザ」「React」の講義では、モダンな技術に至るまでの歴史的な経緯が、実際にそれを体験してきた二人の視点で語られていたのもかなり印象に残っています。
技術の背景には必ずそれまでの経緯や課題があり、またそれを解決するための思想があるはず。そう分かってはいても、数十年続くエンジニアリングの技術を一から追うのはなかなか容易ではありませんし、勉強を怠ってしまいがちに思います。
これらの講義資料には、モダンなWeb技術の背景にある歴史が完結かつ分かりやすくまとめられており、この歴史を理解することは今後技術を学ぶ上でかなりの財産になると確信しています。
演習形式のプログラム
研修終盤の、「攻撃と防御で実践するプロダクトセキュリティ演習」、「スピードハッカソン」や「パフォーマンス系演習」もかなり印象的です。
いずれも受講者が数名ずつのグループとなり行う演習形式の講義で、それぞれ以下のような課題が出されました。
- 「プロダクトセキュリティ演習」 : 制限時間内に、サーバ上に意図的に仕組まれた脆弱性を攻撃することでデータを盗み出す「攻撃」と、その脆弱性を解消する方法を提示する「防御」とを行い、その成功数を競う"CTF"という競技を行いました。
- 「スピードハッカソン」 : あるWebサイトに対してさまざまなチューニングを施すことでサーバ上での実行速度を高速化していき、その速度を競う”ISUCON”という競技を行いました。
- 「パフォーマンス系演習」 : Webアプリケーションに対して、JMeterなどに代表される計測ツールを用いて負荷試験・問題調査をし、調査結果に基づいた修正を行う演習を行いました(ISUCONと似ていますが、アプリケーションの性能を根拠を持って計測し、問題有無を確かめる方法論を重視した演習です)。
演習形式で実践を伴った学習によってより知識が身につきやすく感じた他、チームとして1つの目的に向けて作業分担するという、プロダクト開発では必須の技能を学ぶことができました。
またこれらの研修で扱った内容は、普段開発エンジニアとして作業をしているときにはなかなか意識しづらいことばかり。
社内には専門家もいるため、つい彼らに任せてしまいがちになり、自分ではなかなか勉強しようと思えない内容だと思います。
どの演習も2日間とたっぷり時間をかけて学習ををしたため、通常の開発プロセスではなかなか身につかない経験が得られたばかりでなく、専門家でないなりに何に気をつけてコーディングを進めるべきか、そのエッセンスが得られたように思います。
他の講義も1つ1つ取り上げて語り尽くしたいところではあるのですが…… すごい文字量になってしまいそうなため、泣く泣く断念。
他の新卒同期たちと「どの講義が特に印象的だったか?」と話したことがありましたが、皆、挙げている講義が違っていました。
それだけどの講義もためになる、素晴らしい内容だったということだと思います。
ぜひ、目を通してみていただけると嬉しいです。
終わりに
講義中はSlackの"実況チャンネル”を用いて、受講生が盛んに感想や質問を投稿していました。
ある受講生がした質問に対して講師より先に別の受講生が回答するような、新卒同士での助け合いも活発に行われており、チャットベースでのコミュニケーションながらかなり和気藹々と研修が進んでいたと思います。
そのおかげもあって、エンジニアの第一歩として非常に濃い学びを得られたのと同時、心から「楽しかった!」と言える研修となりました。研修終了時には同期たちとの別れ(?)を惜しんでかなりしんみりした空気になってしまったほど。
個人的に、教育環境が充実していることがリクルートへの入社を決めた要因の一つでしたが、その期待を超えて、エンジニアとしてとても大きな糧になったと感じています。
昨年までの新人研修の資料を読んだり、先輩方・講師陣と話す中で、エンジニアコース新人研修は、年を追うごとにどんどんアップデートを繰り返し、よりよいものになってきているのだなと感じています。
今後とも、エンジニアコース新人研修にぜひご注目をいただけますと幸いです。