スタディサプリ BRAND SITE

Staff interview

#35

夢見るだけでなく、地味で細かな「現実」を詰めることでプロジェクトの安定進行を実現

MVP

山口 洋

Hiroshi Yamaguchi

山口 洋
SECTION 01担当者プロフィールSECTION 02もっとチャレンジできる環境を求め今の職場にSECTION 03地味で忘れがちな「細部」をしっかり詰めていくことがプロジェクト進行のポイントSECTION 04コードレビューは「ウォーミングアップ」? 将来の自分のためにも目を通す

01. 担当者プロフィール

担当者プロフィール

- お名前:山口 洋 / Hiroshi Yamaguchi
- 組織名:まなび社会人・語学プロダクト開発部
- 入社時期:2022年 02月

スタディサプリENGLISHというサービスの収益を支えているのが課金基盤です。より多様化する決済環境に対応するため、『Airペイ』への移行プロジェクトが浮上しましたが、「あれも、これも」とさまざまな夢が盛り込まれ、スケジュールの見通しも不透明でした。そんな中で移行プロジェクトの進行を安定させ、品質向上にも大きく貢献したのがEnglishバックエンド開発1グループの山口洋さんです。

02. もっとチャレンジできる環境を求め今の職場に

Q:山口さんは前職でもエンジニアだったのでしょうか。

山口:大学では博士課程まで進み(※満期退学)、Scalaという言語のコンパイラの研究をやっていましたが、縁あって大手のライブストリーミングサービス企業に入社しました。すでにサービスが拡大し、維持していくために技術力が必要だという理由で、技術に優れた人の採用に力を入れていたことから入社しました。

Q:そこではどのような業務に携わっていたのでしょうか。

山口:ストリーミングサービスは、配信基盤やユーザー情報基盤だけで実現できるものではありません。「ここにはこういうコンテンツが存在します」「何時ごろにこいういう番組があります」といったリストを返したり、ユーザーが見ようとしているコンテンツを本当に見せてもいいのかを、課金情報などと照らし合わせて返したりといった仕組みを通して、映像をストリーミングサービスとしてまとめ直し、昇華させる仕組みを構築していました。

Q:それはそれで面白そうな業務ですが、転職した理由についても伺えますか。

山口:IT業界って、結構短いスパンで転職する方もいらっしゃると思うんですが、自分も5〜6年在籍するうちに、ちょっと長居しすぎたなと感じ、もっといろいろチャレンジできる環境に身を置きたいと考えるようになりました。また在籍が長くなると、会社から管理系の間接業務も求められるようになりますが、それでちょっと面白みが減ってきた部分もありました。

Q:それでリクルートにやってきて、スタディサプリENGLISHのバックエンド開発1グループに所属しているんですね。具体的なミッションを教えてください。

山口:文字通り、スタディサプリENGLISHというサービスのバックエンド全般の開発を担っています。このサービスを成長させていくことがグループ全体の目的で、前職でやっていたことと似た位置づけになるかもしれません。

Q:開発スタイルの違いなどは感じていますか。

山口:我々開発者とビジネス系の方々との間に、テクニカルプロダクトマネージャー(TPM)がいて、いろいろな調整やコミュニケーションを担ってくれています。技術に造詣の深い方が交渉もしてくれるので、割とやりやすいですね。他の会社と比べ、そういった立ち位置の方がいることは珍しいように思います。

03. 地味で忘れがちな「細部」をしっかり詰めていくことがプロジェクト進行のポイント

Q:MVPを受賞した決済システムの移管プロジェクトは、どのような経緯で必要だったのでしょうか。決済というクリティカルなシステムには、できることなら手を付けたくないと思ってしまいそうです。

山口:元々の課金基盤である「かんたん支払い」機能は、社内の別部署が開発したものでした。名前の通り非常にシンプルで、機能も限られていました。

一方で、決済を巡る環境はどんどん変化し進化しています。それに合わせて新しい機能を追加したり、拡張したくても、メンテナンスが難しい状況でした。より正確に言うと、スタディサプリENGLISHというサービスが求める機能を満たすためにこちら側でいろいろな機能を作らざるを得ず、つぎはぎを続けていった結果、複雑怪奇なものになっていました。かといって、新たな決済基盤を開発しようにもそれほどコストはかけられず、なかなか着手できない状況にありました。

こうした背景から、私が加わる以前からいろいろと検討していたのですが、『Airペイ』を導入するというプロジェクトを進めることになりました。

Q:そのタイミングで山口さんも加わったんですね。

山口:そうです。当時の『Airペイ』はその都度決済する仕組みは備えていたのですが、スタディサプリENGLISHの決済基盤として採用するとなると、サブスクリプションモデルの追加をはじめいろいろな機能が必要になります。移行と同時に、それらの機能もまとめて開発することになりました。

Q:スケジュールが結構厳しかったそうですね。

山口:そうですね。当初はプロジェクトに対して皆が夢を盛りすぎていたところがあり、「これ、普通に作っていったら終わらないな」と感じていました。

Q:では、そこで交通整理をして要件の優先順位をつけていったのでしょうか。

山口:いえ、プロジェクトの進行や設計はプロダクトマネージャーの役割です。ただ優先順位を付けるにしても、まず「どんな選択肢があるのか」をすべて列挙する必要があります。私はその部分を先回りして、いろいろと情報をまとめていきました。それで「他のメンバーがどのくらい頑張ればいいか」「追加で何人、人を集める必要があるか」といったことが見えるようになり、タスクを粛々と消化することができたかもしれません。

Q:しばしば「顧客が本当に必要だったもの」のたとえで使われるブランコの形を明確にしていったようなイメージですか。

