見出し画像

PIVOTのインターンを退職しました

# 何のためのnoteか?

この度、1年半在籍したビジネス映像メディアPIVOTを退職させていただくことになりました。

在籍中には、様々なプロジェクトに関わることができ、得難い経験を多く積むことができました。
特に、シリーズAにおいて目まぐるしく変わっていく組織をヒシヒシと感じられる環境下で(ときにカオスを感じる瞬間もありましたが)まさしくプロダクトの0→1フェーズに携われたことはエンジニアとしても今後のキャリア形成においても大きな経験値となりました。

学生という立場では稀有な機会をいただいたと思っています。この経験を忘れないうちに、感謝の意味も込めて個人的な振り返りをまとめておこうと思います。


# PIVOTのインターンで何をしていたのか?

PIVOTではプロダクトマネジメントチームに所属し、インターンとしてデータサイエンティスト及び機械学習エンジニアとしての役割を担ってきました。

組織のフェーズに合わせて、求められるロールを
①データアナリスト兼マーケター補助
②+ データエンジニア
③+ MLエンジニア
と広げながらさまざまな業務に携わりました。また、退社を控えた4月ごろには採用業務の一端も担当し、ML・データエンジニアポジションにおける採用課題の設計や一次面接官も担当しました。

人数が限られている組織なので、いずれの業務も自分がやらなければ組織全体に影響するという緊張感を感じながら常にストレッチゾーンに身をおけていたように感じます。

1. Whisper を活用した編集用社内ソフトの開発

過去記事に詳細を記載していますが、Whisperを用いた編集ソフトの開発に取り組みました。API の Token 認証上限と Cloud Run の実行 Timeout が課題でしたが、Cloud Run Jobs の利用(2023/05 に Cloud Run Jobs がリリース、その後 2023/09に 実行上限 1 時間が撤廃)や Drive API から Slack のslash commandへの変更、terraform を用いた IaC の採用で改善しました。これにより、映像チームから高い評価を得ることができました。

使用感のフィードバック

元々クラウドインフラを触った経験がなく、もちろん開発も初めてでした。Google Cloud や terraform のドキュメントと睨めっこしながら勉強しつつ、実務のレベルで trial and error を繰り返すことでかなり効率的に知識・技術を身につけつつアウトプットしていくことができました。

2. データ基盤インフラの作成

BigQuery、dbt、Looker Studioを用いてデータ分析基盤とダッシュボードを構築しました。データのサイロ化を解消し、フレキシブルにデータを扱える基盤を整えました。

サマリー

当時のPIVOTはプロダクトの内省化を終えた段階にあり、プロダクトに関わるデータを活用したいフェーズに入っていました。しかしながら、データは各種 SaaS のデータベースにサイロ化されており、データをフレキシブルに扱うことができる基盤が存在しないことが活用を妨げていました。

およそ三ヶ月間をかけて、クラウドインフラ定義、データETLフローの整備、各部署へのヒアリングと数値設計、ダッシュボード設計と実装に取り組みました。プロジェクトスタート時点では空の状態だった Big Query プロジェクトが、現在では 146 のテーブルが作成され運用されるまでになりました。


3. レコメンドアルゴリズムの構築・Opsパイプラインの設計

ユーザー体験を改善するためにパーソナライズされたレコメンド機能を開発しました。dbt_ml を用いて学習と Ops の実装を管理し、Google Cloudのマネージドサービスを駆使して開発のリードタイムを短縮しました。

サマリー

PIVOT のコンテンツは質は高いが、数が多いかつ検索性が低いため見たいコンテンツに出会いにくいという課題がありました。

このようなユーザー体験の課題を改善するための施策としてパーソナライズされたレコメンド機能を検討しています。実は機能自体は完成しているので近日中のリリースをお楽しみにいただければと思います。

PIVOT の分析基盤との相性を鑑みて BQML を採用することで、実装工数を抑え、リードタイム削減を実現しました。また、dbt_ml を用いて学習と推論のパイプラインを管理することで安定的な提供を実現しました。

Google の担当者とコミュニケーションを取りながら、Google Cloud のマネージドサービスを駆使してサービスに乗せられるレコメンドシステムを実装できてなかなか楽しかったです。

技術的な詳細は割愛します。

4. コンテンツタグ生成アルゴリズムの構築・APIサーバー実装・Ops設計

