2021新卒テック研修について

目次

はじめに

この投稿はアイスタイル Advent Calendar 2021 の15日目の記事です。

アイスタイル21新卒のomuramです。
10月に基盤開発グループに配属され、主に決済基盤に関わる開発・運用・保守をしています。

この記事では、2021年7月から9月末まで行われた新卒テック研修についてご紹介します。
アイスタイルの新卒テック研修について、言及されている記事があまりなかったので、就活生の皆さんの参考になれば幸いです。
研修内容は毎年ブラッシュアップされるそうなので、来年以降もこの記事の形式というわけではないです。

研修について

研修自体は7月から9月末まであり、ほぼオンラインでの開催でした。
オフラインの研修は3ヶ月の内、合計で1~2週間程度です。
出社も自由にできたので、たまに出社してました。

研修内容はコンテンツによって担当の講師の方がいらっしゃいます。
基本的に講師は社員さんが担当になるのですが、外部の方にも研修を担当して頂きました。
また、各研修コンテンツにプラスにして以下のがあります。

日報(毎日)・・・その日やったことを記載します。
1on1(毎日)・・・その日やったことの報告、疑問に思ったこと、雑談など。
研修運営の方とのMTG(週1回)・・・研修全体のKPTについて話し合います。
 ※KPTとは:「振り返り」のフレームワーク。良かった点、改善点、改善点への施策

研修内容

Linux
ネットワーク
データベース/SQL/設計
サーバー/ミドルウェア/監視
品質保証
開発
セキュリティ
プロジェクト管理
チーム開発
プロダクト開発
データ研修

テック研修ではこのような内容を学びました。

それぞれについて説明していきます。

Linux(4日)

Linuxとは
Linuxのインストール
基本的なコマンド
正規表現とパイプ
viエディタ
管理者の仕事
ユーザ権限とアクセス権
シェルスクリプト
ネットワークの設定と管理
プロセス管理
ファイル管理

上記の座学+ハンズオン+課題の形式です。
情報系出身の方はおなじみの内容だと思いますが、そうではない自分もついていける内容でした。
仮想環境にLinuxの環境を作り、Apacheをインストールしたり、ログを見たりなど個人的に初めてで勉強になりました。
わからない箇所は講師の方や同期に聞くなどして解決しました。
定時までみっちり研修というより、早めに研修自体は終了して、課題をしたり「気になる箇所を自分で勉強してね」という感じで、自習の時間をもらえたのでLaravelの環境を作ったり、作成した開発環境で様々なコマンドを試してました。

ネットワーク(2日)

ネットワーク基礎知識
TCP/IP基礎知識
データリンク
IPプロトコル
IPに関連する技術(DNS)
TCPとUDP
ルーティングプロトコル
アプリケーションプロトコル(HTTP)
セキュリティ(ネットワーク)
アイスタイルのネットワーク事情

上記の座学+AWSハンズオンの形式です。
ネットワーク系は複雑なので、何度も勉強してはいたのですが、複雑で毎回忘れてしまうので良い復習になりました。

AWSハンズオンでは「AWS上にセキュアなプライベートネットワーク空間を作成」のハンズオンを行いました。
学生時代何度かAWSを触ったことがあるのですが、参考資料をみて設定していたら公開できたといった感じだったので、ハンズオンを通じて前提知識やVPCを作る意味、各AWSの機能を以前より理解できたと思います。

データベース/SQL/設計(4日)

データベース
データベースの種類
メタデータ
クエリー
トランザクション
インデックス
テーブル設計
アイスタイルのデータベース

上記の座学+演習の形式です。
SQLはSELECTから始まりviewやサブクエリなどを研修用のDBを用いて学びました。
演習は指定された結果になるような、クエリの作成がメインでした。
クイズ形式の講義がおもしろかったです。学んだ知識をすぐに使うことができたので、理解しやすかったです。
また、実際のサービスのDBのデータモデリングを行いましたが、サービスを理解して設計に落とし込まないといけないので難しかったです。

サーバー/ミドルウェア/監視(2日)

ミドルウェア
AWS Webinar
入門監視
AWS ハンズオン

上記の座学+AWSハンズオンの形式です。
ミドルウェアの座学では可用性、耐障害性に優れたシステムの構築の話がメインでした。
自分がイメージしていた監視はサーバの監視でしたが、サーバやネットワーク機器の稼働の監視、プロセスの起動状態の監視、そしてツールで様々な指標を取ってきたりと、いろいろな監視があることを知りました。

AWSのハンズオンではいくつか種類がある中から、自分が興味あるものを選択できるという形式でした。
私はCI/CD環境の構築を選択しました。
個人でこういったハンズオンをするとお金がかかるので、研修で受けることができてよかったです。

品質保証(1日)

品質とは
システム開発の進み方
不具合の出ない(出にくい)仕組みを考える
テストで潰す
リリース判定
不具合が出てから対処する→障害
改修・保守

