株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)

株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)

こんにちは!
2023年度エンジニア新卒の、吉田です。

株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。

本日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。

研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。
ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。

研修の概要

エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、

  • 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」
  • 「現場で求められる『仕事への取り組みスタンス』をつかむ」
  • 「気軽に相談できる仲間(同期)をつくる」

の3点が目的とされています。

今年度は、入社前に行われたスキルアセスメントテストを踏まえ、受講者の理解度・習熟度に合わせた内容の講座を受ける制度が採用されました。

研修期間は受講者によって2〜3.5ヶ月に及び、プログラミング未経験で入社した新人もいた中、各々に適した講座を受けることができたため、非常に充実した研修期間となりました。

研修中は先輩方から、「新卒同期という存在は10年、20年後にもつながりが続く貴重な存在だから、大事にしてほしい」という話を何度も聞きました。

リモートと出社のハイブリッド形式での開催で顔を合わせる機会も多かったため、同期たちとはかなり親睦を深められたように思いますし、配属後の今も同期たちの仕事ぶりを耳にすることで、とても多くの刺激を得ています。
この点でも非常に充実した、楽しい研修期間だったなと強く感じています。

研修の特徴

配属先の担当領域以外も含んだ広い領域の講義を受講できることは、この研修の大きな特徴だと考えています。

エンジニアの心構えに始まり、フロントエンド、バックエンド、モバイルアプリ、セキュリティ、パフォーマンス、マネジメント…… 多岐に渡る内容をみっちりと学ぶことができました。

加えて研修内容には技術的なものばかりでなく、事業企画への理解を深めるプログラムも含まれています。
自分の担当領域外のことも自分ごととして、"圧倒的当事者意識"で積極的に関わっていくことを社風とするリクルートならではの研修ラインナップだと考えています。

また、多くの部分が内製の独自研修となっていることも特徴的です。

講師陣には社内外の第一線で活躍しているシニアエンジニアが多いため、内容がとても濃いのは勿論のこと、リクルートの実際のプロダクトに技術がどう応用されているのか、また課題や問題点をどこに感じているのか、今後どういった技術を勉強し取り入れていくべきか…… など、踏み込んで具体的に話していただけたのが印象的でした。

座学ベースの講義ではかなり高度な内容を扱ったものも多く、そこも大きな特徴と言えるかもしれません。

新卒向けと思って資料を見ると、驚かれる方もいるかと思います(僕自身、正直まだ理解しきれていない内容も多く、少しずつ復習しながらしっかりと身につけていきたいなと思っています)。

新卒エンジニアがこの資料の内容すべてを理解して、即戦力としてすぐに成果を出し始めることを期待されているわけではありません。
常に勉強し続けることが求められるエンジニアという職業の第一歩として、どのように技術を学んでいくべきなのか。その手段や手がかりを知ることも大きな目的とされていました。

わからないことばかりの中で、どのようにそれを咀嚼していくのかということ。
また、理解しきれなかったことでも、今後ふと「ああこういう内容があったな」と思い出して再度調べ直せるようにしておくこと(研修中、"インデックスを張る"という言い方をされていました)。
今後のエンジニアキャリアの中では確実に重要となることですし、新人のいまから体感することには、大きな意味があったのだろうと理解しています。

研修内容・資料

実際の研修の内容と、資料の一部を公開いたします。
ぜひ、参考になさってください。

印象に残ったプログラム

たくさんの研修がありましたが、特に印象に残ったものをいくつかご紹介します。

エンジニアの心構え

研修の初めには、弊社の技術顧問である和田卓人(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の"実況チャンネル”を用いて、受講生が盛んに感想や質問を投稿していました。

ある受講生がした質問に対して講師より先に別の受講生が回答するような、新卒同士での助け合いも活発に行われており、チャットベースでのコミュニケーションながらかなり和気藹々と研修が進んでいたと思います。

そのおかげもあって、エンジニアの第一歩として非常に濃い学びを得られたのと同時、心から「楽しかった!」と言える研修となりました。研修終了時には同期たちとの別れ(?)を惜しんでかなりしんみりした空気になってしまったほど。

個人的に、教育環境が充実していることがリクルートへの入社を決めた要因の一つでしたが、その期待を超えて、エンジニアとしてとても大きな糧になったと感じています。

昨年までの新人研修の資料を読んだり、先輩方・講師陣と話す中で、エンジニアコース新人研修は、年を追うごとにどんどんアップデートを繰り返し、よりよいものになってきているのだなと感じています。

今後とも、エンジニアコース新人研修にぜひご注目をいただけますと幸いです。