はじめに
はじめまして!
GMOアドマーケティング(以後GMO-AM)22年度新卒エンジニアのharuです。
入社前、大学・大学院では自然言語処理や機械学習についての研究をしており、その後ご縁があってGMO-AMに入社いたしました。
入社に至った背景や私自身についての話は当社noteにて公開しておりますので、こちらをご覧ください。
※上記画像は当社が作成したもの
- 4/1 – 4/28:全体研修・GMO-AP/AM研修
- 5/6 – 5/27:GTB
- 5/2, 5/30 – 6/17:GMO-AMエンジニア研修
- 6/20 – 6/30:OJT
本年度は前年度と異なり、全てオフラインで行われました。
前年度の研修内容・日程についてはこちらをご参照ください。
全体研修・GMO-AP/AM研修
4月の1-2週目はGMOインターネットグループ新卒、3週目はGMO-AP新卒、4週目はGMO-AM新卒の単位で研修を受けました。
ここでは、GMOイズムや各グループ会社の事業内容、ビジネスマナーやグループワークを通した社会人の在り方などについて学びました。
後半になるにつれて、所属であるGMO-AMの事業内容(アドテクノロジー事業、エリア広告事業、メディアセールス事業、アプリマーケティング事業)にフォーカスされるような構成になっていたため、グループ全体の方向性を理解した上でGMO-AMの企業理念である『アイディアとテクノロジーで広告の新しい価値をつくろう。』を理解できました。
GTB
※上記画像は当社が作成したもの概要
GTBとは、GMO Technology Bootcampの略称で、複数のグループ会社の新卒エンジニア、デザイナーが参加するブートキャンプです。今年度は6つの会社から私を含め35人が参加しました。
GTBの目的は、サービス開発に関する体系的な知識と経験の取得です。講義で得たサービス開発に関する知識をチーム開発を通してアウトプットし、成果物に昇華させる経験を積みます。
より詳細については、こちらの記事をご参照ください。
講義内容(一部抜粋)
GTBの講義の中で、私が印象に残ったものをいくつかピックアップして紹介したいと思います。
ものづくり
この講義では、”創る人”にとって、アイデアをクリエイティブに昇華することの重要性を学びました。いくら100個の素晴らしいアイデアを思いついても、形にしなければ意味がないという話に大変共感しました。
これまで、エンジニアリングではなく研究をしていた私にとって、エンジニアとして成果物(アウトプット)の重要性を認識しました。
UX概論
この講義では、エンジニアリングを業務とする以上、ユーザーの要求を正しく抽出するスキルが重要であることを学びました。表面的な要求を淡々と解決するのではなく、その背後にある本質的な要求を考えることで、全体的な課題解決につながるというものです。
現在、事業側からの要求を受けて開発しているため、この時に学んだ考え方がしっかり活きています。
チーム開発
ここからは、GTBのアウトプット期間で私のチームが開発した成果物について紹介いたします。
今年度の開発テーマは『自由』であったため、各チーム多種多様な成果物を作成していました。
概要
私のチームは、waveというマッチングアプリを開発しました。
※上記画像は当社が作成したもの
簡単に概要について説明いたします。waveは音声をメインにしたマッチングサービスです。ユーザーは他ユーザーの声を好き・嫌いで評価し、お互いにlikeするとマッチングします。
特徴は、機械学習を用いてレコメンドが自分が過去にlikeした声と似ているもの、つまり自分の好きな傾向の声に最適化されることです。
出会いは求めているが、素顔を晒すほどのリスクは負いたくない方、内面からの出会いを探している方などをターゲットとしています。
アーキテクチャ
※上記画像は当社が作成したもの
全体としては、Web Server, APP server, API server, DataBaseを全てコンテナ内で構築しており、本番環境では、それらをConoHa VPSにデプロイしています。私は主にバックエンドのAPI server, DataBaseの構築に携わりました。
結果
GTBの最終日に成果発表会があり、発表を聞いて下さった方による投票で順位が決定します。
私のチームの結果は、、、、、、、、
なんと
技術部門1位!!
企画部門3位で総合3位でした。技術部門で1位を取れたことはエンジニアとして大変嬉しく、自信になりました。投票していただいた方からのフィードバックでも機械学習に関する内容が多かったのでその部分が評価されたのだと自負しております。
チーム開発を通して感じたこと
チーム開発の感想・得られた教訓をまとめます。
- チーム単位で予定通りに開発することの難しさを感じた
- エンジニアの当たり前は他職種の当たり前ではないことを認識した
- 良い技術力を持ってプロダクト開発を行うことと同じくらいそのプロダクトを売り込むことが重要であるということを学んだ
GMO-AMエンジニア研修
GMO-AMエンジニア研修は、本配属後担当業務をスムーズに遂行できるように、GMO-AMの開発業務に即した内容でした。コーディング研修、Git研修、MySQL研修、Ruby on Rails研修と色々ありましたが、それぞれの詳細に関しては、もう一人のGMO-AM22年度新卒エンジニアであるtenkawaさんが書いてくれているので、私は最も印象に残っているRuby on Rails研修にフォーカスして書こうと思います。
Ruby on Rails研修
Ruby on Rails研修では、こちらの書籍を教科書としてRuby on Railsを使ったWebアプリケーションの構築を実践的に学びました。
(引用元:現場で使える Ruby on Rails 5速習実践ガイド | マイナビブックス https://book.mynavi.jp/ec/products/detail/id=93905)
研修に挑む前は、GTBのチーム開発でWebアプリを一度作ったので、Rubyさえある程度理解すればすんなり進められるのでは?と思っていました。しかし、実際はそうではなく、主に以下の4点に苦労しました。
- 繰り返し処理にfor文を用いない、nilガード、ボッチ演算子、シンボルなど、Rubyの記法に慣れるのに時間がかかった
- railsの処理がブラックボックスな印象を受け、どの機能がよしなにやってくれているの?という疑問の解消
- フロントエンドの実装(これまでほとんど触れなかったため)
- M1 Macで教科書通りに環境構築できなかったため、仮想環境で環境構築したこと
項の最後に、Ruby on Rails研修の感想・得られた教訓をまとめます。
- 1人でwebアプリを構築するのは難しい(GTBでは、5人で開発したからスムーズに進めることができた)
- 環境に依存しない開発環境構築は重要(cpuのアーキテクチャに囚われない)
OJT
AF広告事業「Good!Apps」の開発を行っているafmediaチームに仮配属され、実際に事業側から依頼されているタスクを担当しました。フロントエンド・バックエンド・DB全てに改修が必要なタスクだったため難易度は高かったのですが、完了することができました。
複数の領域にまたがるタスクの細分化、環境の仮想化などこれまでの研修で学んだことをしっかり活かすことができました。
研修を振り返って
研修を終え、社会人になったんだという意識の変化を感じました。これまでは、学費つまりお金を払って開発していましたが、これからはお金をもらって開発します。改めて、社会人の責務を認識しました。
また研修によって、できることとできないことが可視化され、現状の課題がわかりました。特に、webサービス開発に関する知識が乏しいため、これから勉強が必要だと感じています。
今後は、様々な分野に精通するフルスタックなエンジニアを目指すこと、
そして自分のスキルセットである機械学習などの分野を発揮できるタイミングがきたら、そのチャンスを逃さないことに注力したいと考えております。