こんにちは! 今回は、ペパボ新卒エンジニア研修 2020 Vol.1の続きです。研修で学んだこと・気づいたことについて紹介します!
前回の記事はこちらからご覧ください。 ペパボ新卒エンジニア研修 2020 Vol.1
研修内容について
配属先で必要になるWeb開発の基礎スキル習得を目標に、以下の研修を1ヶ月半に渡って実施しています。
- Rails研修
- フロントエンド研修
- セキュリティ研修
- コンテナとデプロイ研修
- 機械学習研修
- 読書会
- フリータイム(質問や読書、おしゃべり会)
- 発表会
- 振返り会
- <番外編> 出社の話 番外編>
今回は、コンテナとデプロイ研修〜読書会の内容について、それぞれ紹介していきます。
コンテナとデプロイ研修
こんにちは、新卒10期のごーすと(@5st72)です。 この研修では、コンテナ関連技術/クラウド関連技術/デプロイ関連技術を触れ、標準化、抽象化について実践で使える理解を得られることを目的としていました。 具体的には、以下の研修項目について研修を受講しました。これらの研修内容については、後日講師であるtakutakaさんが公開するようなのでどうぞ楽しみにお待ち下さい。
- コンテナを使わない世界、コンテナを使う世界を体験する
- Docker Compose を使ってみる
- クラウド(AWS) を使ってみる
- Terraform を使ってみる
- 総合課題
- AWS を駆使してシステムを構築する
- Kubernetes を使ってシステムを構築する
- CI/CD パイプラインを用いたアプリケーション開発環境を構築する
研修では、講義と実際に手を動かして自分で課題をこなすという形で進めていきました。 右も左もわからずコンテナに苦手意識を持っている受講者もいるなか、takutakaさんとメンター陣のみなさんが丁寧にSlackやGoogle Meetによる通話を通してフォローしていただいたおかげで、スムーズに理解を深められたと思います。
以下は、「Docker Composeを使ってWordPressをSSL対応する」という課題で、もっと簡単なやり方あったじゃん!と絶望してた私にtakutakaさんがSlackでフォローを入れてくれている図です。
総合課題では用意されてあった3つの課題から好きな課題を一つ選択した上で、10期生全員がそれぞれゴールを設定し取り組みました。 私は「Kubernetes を使ってシステムを構築する」を選択し、「アクセス数の増加にあわせて規模を柔軟に拡大できるRailsチュートリアルのサンプルアプリを動かす」というゴールを設定し取り組みました。 総合課題提出後にtakutakaさんから10期生一人ひとりに対して、レビューをいただきました。私がいただいたレビューは以下のようなものです。
レビューを通して自分のよかった点、もっとこうすればよかった点を把握することができ、ペパボが掲げている「いるだけで成長できる環境」ってこういうことなんだなと実感しました。 実際の業務でも、この研修で学んだコンテナの知識を活かしてバリバリ働けています。とても充実した研修でした!!!!
機械学習研修
10期のむねりん(@_mune0903)です。
この研修では、機械学習のコンセプトを理解し、なめらかなシステムに代表されるデータ駆動なシステムの実現に向けた議論ができるようになることを目的としていました。
具体的には、以下の研修項目について研修を受講しました。
- Googleの機械学習短期集中コースであるMachine Learning Crash Course(以下 Crash Course)
- ペパボ研究所のmiyakeyさん、zaimyさん、komeiさんによるミニ座学
- 機械学習イントロダクション
- 勾配降下法の学習について
- Kerasによるモデル構築について
- 正則化について
- ロジスティック回帰について
- 誤差逆伝播法について
Crash Courseでは、TensorFlow(Keras)を用いることが前提であるため、学習の挙動が隠蔽されていること、またモデル構築についても予め準備されていることから、ここを補足するミニ座学がありました。
機械学習という新しいアプローチを学ぶため、ひとつひとつの内容を十分に理解することを優先させ、5日間進めていきました!
ミニ座学以外の時間は、各々がもくもくとCrash Courseを進めていくため、進度、理解度、疑問点も9人それぞれで違うようでした。その問題を解決するべく行ったのが、社内Slackのpepabo-cacktailチャンネルに一人ひとりのスレを立て、わからないこと、わかったこと、今のお気持ちなどを雑でも良いので書き連ねるということでした。もちろんこのスレは、講師の方がリアルタイムに購読をされており、質問をすると早いときには3秒以内に返信が来ていました。また、そこでわかったことに対しては、実際にその手法がどのように用いられているかなどの補足、わからないことに対しては、スレ以外にGoogle Meetで手厚いフォローアップをしていただける場を設けていただいていました。このような取り組みのおかげで、自分の理解に整理がつきやすく、「ひとつひとつの内容を十分に理解すること」を優先できたのではないかと思います!
私は大学で解析学、線形代数、ORなどの数学科目をとっていましたが、数学にはめっぽう弱いのでスレを活用して、勾配降下法の解説をいただいていました!
この研修用に用意されたリポジトリのissueにその日学んだこと、不明点を自分なりに要約するデイリーサマリーも以下のように疑問に対するフォローアップが個別にいただけました!
私は機械学習という言葉を聞いたことはありましたが、それがどのような仕組みであるのかというところまでは踏み込んで考えたことがありませんでした。実際に入力データがどのようにして学習され、結果としてどのような出力データが得られるのかといった仕組みを、勾配降下方などの手法例を元に理解を深めることができました。 機械学習という手法を用いるための手順が具体化できるようになり、それがなめらかなシステムの実現に必要不可欠な要素であることを感じられた、とても充実した研修でした!!!
読書会
こんにちは、tatsumi0000 です。
この研修では、読書習慣をつけることを目的としていました。 読書会では、実際に以下の本を読みました。
- はじめよう! 要件定義 ビギナーからベテランまで
- 要件定義をする上で、UI/UXは非常に大事で、デザイナーと協業する上でエンジニアもUI/UXを学ぶ意義を知ることができました。また、みんなの頭のなかにある概念を実際にプログラムに落とし込むことは難しいです。しかしこの本を読むことで、それをきちんと落とし込む方法が身についたと思います。
- リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック
- 良いコードを書くためにはどうすればよいか?ということを教えてくれる本でした。この本で学んだ内容は、配属された今でも意識しながらコードやドキュメントを書いています。
- Real World HTTP 第2版 歴史とコードに学ぶインターネットとウェブ技術
- HTTPがどのような歴史を経て今のような仕様になったか、実際にどのように動作しているかについて書かれた本です。この本は、説明と実装パートに分かれていますが、今回の読書会では実装パートは全て飛ばして進めました。内容的にも難しいと感じる箇所もありましたが、わからない箇所などがあったらブラウザの開発ツールを開き実際に動作検証などを行って自分の目で確認しながら進めました。
読書会では、知識構成型ジグソー法を活用した読書会を、週に2回のペース(1回90分程度)で開催しました。 知識構成型ジグソー法とは、いくつかの知識を組み合わせて解く課題に有効な手法です。課題に対して役割分担をして、その担当した箇所の知識をみんなで共有して課題解決します。 知識構成型ジグソー法を活用した読書会のざっくりとした説明は、以下の通りです。
- 読書会で担当する章をあらかじめ決めておく
- 読書会までに、担当した章を読んでおく
- エキスパート活動
- 同じ章を読んだ人で集まり、その章で学んだことや気になったことなどについて話す
- ジグソー活動
- 違う章を読んだ人でグループを作り、自分がエキスパート活動で得たことを踏まえて、他の人に説明したりディスカッションする
- クロストーク
- それぞれのグループで話した内容を全体に共有する
自分が読んだ箇所は、HackMDやScrapboxにまとめたりして事前準備もしていました。これらの事前準備があったおかげで議論をスムーズに進めることができました。
また、知識構成型ジグソー法を活用した読書会以外にも、「もっといい方法があるんじゃないか?」issueを出し、それをもとに10期生で集まって話し合ったりもしました。
話し合った結果、「とりあえず全員同じ箇所を読んで、分からなかった箇所を書き出してそれについて話し合おう!」ということになりました。 結局のところは、「知識構成型ジグソー法を活用した読書会の方が効率がいいよね」ということになり、元の進め方に戻りました。
この読書会を通じて、本の内容だけでなく、自らの考えを相手にどのように伝えると理解してもらえるかといった力が身についた読書会でした。
次回予告
この記事では、コンテナとデプロイ研修・機械学習研修・読書会について紹介しました。 次回は、以下の内容を新卒の@u-chan,@komatun,@shiorinが紹介します。お楽しみに!
- フリータイム(質問や読書、おしゃべり会)
- 発表会
- 振返り会
- <番外編> 出社の話 番外編>