コンテンツタグを生成し、ユーザーが興味を持つコンテンツへの回遊を促す機能を開発しました。アルゴリズムの開発からインフラ設計、API 実装までを担当しました。

サマリー

上記と同じモチベーションに基づいて、PIVOT の各コンテンツに対して、カテゴリのタグを割り当てることでコンテンツネットワークを作成し、ユーザーが興味を持っているコンテンツと近縁なコンテンツへの回遊を促す機能の検討も行いました。

アルゴリズム的な観点では、
① 1000を超える既存の映像コンテンツをもとにコンテンツタグを生成
② 生成されたタグとコンテンツのマッチング
以上二点について開発を行いました。

これらのアルゴリズムを提供する API サーバーを Cloud Run でホスティングし、社内の別サービスから呼び出せるようにしました。また、効果検証を見据えてデータ設計を行い、分析用の BigQuery テーブルにデータを連携できる構成を作成しました。

本プロジェクトを遂行するにあたって、技術アドバイザーであるばんくしさんには施策の検討からアルゴリズムの壁打ち、MLプロジェクトの評価設計、エンジニアとしての心構えも含めて多くアドバイスをいただきました。
この場をお借りして感謝申し上げます。

更なる検証を重ねてにはなりますが、近い内にアプリケーション上で提供できるように鋭意開発中ですのでこちらもリリースをお楽しみにいただければと思います。

こちらも技術的な詳細は割愛します。

# インターンを通じての学び

エンジニアリングを通じて事業・ユーザーに価値を生み出す

業務を通じて、エンジニアの仕事は「エンジニアリング」だけにとどまらず、技術を駆使して事業全体を最適化することが求められると強く感じました。

エンジニアは専門性が高いため、ハードスキルの高さが価値と見なされがちです。私自身もインターン中に、定義された要件をどれだけ綺麗なアルゴリズムで解決できるかに集中してしまう場面がありました。しかし、どんなに優れた技術も、それがユーザーや事業の価値に結びつかなければ意味がありません。エンジニアの価値は、事業やユーザーにどれだけ貢献できるかで決まります。

そのためには、次のような視点が重要です。

  1. ユーザー体験を描く:

    • プロダクトやその機能を通じて「ユーザーにどのような体験を提供したいのか?」を明確に描き、解くべき価値の高い問題を設定すること。

    • データを用いてその価値を定量的に示すこと。

  2. 実現可能性と価値を考える:

    • 機能やアルゴリズムの実現にかかる開発工数やリードタイムを想定し、最終的に「それぞれが生み出す事業としての価値は何か?」を説明できるようにすること。

    • それらに基づいて、最も効果の高い施策と機能を最小限のコストで実現する(ROI)方法を提案すること。

  3. 迅速かつ正確な実行:

    • これらの考えを早く精度高く実行すること(ここでハードスキルが重要)。

これらの観点にエンジニア自身が思考を巡らせることで、真にユーザーや事業にとって価値ある生産に近づくことができます。また、これらを社内のステークホルダーに納得してもらうための思考と説明責任も重要です。これができるエンジニアは強いと思います。


とはいえ、結局言うは易し行うは難しだったなと思います。何が事業貢献で何がユーザーへの貢献なのか、それをどう自分のエンジニアリングと結びつけるのかを考えるのはとても難しいことでした。特に答えや具体的な事例がない中で取り組むのは大変でした。

日々の議論や 1 on 1 などの機会で意見をもらいながら、担当した業務に関して何とか形にできましたが、もっとできたこともあったのではないかと振り返っています。プロダクトに載る機能はまだリリースできていませんし、データ分析基盤も、分析自体が目的ではなく、それによって意思決定や事業が最適化されることが目的だからです。業務役割が広がる中で、本質的な価値に近づききれないことがジレンマでもありました。

一つ反省として挙げるならば、開発とリリースのリードタイムを細かく設定してトライしていくことの重要性です。特に僕が担当したすべての業務はファーストリリースかつ不確実性の高いものだったので、問いを定義するためのデータを積極的に作り出す姿勢が重要だと感じました。

少なくともエンジニアリングに向き合っているだけでは得難い視点であり、自分にとっては多くの学びがあった経験だったことは間違いありません。

エンジニアとしての知識と経験の広がり