山口:その例でいうと、「どんなブランコを作るか」はある程度決まっていました。ただ、素材に何を使うのか、工事のために公園を何日くらい閉鎖してもいいのかといった内側のところをちゃんと詰めていかないと、スケジュール通りに実装することはできません。必ずしもユーザーからは見えませんし、ビジネス側も忘れがちな地味な部分ですが、その部分をしっかり決めることで期間内に収まったのかなと思っています。

Q:不確実性が高いプロジェクトをスケジュール通りに進めるには、そうした細部へのこだわりが重要なんですね。

山口:そうですね。細部が見えてないというのは、進捗を正しく評価し、管理できていないことにもなります。そこを詰めずに進めていくと、最初はなんとなくうまくいっているように見えて、最後のギリギリになって人が足りない、ここができていない、といった課題が判明してしまうと思います。

新しいサービスを始めるときは、表面的な機能などについては熱心に議論し、要件定義が行われる一方で、裏側の部分をどうするかはあまり考えられていないというのがよくあるパターンです。そのまま裏側を雑に作ってしまうと、たいてい後で困りますね。たとえ今回はリリースできても、次に改修に取り組むときにうまくいきませんから、守らないといけない部分だと思います。

Q:苦労したポイントはありましたか。

山口:今回のような規模のプロジェクトは初めてだったので、どのくらい時間がかかるのか、つかめなかったところもありました。何より、夢を見ているうちはある程度気楽でいられますが、夢が落ち着いて現実が見えてくると、「本当に終わるのかな」という不安感はやっぱり生じます。ただ、そういった部分はプロジェクトリーダーが人集めや分担をうまく進めてくれたりと、メンバーに恵まれたのもよかったと思います。

04. コードレビューは「ウォーミングアップ」? 将来の自分のためにも目を通す

Q:もう一つ、品質保証のためのレビューにも積極的だったと伺いました。本来の業務や役割から飛び出して担っていったのでしょうか。

山口:現代的なソフトウェア開発の現場では、ソースコードを書いてGitHubなどにマージするといった形で修正内容を管理しています。新しいコードが出てきたら一通り目を通し、極端におかしいところがないか確認し、コメントを付けるようにしています。

決済基盤システムについては、今回参加したプロジェクトのものですから見るのは義務というか、自分のやるべき仕事の一環だと捉えています。それ以外でも、スタディサプリENGLISHに関するサービスの開発が並行していろいろ動いているので、オプショナルな感じですが、マージされたものがあれば見てコメントしたりしています。

半分趣味のようなところもありますが、一通り目を通しておくことによって、将来何か改修を加えようとした際に「ここはこうなっていたな」と思い出せて作業効率が高まったり、メンテナンスできないコードが入り込むのを防ぐことで全体の開発効率の悪化を防いだり、といったことにつながります。あらかじめコードを見ておくことによって、将来の自分の仕事が減る、といった部分はありますね。

Q:コードレビューはエンジニアとしての基本的な振るまいの一つということですね。ただ、頭ではわかっていても忙しくなると手が回らなくなったりしませんか。

山口:たとえばスポーツをするときには、最初にジョギングしたりして体を温め、ウォーミングアップしたりすると思います。エンジニアの場合も、自分が関わっているプロジェクトの作業をするには、頭が温まっていないとなかなか難しいんです。最初に軽いところからこなしていくという意味で、レビューはちょうどいいところがありますね。

Q:このやり方も、何か書籍などを参考にされていたのでしょうか。

山口:元々研究者を目指していたので、書籍にある情報はちょっと古いこともあり、あまり見ませんでした。人がこうやっているからどうこうというよりは、原理や理由、目的などを考えた上でどうすればいいのかを自分で研究し、試行錯誤していくのが好きですね。

Q:では最後に、この先チャレンジしたいことがあれば教えてください。

山口:今回移行した課金基盤以外にも取り組まなければいけないことは沢山ありますので、優先順位を付けながら、そうした課題を直せていければと思います。カスタマーへの価値提供、改修にかかるコストなど、様々な内容を加味し優先順位を付けていく必要があるため難しい部分もありますが、やはり夢と現実を見ながら取り組んでいきたい、というところですね。

Q:個人のキャリアとしてはどうでしょうか。

山口:あまり狭い世界にとらわれず、設計や品質も含め、開発現場全体を総合的に見られるエンジニアになれたらと思っています。エンジニアって、持っている道具で勝負していかなければいけないところがありますが、常に新しいことを取り入れていった方が楽しいし、エンジニアとしても幅が広がるため、そういった方向性を目指していければと思います。

取材時期:2023年4月

記事中で紹介した事業(名称や内容含む)や人物及び肩書については取材当時のものであり、現時点で異なる可能性がございます。

スタッフインタビューの記事

部長

笹部 和幸 - Staff interview #02

世にも奇妙な英語学習マーケット

室長

池田 脩太郎 - Staff interview #03

最強の講師陣との運命的な出会い。つないだのは“サプリの理念”

エンジニア

深尾 元伸 - Staff interview #05

飲食業から一転、Quipperで長年の夢を叶えたエンジニア

最新の記事

MVP

SLO計測基盤リニューアル チーム - Staff interview #45

三人それぞれの強みを活かし、サンクコスト効果に負けず適切な解決策を実現

MVP

田中 京介 - Staff interview #44

「これは本当にあるべき姿?」と疑う姿勢を持ち、ゼロベースからの施策検討でコストを最適化

MVP

岡﨑 翔平 - Staff interview #42

小1講座リニューアルの裏側。低学年ならではのユーザーインサイトを捉え、「楽しく学び続ける」ための初期体験を磨き込む