8ヶ月間のアウモエンジニア長期インターンを卒業します

aumo 開発エンジニアのインターン経験談

こんにちは。エンジニアインターンのイワミです。

この度、約8ヶ月に渡ってインターンをさせていただいていましたアウモ株式会社を卒業します。関係者のみなさんには大変お世話になりました。本当にありがとうございました。

今回はこちらの Tech Blog への投稿ですが、技術的な内容は少なくなっております。アウモのインターンに参加した経緯やエンジニアインターンとしてこの8ヶ月間、どんな経験をしてきたかについてを書いていきたいと思います。少々ラフな形にはなると思いますがご了承ください。

開発系の長期インターンがどのようなものかを知りたい学生の方やアウモという会社のエンジニアがどのようなものかを知りたい方に、少しでも自分の経験が参考になれば幸いです。

  1. はじめに
    1. 何者?
    2. アウモに参加した経緯
  2. インターンでやってきたこと
    1. 参加するまで
    2. タスク
    3. Core Web Vitals への取り組み
      1. Chrome User Experience Report (CrUX)
  3. 学んだこと
    1. エンジニアとしての実務経験を積めた
    2. ビジネスサイドへの関わり
  4. おわりに

はじめに

何者?

ここまで三回ほどテックブログを書かせていただいていますが、改めて自己紹介をさせていただきます。

都内の大学院にて航空宇宙を専攻している岩見彰太(イワミショウタ)と申します。研究の専門は無人機運航管理(UTM: UAS Traffic Management)で、ざっくり言うと現在はドローンが空を飛行する際に、自動車のような信号機がないので、どのように機体を管理すればぶつからずにたくさん飛行できるかといった研究を行っています。シミュレーションをしたり機体を改造して飛行実験をしたりしています。実はアウモにインターンとして参加する前までは、飛行艇型のドローンを開発しているベンチャー企業で長期インターンをしていました。そこではリアルものづくり最前線という感じで、WEB業界とはまた違った経験をしていました。ちなみに学部時代はサークル活動に勤しんでおり、150人ほどいる吹奏楽団で指揮者をやったりもしていました。

アウモに参加した経緯

グリーの選考経由で参加させていただきました。

遡ると学部3年生、実はこの時に一度就活をしていたのですが、周りのライバルたちが長期インターンなど自分の知らない世界での経験をたくさんしているのを目撃し、自分は吹奏楽サークルにのめり込んでいただけで(これも大学生の経験としては大事だと思いますが)、学生という今だからしかできない社会経験を全然していないことに気づきました。このまま就活して学生を終わらせてしまうのはもったいない、ということで大学院に進むことを決めました。また、この時期にドローンの会社での長期インターンをはじめました。

インターン先での業務にのめり込んでいるうちに、やはり本気で大学院でもドローンの研究がしたいと思うようになり、結果的に今はその願いが叶いこの分野の研究をしています。

無事大学院に進んだ M1 の夏、とある企業のサマーインターンに参加しました。そこでは1週間で決められたテーマを元にWEBアプリケーションをチーム開発するというものでした。この時自分はWEB開発未経験でしたが、このイベントを通して仲間と開発する楽しさ、そしてWEBという領域への興味が湧いてきました。また同時に自分の知識・経験のなさを痛感したので、そこから色々と参考書を漁りながら勉強し、ハッカソンにも出たりしました。

というわけで、最終的にIT業界に絞って就活を行っていました。その中で出会ったのがグリーでした。

選考の段階で、自分の知識・経験の無さはちゃんと見抜かれてしまいましたが、実務経験とスキルの向上のためにアウモでの実務インターンへの参加を提案していただきました。自分としては願ってもない機会であり、ぜひ参加させていただきたいというわけで、年明けから aumo 開発グループのエンジニアインターンとして join させていただきました。

インターンでやってきたこと

参加するまで

ハッカソンや短期インターンなどで開発をしたことはありましたが実務は未経験、また専攻も情報系ではないため非常に不安でした。そのため、事前に最低限の知識はつけておきたいということでメンターの村田さんから事前課題としていくつか参考書を提示していただきました。

提示された全ての本を一ヶ月で読み切ることはできなかったのですが、以下の本は読んで非常に参考になったので同じくオススメします。

Webを支える技術

達人に学ぶDB設計 徹底指南書

マスタリングTCP/IP

Web制作者のためのCSS設計の教科書

RDB技術者のためのNoSQLガイド

タスク

アウモにはいくつか事業があり、それぞれにメインエンジニアがつくという体制をとっていました。自分が参加した際は新しいサービスリリースに向けての準備段階であり、Web 記事メディアのメインエンジニアが実質不在の状況でした。そこで最初はこの記事周りのタスクをこなしていました。

アウモのエンジニアにはバックエンド/フロントエンド/インフラといった明確なサイドによる区分けがなかったため(一部例外あり)、全体の技術を一貫して触ることができました。

