こんにちは、スタディサプリのデータソリューション部でデータエンジニアマネージャーをしている戸井田です。 今回は、2022年1月27日に行われた「 スタディサプリのデータ基盤を支える技術 2022 ーRECRUIT TECH MEET UP #3ー 」のイベントレポートをお届けします。
そもそもミートアップを開催した理由
今回のミートアップでは、スタディサプリのデータ基盤をBigQueryをはじめとするGCP環境へ移管するプロジェクトで得られた知見を共有するテーマで開催しました。
一般的にこの手のイベントを行う目的は、
- 採用ブランディング・採用募集
- 情報交換・交流
の要素が大きいと思います。しかし、今回はそれ以外にも
- プロジェクトの正統(かつ正当)な記録を残したかった
- チームメンバーの成長機会を提供したかった
といった目的も個人的には重視していました。
1つ目の「プロジェクトの正統な記録を残したかった」というのは、革命などが起きた後に歴史書が書かれるのと同様で、プロジェクトの「正当性」をチーム内外に打ち出せればよいと思っていました。
今回のデータ基盤移管プロジェクトは、組織的には多少の「痛みを伴う改革」だった面もあり、改めて大義名分だったり得られた恩恵を整理したい意図はありました。
また、今後、大きなプロジェクトや困難に直面した時に、今回の記録がそれを乗り越えるヒントになれば良いとも思います。
2つ目の「チームメンバーの成長機会の提供したかった」に関しては、エンジニアマネージャーとしてチームメンバーに自分の成果を様々な人にアピールする経験を積んで欲しいと常々思っています。 ものづくりを通じて成果を出すというのはエンジニアとしての日々の業務で鍛えられますが、その成果を言語化して伝える機会はそこまで多くないため、今回その訓練の場になればと思いました。
さらに、エンジニアとして、中長期的なキャリアを見越して現状の自分の市場価値を意識して欲しいとも思いました。
今回のイベントでは、移管プロジェクトを牽引してくれた、リクルート新卒3年目以下の若手2名に僕と一緒に発表してもらうことにしました。
準備
まず、発表の準備を始める際、一番最初に認識を合わせたのはイベント参加者のペルソナです。
一番聞いて欲しい参加者は「データ基盤移管プロジェクトを始める前の過去の自分たち」 と定めました。
プロジェクトを始めた当初の僕たちは、GCPの知見もそこまでなく、情報収集にも苦労したので、そんな時に役に立つ情報が伝えられればいいと思いました。
資料作りは、かなり侃々諤々と議論しました。 特にプロジェクトで苦労した点・工夫した点は、本当に無数にあったので何を話して何をカットするかは、悩みました。 細かいところまで、取り上げてしまうと全体のストーリーが分かりにくくなってしまうので、バランスを見て修正していきました。
そして、発表の構成はもちろん、フレーズの選び方、図や表のデザインまで最後のギリギリまで修正し続けました。
日常業務がそれなりに忙しい中、コードレビューと同じくらい(もしかしたらそれ以上?)、厳しく資料チェックしあったと思います。
さらに発表者3人以外にも、データソリューション部のメンバー、人事チーム、広報チーム、Google Cloudの方にもレビューいただき、推敲していきました。
そして出来上がった資料が以下の3つです。
「スタディサプリのデータ分析基盤の進歩と調和」戸井田明俊
2020年春、スタディサプリのデータ基盤を Treasure Data から BigQuery をはじめとする GCP 環境へ移管しました。事業・組織成長にともない、データ基盤に求められる要件・ステークホルダーが急速に変化していく中、技術的・組織的にどう対応したかを紹介します。特に、プロジェクトを進めるにあたっての、技術選定、チーム運営、メンバー育成などの試行錯誤をお話します。
「スタディサプリでの BigQuery 移管と実践的活用術」橘高 允伸
・BigQueryのデータマート設計と権限管理 ・既存の集計やデータ連携を止めず、DWHを移管する実践法 ・BigQueryのAssert文とCloud Composerを使ったデータ整合性のチェック ・Lookerの利用ルール見直し、連携・権限管理 ・Data Catalogを使った、メタ情報管理術 などなど、約2年にわたって行った BigQuery移管プロジェクトで培った、BigQueryの実践的な活用術を紹介します。
「スタディサプリのデータ基盤を支えるETLとパイプラインの技術」丹田 尋
データ基盤では、データ取り込みやデータ連携のタスクが年々増えており、運用工数・費用面での負担が大きくなっておりました。そこで、今回のデータ基盤移管に伴いBigQuery 以外にも、Cloud Composer(Airflow)、Embulk、Cloud Run、Cloud Build、Firebase Analyticsなど様々なコンポーネントの導入・改良に取り組みました。持続可能なデータ基盤開発・運用を目指す中で、試行錯誤して編み出したノウハウを、ETLおよびパイプラインに焦点を当てて紹介します。
当日の様子
イベントの事前の参加申し込みは358人で、当日参加者も200人以上集まってくれました。 僕自身、2018年にTECH PLAYのイベントスペースで登壇したこともありますが、オンラインでのイベントは初めてだったので、どんなリアクションになるか心配ではありました。
始まってみると、Twitterのハッシュタグは盛り上がり、Zoomでの質問も予定のイベント時間中には答えきれないくらい寄せられました。
- Composerのオートスケーリングの機能は検討していますか?
- Dataform / dbtなどの導入は検討しなかったのか?
- Looker / Tableauをどう使い分けているか?
- 旧データ基盤に比べて劣化したポイントは? などなど、レベルの高い質問が多数寄せられ、僕たちも真剣に回答しました。
また、僕も自分の発表以外のパートでは、Twitterでいろんな補足情報をつぶやいていましたが、意外に反応があったのが、以下のツイート。
ちなみに発表者の後半2人は新卒3年目以下の若手です #Rtech
— A.Tφy (@toitech) January 27, 2022
参加者的には、発表の質が高く若手に見えないというリアクションがあったようで、
「若手に見えないほどの活躍をされている2人は、学生時代にどのようなご経験をされたんですか?」
という質問まで寄せられたりもしました。
事前の準備で、いろんな質問を想定していたんですが、これは流石に予期していなかったですね。
終わってみて
イベント終了直後に、「いまハドルで話せます?」って声をかけて、すぐにイベントの振り返りをしました。
2人に感想を聞くと、「楽しかった」ってことを言っていて、さすがだなと思いました(ちなみに僕の感想は「疲れた」でした)。
事前に想定していた質問もいくつかありましたが、レベルの高い質問が多かったという感想は、3人とも共通でした。
あの質問には、こんな回答もあったなどアイディアもいくつか出て、改めて良い機会になったかなと思います。
本来であれば、イベント終了後に打ち上げで飲みにでも行きたかったのですが、コロナ禍で飲みに行ける状態じゃなかったので、後日行きましょうということで解散しました。
次の新たなイベント発表を目指して、新しい技術の挑戦をするのもアリかなと思いました(イベント発表駆動開発?)。冗談はさておき。
いずれにせよ、まだまだ挑戦したいテーマはいっぱいあるので、まとまった成果が出たら発信していきたいと思います。
p.s
イベント中に質問できなかった方/イベントに参加できなかった方、以下のフォームからお気軽にカジュアル面談をお申し込みください!
https://www.saiyo-dr.jp/recruit/Entry/top.jsp?id=371
===========================
株式会社リクルート 中途採用サイト
リクルート 学生向けキャリアサイト
===========================
スタディサプリ データエンジニアマネージャー
Akitoshi Toita
スタディサプリのデータ基盤やデータプロダクトの開発にエンジニアマネージャーとして携わっています。二児の父。