上記の座学形式の研修です。
システムを開発することにどうしても意識が向きがちですが、開発して運用される時間を考えると、品質はとても大事な概念だと気づきました。学生時代は触れてこなかった分野でしたので勉強になりました。

この研修を受けたのが、「プロダクト開発」(後述します)の期間中だったので、設計の見直しやログ出力を見直すきっかけになりました。

開発(10日)

オブジェクト指向
開発環境構築
ソースコード管理(Git)
データベース
API
ユニットテスト
コンテナ
デプロイ
実践課題
(発展)開発の心得

上記の座学+ハンズオン形式です。
掲示板アプリを作成しつつ、上記で学んだことを落とし込み、理解を深めるといった内容で開発に関わる一連の知識を学ぶことができました。
自分が作った作成物は公開されており、社内ネットワークを通じて使用できるので先輩たちがセキュリティーに問題がないか念入りにチェックしてくださいます。

セキュリティ(2日)

SQLインジェクション
クロスサイトスクリプティング
クロスサイトリクエストフォージェリ
ディレクトリトラバーサル
OSコマンドインジェクション
セッションハイジャック
HTTPS盗聴
DoS
暗号・ハッシュ化・SSL
実践
PKI

上記の座学形式の研修です。
攻撃方法の実例や対策方法を解説して頂きました。
言語やフレームワークによっては簡単に対策できてしまいますが、原因となる脆弱性を理解することが重要だと思います。
また、先述した開発の研修で作成した掲示板へのセキュリティ対策も行いました。

プロジェクト管理(1日)

プロジェクトマネジメントの基礎知識
課題管理
スケジュール管理
WBS作成

上記の座学+演習形式の研修です。
座学では「プロジェクトとは」から始まり、開発工程、開発手法を学びました。
演習では「引っ越し」をプロジェクトと見立てて、要求分析を行い、WBSを作成しました。
講師がPMOの方だった為、作成した成果物に対して良かった点、改善できる点、プロジェクトを進める上での考え方などをアドバイスして頂きました。

チーム開発(1日)

スクラム
アジャイル

上記の座学形式の研修です。
外部から講師の方をお招きして、研修して頂きました。
本来はレゴブロックを使っての研修だったと聞いていましたが、日程の関係で研修内容が変更になっていたようです。
スクラム、アジャイルの話から、チーム開発する上での関わる人や、進め方、注意すべき事の話がメインでした。

プロダクト開発(22日)

作るものを決める
設計
実装
テスト
発表

チーム(3人)で開発する研修です。
チームで作るものを決め、スケジュール作成し、設計、実装、テストまでを行います。
実装するにあたってのレギュレーションが下記です。下記を守れば後は自由に実装できます。

言語:PHP
DB:MySQL
CRUD機能を入れる
フレームワーク、Javascript:任意
ユニットテスト:PHPUnit
バージョン管理:github上で管理

機能要件
会員登録が行えること
ID、パスワードによるログインを行えること
実装画面、トップ画面、一覧表示画面、詳細画面があること

ほぼ全部の日程をオンラインで行い、チームメンバーとgoogle meetを繋ぎ開発を行っていました。
また、1日2回スケジュールに対しての進捗報告をslack上で行っていました。
個人的にはデザインから実装まで関わることができ良い経験になりました。これまで経験したことがなかった、WBSでのスケジュール管理やgithubのカンバン機能を使ったタスク管理、各規約なども経験することができました。
この「プロダクト開発」の期間中に、開発に携わっている部署の定例にお邪魔し、業務や部の雰囲気について伺い、配属希望の参考にしていました。

データ研修(3日)

データ分析基盤とは
アイスタイルデータ分析基盤歴史
社内で使われてる技術紹介
データ分析とは
分析で大切なことのお話
抽出実践

上記の座学+演習形式の研修です。
新卒の中にデータ分析を専門で行うエンジニアはいないため、座学ではデータ分析を行う理由などの基本的な内容を社内の事例を交えながら説明して頂きました。
また発展的な内容として、統計学や機械学習のお話もありました。
演習では提示されたお題に対して、仮説を立て集計し分析するといった内容でした。
「アイスタイルのクチコミをもっと増やしていくためには、どうしたらいいか?」というお題に対して、実際のデータを使って分析し、仮説を立て、検証しました。
集計や欲しい値の取得が難しく、苦労しました。

最後に

簡単ですが、以上が2021年のテック研修の内容になります。
研修の内容は、情報系の出身ではなくてもついていける内容になっていると思います。
また、講師の方のサポートも手厚い為、疑問点なども気軽に聞ける環境だったと思います。
インプットだけでなく、アウトプットもあるとても充実した研修期間でした。
研修に関わった皆様に改めて感謝致します。
とても質の高い研修を用意して頂きありがとうございました。