はじめまして。
17新卒としてGMOアドパートナーズに入社したY.Oと申します。
本記事では、5月から6月に掛けて行われた社内研修テックイノベーション基礎研修と、6月から始まったOJT研修で学んだ内容に関して紹介させて頂きます。
この二ヶ月間の研修スケジュールですが、下記の内容で進行していきました。
- テックイノベーション研修(5月)
- 開発技術研修
- Linux基礎学習(自習)
- Ruby
- Ruby on Rails
- アドテクノロジー講義
- 各プロジェクトの紹介
- まとめレポート作成(自習)
- 開発技術研修
- OJT研修(6月)
- TAXEL開発
- GMOテクノロジーブートキャンプ(毎週金曜日)
それぞれの研修内容に関して紹介させて頂きます。
テックイノベーション – 開発言語学習 –
Linux基礎学習
Linuxのシステム構築・運用知識に関する資格であるLPIC、中でも基礎的な内容を取り扱うレベル1試験の年内合格を目標に、リナックスアカデミー著『Linux教科書 LPICレベル1』(Linux技術者認定試験学習書)という参考書を用いて、Linuxの基礎を学びました。
LPICレベル1は101試験と102試験の2つに別れており、双方の試験を合格する事で初めて資格が取れる仕組みになっています。
研修中では101試験の合格を目標に、自習時間を利用して対策を行いました、主な内容は以下の通りです。
- システムアーキテクチャ
- Linuxのインストールとパッケージ管理
- GNU&UNIXコマンド
- ファイルとプロセス管理
- デバイスとLinuxファイルシステム
学生の頃には全く触れていなかったネットワーク系の知識が問われる内容となっており、非常に勉強になりました。
本記事執筆時点で101模擬試験の正答率は7割程度。7月中の101試験合格を目指して引き続き勉強を行っていきたいと思います。
Ruby講義
本配属後はRubyを用いて業務を行うため、Rubyサポーターズ著『パーフェクトRuby』(技術評論社)という参考書を用いたRubyの講義を受けさせて頂きました。
研修は基本的に講義形式で参考書を用いた説明をして頂いた後に、学んだ内容を利用して課題を解いていくといった形式で進んでいきました。
条件分岐/例外処理/ハッシュ/クラス/ブロック/MySQLとの接続…などなど、様々な内容を教わった後、最終課題として「MySQLから受け取ったデータを元にSlackにレポートを出力する」といった課題を行いました。
今までは、”分からない部分があった時に参考書を利用する”といったスタンスで勉強していたため知識が虫食い状態だったのですが、今回の講義を通して一から順に参考書通り勉強する事で、今まで抜けていた知識を埋めることが出来たと思います。
Ruby On Rails講義
配属後、TAXELの管理画面を編集する際にも使用するRuby on Railsの講義を受けました。
この講義はすがわら まさのり 著『パーフェクトRuby on Rails』(技術評論社)の5章までの内容を講義形式で順に学んだ後に、6章の課題であるイベント告知アプリケーションを成果物として作成する、といった内容でした。
Railsはインターンシップ中にも扱いましたが、自動的にファイルの関連付け等を行ってくれるため、詳しい仕組みを知らなくても簡単にWebアプリケーションを作る事が出来ました。その一方で、なぜこれで動くのか、といった疑問も多く存在し、理屈が分からないままでに使ってしまう場面も多々ありました。
今回の講義を通してオートローディングの仕組みやMVCの関わりといったRailsの基礎を学ぶことで、今までと比べて理解した上で使える状態になれたと思います。
テックイノベーション -アドテクノロジー講義 –
アドテクノロジーへの理解向上を目的として、HR研修(アドパートナーズグループ全体の研修)で学んだ内容も含めて「APグループのアドテク事業取組み」についてのレポートを作成するといった課題に取り組ませていただきました。
レポートを作成するにあたって、各プロダクトを理解する為にプロダクトの講義を受ける時間を設けて頂きました。
講義の中では自社プロダクトであるTAXEL/AkaNe/GMO SSP/GMO MARSといった様々なプロジェクトを先輩方から、実際の管理画面などを見せて頂きながら、プロダクトの内容や仕組みを丁寧に教えて頂きました。
講義の内容をレポートという形式にアウトプットする作業を通して、アドテクノロジーの概要や、自身が関わるプロダクトがどのように社会と関わっているのかという点を学ぶことが出来ましたが、複雑なアドテクノロジーの世界に関して、まだまだ理解出来ていない箇所も多いので、引き続き学び続けていこうと思います。
OJT研修
直面した問題と、それを解決することによって得られた技術・知識は以下の通りです。
Railsの思想に沿った設計が出来ない => Railsの思想の理解
その対策として参考書を何度か読み直しながら、レビューで指摘された点と比較し、どこが正しく、どこが正しく無いのかを一つ一つ確認していく事で、改善していく事が出来ました。
技術力不足 => 問題解決能力の向上
開発の中ではRails/Ruby/Javascript/jQuery/CSS/MySQL/HTMLといった様々な言語を扱わせて頂きましたが、まだまだ技術力が不足しており、知っていれば1分掛からない変更に1時間掛かってしまう事も多々ありました。
しかし問題を対処する中で、自分の力で調べ分からなかった点は質問し、得た知識を自分の基礎能力の向上に繋げる事で、全体的な問題解決能力が上昇したように感じています。
開発フローの不理解 => 開発フローの理解
集団開発の経験が少なかった為、仕様書設計やテストをどのような手順で進めれば良いのかが分からず、開発作業以外の作業で業務が滞ってしまう事が多々ありました。
しかし、順を追って先輩に教えて頂いた事で、二つ目のタスクを進める際は、殆ど質問せずに進めることが出来ました。
仕様書設計 => 開発 => 単体テスト考案 => 単体テスト実施 =>リリース手順書記述 といった、基本的な開発フローを学ぶことが出来たのは、OJT研修の中でも特に大きな成長だと感じています。
このように、OJT研修では様々な問題に直面しながらも、自分なりに対処することで成長へと繋げる事が出来ました。
まだまだ至らない点も多く、先輩方に助けられる毎日ではありますが、今後も問題を乗り越え成長して行きたいと思います。
GMOテクノロジーブートキャンプ
5月の半ばから7月の末までの毎週金曜日、GMOテクノロジーブートキャンプ(以下 GTB)に参加させて頂いています。
GTBは”No.1サービスを生み出している現役エンジニア”から”GMOインターネットグループならではの幅広い技術”をインプットした上で、”開発合宿を通してアウトプットまで行える”という、至れり尽くせりの研修プログラムです。
GTBで学ぶことが出来る技術の一部としては…
- IoT
- ITの歴史
- DNS
- ネットワーク
- Linux
- PHP
- 仮想化
- セキュリティ
- デザイン思考
- etc…
などなど、ここでは書ききれない程の多くの技術・知識を学ぶことが出来ます。
この記事を書いている時点で特に私の印象に残っているのは、「Pepper開発ワークショップ」です。
8人程度の班で4時間程の時間でPepperを使った成果物を作成・発表し得票数を競う、といったワークで、私達の班は、Pepperと会話をしながらジャンケンやあっち向いてホイで遊ぶプログラムを実装しました。
既知の言語で書くのであれば簡単な内容ですが、ほぼ全員がPepper開発が初めてという状況であった為、完成したのは時間ギリギリとなってしまいました。
しかし、最終的には見事得票数1位を獲得し、優勝する事が出来ました。短い時間の中で、チームメンバーとコミュニケーションを取り案を出し合いながらゼロから一つの成果物を協力して作り上げる、というチーム開発の醍醐味を濃縮したようなワークを体験することで、開発の楽しさをより深く知ることができました。
まとめ
約二ヶ月間のエンジニア研修を通し、「テックイノベーション研修」「OJT研修」「GMOテクノロジーブートキャンプ」の3つの研修プログラムを体験させて頂きました。
テックイノベーション研修からはスムーズに業務に入るための基礎技術を、OJT研修では実際の業務で直面する問題への対応能力をGMOテクノロジーブートキャンプでは多岐多様に渡る技術の知識とチーム作業の楽しさを、それぞれ学ばせて頂き、研修を受ける前に比べて大きく成長する事が出来ました。
研修は終わりましたが、7月からの本配属から本当のスタートとなりますので、エンジニア研修の経験を活かし、今後も気を引き締めて業務に取り組んで行きたいと思います。