様々なプロジェクトに関わる中で、エンジニアとしての知識と経験の幅が間違いなく広がったと感じています。インターンを通じて、以下のようなスキルを学びました。

  • クラウドインフラを使ったサービスの構築

  • マネージドサービスを用いた MLOps 構築

  • バックエンドサーバーの構築と API 提供

  • IaC(Infrastructure as Code)によるインフラ管理

  • データ基盤の構築と保守運用

  • アジャイルな開発とプロジェクトマネジメント

これらの分野を濃密に経験することで、多くの知識を身につけることができました。まだジュニアではありますが、エンジニアリングの仕事は技術だけにとどまらず、全体最適が求められると考えています。MLやデータというドメインを基盤に、技術の幅が広がり、プロダクトマネジメントの経験を得ることができたことは非常に有意義でした。

知識と経験の幅が広がったことで、書籍、SNSの記事、ポッドキャストなど、興味を持てる範囲も広がっていることを実感しています。この多様な経験を通じて、より多角的な視点で物事を考えられるようになりました。

# PIVOT の良かったところ

我々はプロスポーツチームだ

多様な強みを持ったメンバーが、自立したプロとして結束し、成長と勝利に徹底的にこだわる。世の中に前向きなインパクトを与えられるコンテンツ作りを貫いていきます。

https://pivot.inc/company/

PIVOT が掲げる Value のもと、各部署で働く方がオーナーシップを持って勝利を目指すという風土が強くあると感じました。特に、自身が所属していたプロダクトマネジメントチームでも、技術的な課題が多くありながらも、少数精鋭でスピード感を持って解決していく力を感じました。この能力密度の高さと前向きさは、現状の組織規模と PIVOT 特有の雰囲気によるものだと感じています。

社会へのインパクトをダイレクトに感じること

ビジネス映像メディアという特性上、ユーザーの声を身近に聞くことができるのは特別な感覚です。コンテンツやプロダクトに対するリアクションがSNS にポストされているのを見ると、自分ごととして感じられることは素直に嬉しかったです。また、同年代の学生からも「YouTubeで見たよ」という声も聞くようになり、影響力が拡大していることを実感しています。

フルリモート・フルフレックス

実務的な面では、フルリモート・フルフレックス制で非常に働きやすい環境でした。学生であることにも最大限配慮いただき、自由に仕事をさせてもらいました。

フルリモート故に、Slack での非同期コミュニケーションが非常に密に行われており、連携が必要なタイミングでは不自由なく他のエンジニアと同期できました。Working Out Loud の文化も自然と根付いているので、times を活用して細かい部分の連携したり、他のメンバーの作業やインプットを盗みみることができたこともおもしろかったです。

# なぜ辞めるのか

様々な要因がありますが、プロダクトとしての0→1のフェーズを終えて区切りの良いタイミングだったこと、そしてこれまで一人で担当してきたデータ・ML 周りの業務を引き継いでくれる新たなメンバーが入ってくださったことを受けて、次のフェーズに入る前に一度実務から離れて学業一本に戻りたいというわがままを聞き入れていただいた経緯があります。

正直なところ、もともと入社したタイミングではここまで長くいるとは想像していませんでした。当時はエンジニア組織がない状態で、PM一名とインターン(私)一名というチームだったので、この環境で自分が貢献できることもあまりないだろうし、学ぶほど潤沢な環境や知見やリソースがあるわけでもないと感じていました。

実際には、そのような環境の中で、様々な業務を半分仕事・半分勉強という感覚でインプットとアウトプットを繰り返すことができる環境をいただいたことで、飽きることなく気がつけば一年半が経っていたという感覚に近いです。技術的にも経験的にも発散した一年半だったので、少しリフレッシュして、広げた経験と知識を活かしつつ収束する時間を持ちたいと思います。

同時に、エンジニア・インフォマティクスのプロとして自信を持って価値を作っていくためには、まだ能力不足であることも痛感したので精進したいと思います。

# 終わりに

PIVOT では引き続き採用をオープンにしています。興味がある方はぜひご覧ください。エンジニアポジションは Web・iOS・Android など各領域で募集しています。

PIVOTのミッション・ビジョン・バリュー(MVV)に共感し、技術の力でコンテンツの価値をより良い体験でユーザーに届けることに関心がある方は、ぜひご検討ください。スピード感を持ってプロダクトを改善していきたい方には非常に面白い環境だと思います。

興味を持たれた方は、ぜひ詳細をご覧いただけたら嬉しいです。

https://pivot.inc/recruit/

Web版はこちら

iOS アプリはこちら

Android アプリはこちら



この記事が気に入ったらサポートをしてみませんか?