最初は PR 記事の管理画面の作成でした。バックエンドとしてデータを取得するところから、実際にフロントの管理者面で表示するところまで一貫して実装を行いました。これでアウモの開発でメインに使用されている Ruby on Rails の全体像を知ることができました。ここで初めてプルリクをちゃんと出す…というレベルでした。

そこからは、 ライターさんが記事を投稿するための CMS の改修などを行っていました。

Core Web Vitals への取り組み

8ヶ月間在籍する中で、この取り組みが一番多くの時間を占めていました。

aumo の Web 記事は検索からの流入が多いため、SEO 対策が非常に重要です。 Core Web Vitals がなんたるかはこちらの記事を参照していただければわかりますが、 Google の Core Update もあり記事メディアにとっては非常に重要な課題だったので地道に取り組んできました。

それぞれブログで書きましたが、主に以下の施策を取り組みました。

これまでも速度改善には取り組んでいましたが、Page Speed Insights のブラウザ版や Chrome の lighthouse でのその場計測のみが多い状況でした。この課題に対してしっかりと取り組もうということで、簡易的に計測基盤を構築しました。

ここではその加筆としてですが、この記事内で言及されていた CrUX のレポート作成方法について解説します。

Chrome User Experience Report (CrUX)

完成すると、このようなものを見ることができます。

記事内で言及していたリアルユーザモニタリングです。こちらのレポートは毎月第二火曜日に更新されます。

仕組みとしては、こちらの記事でも使用していた Data Studio を使用します。ここでは BigQuery に格納されている Page Speed Insights API で計測したデータと Data Studio を接続していますが、今回はこの接続先を CrUX にします。

  1. 自分の Data Studio にログインする
  1. 作成からデータソースを作成する
  1. Chrome UX Report を選択する
  1. 調べたいサイトの URL を入力して接続をクリック
  1. レポートを作成
  1. 作成完了

非常に簡単ですね。

こちらに毎回 URL を打って計測した際に表示されていた “ラボデータ” の変化を見ることができます。ちなみに、こちらで aumo.jp の CLS を確認すると、この記事の施策によって大幅にスコアが改善されていることがわかります。ちゃんと効果が出ているのを確認できたのは非常に嬉しかったです。継続して監視していければなと思います。

学んだこと

エンジニアとしての実務経験を積めた

言わずもがなです。僕にとっては非常に貴重な経験でした。ちゃんとした開発をしたこともない、CS の基礎知識も欠如している中、何度質問しても真摯に答えてくださいました。また、コロナ禍という環境で基本的にリモートワークが多かったですが、 Slack での質問や実装の相談など、スムーズにコミュニケーションを取ることができました。

Github を使用したチーム開発、 Confluence や Jira を用いたタスク・仕様管理など、個人開発では経験できないようなところまで触れることができました。

また、当時自分の得意分野があまり定まっていない状況だったため、フルスタックで全部触るというタスクのこなし方は、全体を見通しながら開発を進めていけるという点で非常に当時の自分には合っていました。 Ruby on Rails から AWS、フロントの実装まで幅広く見ることができて視野がかなり広がりました。

ビジネスサイドへの関わり

実は就活時、ビジネス職やコンサルタントといった分野の選考も受けていました。自分自身、幼少期から部活動やサークルなどで新しいイベントを企画したり、とにかく自分の考えたアイデアなどを形にするという過程が好きでした。これは今のエンジニアというキャリアにも通ずるかと思いますが、自分が興味のあるこの「形にする対象」 は、コーディングしてつくるアプリケーションや CAD でモデリングしたドローンだけでなく、事業やサービスにも及んでいます。そのため、ビジネスサイドに対してエンジニアが関われる機会というのが欲しいなと思っていました。

ありがたいことに、アウモではたくさんビジネス職の方と関わる機会をいただけました。アウモでの開発は、エンジニアとその事業のビジネス職が密に連携を取りながら開発を行います。そのため、ビジネス側が普段どのような業務をしているかだけでなく、どのような過程を経てこの施策を実施するのかといった部分を垣間見ることができました。また、この過程に対してもエンジニアが対等に意見できるような体制づくりがとられているため、しっかりとエンジニアが意思を持って開発することができます。これが、事業をグロースするという意識をエンジニアも持てる由縁だと思います。

加えて、先程のようなことをお話していたこともあり、普段エンジニアがあまり参加しないようなかなりビジネス寄りのミーティングにも参加させていただきました。自分としてはこの先のキャリアを見直すきっかけにもなり、この経験はかなり貴重でした。本当にありがとうございました。

おわりに

改めて、約8ヶ月の間大変お世話になりました!

エンジニアとして成長できただけでなく、この先のキャリアにもつながるとても貴重なインターン生活でした!

初めてエンジニアとして就業できた会社がアウモでよかったです。

本当にありがとうございました!