この記事は2022年9月28日に弊社noteに掲載した内容となっております。
2021年7月15日にグランドオープンした、日本中の愛すべき食を集めたECサイト「GOOD EAT CLUB」。あっという間にリリースから1年が経過しました。この1年間で会員数は6倍になったほか、出店者数は162店舗、オリジナル商品を含むアイテム数は371点に増えるなど、右肩上がりで成長を遂げていっています。
リリースから現在に至るまでの歩みについて、GOOD EAT CLUBの開発に携わったエンジニアメンバーの目にはどのように映っているのでしょうか。「開発から1周年」ということで、今回、PMのyusakuさんがエンジニアのhtzさん(@h2z)、shoさん(@shoy75)、okunoさん(@bugslife)、marocchinoさんに、GOOD EAT CLUBの“これまで”と“これから”について話を聞きました。
▼目次
- 2021年3月ごろからスタートした、GOOD EAT CLUBの開発
- GOOD EAT CLUBの正式リリース後、dポイント連携の開発へ
- リリースラッシュを経て、開発環境の整備に着手
- エンジニアメンバーが考える、これからのGOOD EAT CLUB
2021年3月ごろからスタートした、GOOD EAT CLUBの開発
yusaku:自分はGOOD EAT CLUBがグランドオープンした約4カ月後の2021年11月に入社したということもあり、それまでのGOOD EAT CLUBの開発にまつわるヒストリーを詳しく知らないんです。今回めでたく1周年を迎えたということで、改めて経緯や開発秘話などを聞かせてもらえますか?
htz:もともと、カンカクは自社でカフェ事業を展開しており、完全キャッシュレスカフェ「KITASANDO COFFEE」や食のD2Cブランドを複数展開するほか、デジタルプロダクトとしてはカフェのプレオーダーアプリ「COFFEE App」を展開していました。
その開発も進めつつ、GOOD EAT CLUBの開発に本格的に関わるようになったのは2021年3月ごろです。それまでGOOD EAT CLUBは企業のデジタルトランスフォーメーション(DX)をサポートする開発会社さんと一緒に開発を進めはじめていました。
sho:メイン機能はほとんどでき上がっていましたね。ただ、応援チップの機能や管理画面などにはほとんど手をつけられていなかったので、そういった部分を自分たちが拾っていき、開発を進めていったという感じです。当時はCOFFEE Appの開発がメインだったということもあり、どれくらいのリソースを割けばいいのか分からない部分はありましたね。
htz:自分も当時は、開発リソースの半分以上をGOOD EAT CLUBに割くというイメージは持てていなかったと思います。今はほぼ100%使っていますが(笑)。何から手をつけていけばいいのか分からなくて、「とりあえず応援チップの開発やるわ」と言った記憶があります。
sho:応援チップの開発はほとんど手をつけられていなかったので、決済領域の知識があるhtzさんにお願いすることになった、という感じだったと思います。一方で管理画面も手をつけられていなかったので、そこは自分が受け持つかたちで開発を進めていきました。
htz:それまでに書かれていたコードを少しずつ読みながら、はたまた関連メンバーにも学びながら、開発を進めていきました。2021年6月ごろまでは足りない機能の開発を進めながら、少しずつ自分たちが開発で担える範囲を広げていったんです。そうしたら、同じタイミングで今後を見据えて開発を完全内製化していく方針となることがわかって。カンカクだけでも開発を進めていけるように採用も進めていったり、その一方で自分たちの開発範囲を広げていったりと、そのころはリリースも迫っている中で体制づくりもしなければいけず、かなり焦っていましたね。
sho:そんな感じでしたね(笑)。たしかに振り返ってみると、GOOD EAT CLUBのリリース前後はかなりバタバタしていたな、と思います。
htz:完全内製化への移行完了のめどが12月ごろとなっていたので、それまでに何とかヒアリングしておけることは確認し、引き継げるものは引き継がないといけないという感じでした。ちょうどその頃にyusakuさんとokunoさんが入社してくれたんです。
okunoさんの入社歓迎ランチ
GOOD EAT CLUBの正式リリース後、dポイント連携の開発へ
yusaku:自分の入社前にそんな流れがあったのは全然知らなかったです(笑)。その開発会社メンバーの中のおひとりがPM業務も担ってくれていたため、入社するや否やリミットである残り2カ月の間に何とかキャッチアップしなければと必死でした。おそらくokunoさんも同じような状況だったのかなと思うのですが、すでにdポイント連携の開発は始まっていたんでしたっけ?
htz:そのタイミングではまだ始まっていなかったですね。dポイント連携の開発に関しては、okunoさんが入社してくるまではほとんど手をつけられてなくて。情報などを調査しないといけないことは分かっていたのですが、ほぼ前に進められていなかったんです。それでokunoさんが入ってきてくれて、「やってもらえますか?」と今思えば結構な無茶ブリをした記憶があります(笑)。
sho:コード自体はある程度あったんでしたっけ?
htz:当時、dアカウントログイン自体はできていて、その仕組みがdポイントのログインにも使えました。残りのAPI接続に関しても、大体動く状態にはなっていましたが本番環境には出せない。一気通貫で動作確認ができていたかと言われると、そうではありませんでした。それがちょうどokunoさんが入社したときの状況だったと思います。
okuno:当時、shoさんは育休を取得するタイミングだったので社内にいなかったですし、htzさんもCOFFEE Appのラウンジ機能の開発などで忙しく、「一体自分はどうしたらいんだろう」という状態でしたね(笑)。年内はドキュメントを読み込んだり、開発に必要なことをまとめたりしていて、実際にコードを書き始めたのは年明けくらいだったと思います。
yusaku:自分も「まだリリースしたばかりのサービス」と聞いていたので、仕様などもまだシンプルな感じかと思っていたら、全然そんなことなくて。情報のキャッチアップだけでもけっこう大変だな、と感じた記憶がありますね(笑)。
sho:Slack上での開発に関するコミュニケーションもカンカクからグッドイートカンパニーのアカウントへ移行したタイミングでもあったので、過去の情報などを拾いにくい、追いにくいという状態になっていたかもしれないですね。
yusaku:入社直後から、当時のPMメンバーからの引き継ぎが始まったので、内心はめちゃくちゃ不安でした。大丈夫なのかな、と。ただ、さまざまなバックグランドを持ち、豊富なスキルを持ったエンジニアやデザイナーたちが揃っているので、個人的にはすごく働きやすいし、面白い環境だなと思いましたね。
htz:振り返ってみると、今のチームを構築していく最初のタイミングだったのかなと思います。okunoさんには入社してもらったタイミングでdポイントの調査などを始めてもらい、本格的には年明けに開発に動いてもらった。またyusakuさんには、GOOD EAT CLUBのPMとしてエンジニアのメンバーと連携しながら動いてもらいました。
12月にshoさんが育休から戻ってきて。そのタイミングでdポイント連携の開発チームも発足し、翌年3月のリリースに向けて本格的に開発が進んでいったという感じですね。当時、dポイント連携の開発で何か難しい部分などはありしましたか?
okuno:メンバーそれぞれが日々タスクに追われて集中モードに入っていたので、例えばSlackチャンネルで呼びかけてもほとんど誰からも反応が無いこともあったり(笑)。大変なことばかりでしたけど、その分やりがいもあったなと思います。
yusaku:当時、OKRでもdポイント連携の開発優先度を高く置いていたので、それは絶対に達成するものだという認識がみんなにありましたね。エンジニア3人がかりで取り組むなど、開発のリソースはほぼ全てdポイントの開発に割いていました。
sho:一緒に開発を進めていたokunoさん、sakimuraさんは割といろんな開発のタスクを拾ってくれるんですよね。また、人柄的にもタスクをお願いされやすい傾向にあるので、なるべく自分の方で巻き取ったり、他のメンバーに振ったりしてdポイント連携の開発に集中してもらえるように動いていました。
リリースラッシュを経て、開発環境の整備に着手
sho:それくらいの時期に、marocchinoさんが入社されたんですよね。入社後のイメージはどうでしたか?
marocchino:カオスな部分も多そうだなと思いましたが、それは組織人数の規模的にもある程度認識していました。それよりも、GOOD EAT CLUBはこれまで外部の会社も開発に携わっていた関係でコードのフォーマットも明確なルールがなかったんです。そのため、入社後はまずコードのルールを明確化するなど、開発の方針決めをしました。また、ライブラリのセキュリティアップデートもほとんど対応できていなかったので、そこに関しても対応するなど、とにかく開発環境をより良くするために改善を重ねていった感じです。
sho:marocchinoさんは改善のスピードがめちゃくちゃ早いんですよね。
marocchino:あと、入社後に感じたイメージとしてはPR(プルリクエスト)があがるまでの期間が長いなと感じましたね。
htz:そういう意味では、yusakuさんやokunoさんと同様にmarocchinoさんもカオスな時期に入社してきたのかもしれないですね(笑)。
marocchino:ただ、個人的には裁量を持たせてもらえるのですごく働きやすい環境だなと思いました。
htz:marocchinoさんが入社した2カ月後にカンカクのM&Aが発表されました。それから約4カ月が過ぎ、個人的には何も変わった感じはなく、今まで通りに開発を進められているなと感じるのですが、marocchinoさんはどうですか?
marocchino:開発の進め方などは全然変わらないです。ただ、個人的にはGoogleカレンダーやSlackなどがそれぞれ2つずつあってややこしいですね(笑)。
okuno:Notionもカンカクとグッドイートカンパニーの両方があるので、最初はどっちのNotionを開いているのか分からず、混乱しましたね(笑)。
エンジニアメンバーが考える、これからのGOOD EAT CLUB
htz:その辺りは追々整っていくと思います。今回1年の歩みを振り返ってみて、「本当に1年かな」と思うほどいろんなことがありましたが、みんなこれからはどうしていきたいですか? 自分はチャレンジングなことは常に探し求めていく、カンカクの開発組織のあり方はずっと維持していきたいな、と思っています。そうでなければサービス的にも、開発組織的にもつまらなくなってしまうと思うので、そこはブレずにやっていきたいです。
yusaku:入社当初から、自分はGOOD EAT CLUBの開発がメインだったこともあり、M&Aによる環境変化は特に感じません。アイデアや意見はどのメンバーにも対等に伝えられる環境がありますし、グッドイートカンパニーとGOOD EAT CLUBをより良くしていくために自分たちも頑張っていきたいです。
htz:そういう意味では、GOOD EAT CLUBのPMF(プロダクト・マーケット・フィット)はこれからです。まずはそれを実現するために、新しい機能などを開発して、サービス全体をより良くしていく。それが目下の目標ですね。
sho:ECとして土台となる機能をしっかり築いていきながら、GOOD EAT CLUBならではの強みとなるような、これまでにない独自の機能開発などにも取り組んでいきたいですね。また、技術的にはGraphQL化やDatadogの導入など、サービスにとって有用であれば新しいことにチャンレンジしやすい環境なので、そこは今後も継続していければと思います。
marocchino:サイト的にも改善しないといけない部分は多いですね。機能はあるけど使われていないパターンもあります。何をすればいいか整理されていないので、そのあたりもきちんと整理していかなければと思っています。
okuno:CS(カスタマーサクセス)の問い合わせなどを見ていると大変だなと思うので、管理画面など裏側のシステムの使いやすさも追求していきたいですね。あとはGOOD EAT CLUBの商品は親戚などに贈ると喜んでもらえるので、他にはない良い商品を取り扱っているECとしての認知度を高めるために、できることをやっていきたいと思います。
htz:何かアイデアさえあれば、やれるだけの環境とリソースは整ってきています。まだまだサービス・組織的にも可能性しかないと思っているので、少しでも興味を持った人はぜひ一緒に働きましょう!