1
/
5

<開発組織インタビュー> エンジニアのハブメンバーが語る、成長を続けるSTAFF STARTを支えるバニッシュの開発体制とその魅力。

今回はバニッシュ・スタンダードの開発ユニットの3名にインタビューをしました。

STAFF STARTを代表の小野里さんと0→1で創り上げた取締役CPOの大貫さん(ボブ)と、ボブからバトンタッチしてSTAFF STARTの基盤を整えてきたテックリードの小林さん、そして現在開発ユニットをまとめているマネージャーの山田さんという、STAFF STARTにとって必要不可欠な3名のトークをぜひご覧ください!!

ー 大貫 隆之(おおぬき たかゆき)ニックネーム:ボブ ※TOP写真:中央 ー

2012年よりグリー株式会社にて大規模ソーシャルゲームの開発、ゲーム内新規企画のディレクションに従事。その後、株式会社VASILY(現 株式会社ZOZOテクノロジーズ)にて数百サイト規模のクローラーやアフィリエイトシステム等を開発。アパレルブランドのEC開発、フリーランスを経て2016年に株式会社バニッシュ・スタンダードにジョイン。STAFF START開発責任者としてUI/UX設計から開発までを行い、2018年取締役CPOに就任。

ー 山田 大樹(やまだ だいき)※TOP写真:左 ー

2009年にWeb制作会社に入社し、計100以上のさまざまなwebサービスの開発に携わる。その後、株式会社カカクコムにて主に食べログのエンジニア組織のEM、新規事業開発のマネジメントやプロダクトオーナーを担当。2021年1月にバニッシュ・スタンダードにジョインし、開発ユニットのマネージャーを務める。

ー 小林 伸隆(こばやし のぶたか))※TOP写真:右 ー

1999年から製造系大手SIerにてインフラエンジニアとして大手製造業のシステム構築・保守、そして2006年から独立系SIerにて大手流通業の業務アプリケーションの開発に携わる。2011年から2016年まで音楽系のサービスなどを運営しているベンチャー企業にて携帯電話会社のビデオオンデマンドサービス、電子書籍サービス開発でプレイングマネージャー、そして2017年から2019年まで飲食関連企業にてCTOとして従事する。2019年からバニッシュ・スタンダードにてテックリードとしてSTAFF STARTの開発や運用を行う。


ー バニッシュ・スタンダードの開発組織について

ー バニッシュ・スタンダードの開発体制をおしえてください。

山田:現状は、開発ユニット内をサービスDevチームとSREチームの2チームに分けています。僕が入社する前ってどんな感じだったんですか?

大貫:2020年の最初のほうはエンジニア社員でいうと3名ほどだったので、基本的に新規開発や改修、運用まで1つのチームでやってましたね。2021年を迎えて社員だけでも10名弱くらいのチームになってきて、それぞれ得意な領域ややりたいことも違うっていうのがあって、チームを分けることを考え始めたと記憶しています。

小林:ですね。当時、技術的負債を解消していきたいという動きがありつつ、当然新しいものも作っていきたかった。そこをちゃんと両方見ていきましょうというので、各メンバーにどっちに集中したいかをヒアリングしてチーム検討をしていきました。その議論をしているタイミングで大樹さんが入社しました。

山田:入社して実際にプロダクトを見て、きっとこれまでビジネス課題最優先でやってきたんだなって強く感じたし、たしかにコードはきれいじゃないけど、そもそもよくこの人数でやってきたな、逆にすげえなって思ってました(笑)。

つまり何が言いたいかっていうと、これまでのやり方が間違っていたとか全然思わないし技術的負債はあるのが普通だけど、ここまでサービスを急成長させた結果として、今のサービス規模とか事業成長の観点から見ると僕の主観ではシステム課題がちょっと大きすぎるかなって思ったんですよね。なので僕も、そこに向き合うために専用のチーム・リソースを持っておきたいと思った。

SREチームについては、技術レベルが高いメンバーで構成したいし採用もしていきたいと考えているのに加えて、事業会社ってビジネス課題を解決したり機能開発を行う方にリソースを割く力が働きやすいので、そういうチームを持っておかないとシステム課題の解消がおろそかになりかねないと考えました。それがSREチーム立ち上げの背景かなって気がします。

サービスの開発自体は、すごくスピード感持ってやってるなというのと同時に、なんかめっちゃたくさんつくってるなと思いましたね。目指すものの定義ややることの優先度付けができていない状態というか... 当時はそのあたりを考えて対応している時間がなかったと思うんだけど、本当に価値が高いかどうか不確実なことで全員がいっぱいいっぱいになってしまっているように僕には見えたから、「やるべきこと」と「やらないこと」を決めるべきだと考え、OKRという目標管理フレームワークを提案して導入しました。

また、前職でもやっていたアジャイルやスクラムは、事業会社におけるサービス開発ととても相性が良いと思っていて、サービスDevチームではスクラムを自分の入社後すぐの2021年2月〜3月頃から取り入れることにしました。

ー なるほど。スクラムはうまくいってますか?

山田:最初は正直ひどかったです(笑)。ただ、“これまでの俺らのやり方でやらせてよ“みたいに今までの慣習に固執する人はいなかったので、新しく来た僕が新しいことをやることに対して反発はなく、みんな協力的だったのですごくありがたいと思っています。

ー どういうところが運用の障害になっていたんですか?

山田:まず、仕事(チケット)の粒度が大きかった。「これ作るわ」ってふわっと担当するんだけど、結局その中に開発タスクがたくさんあるから、スプリントは1週間なのに1チケット完了までの期間が平気で1ヶ月とか経っちゃうんですよね。なので、何をどこまでつくるべきかどうかの判断が甘く慢性的につくりすぎていたし、チームのパフォーマンスの可視化・改善もしづらかった。また、リリースフローも粗かったから、当時は僕がプルリクを出してまだビジネスサイドの担当者にリリースタイミングの確認をしてないのに、他のメンバーがよかれと思って勝手にデプロイしちゃうみたいなことも起きていましたね(笑)

小林・大貫:

山田:今は、プランニングやレトロスペクティブの運用はもちろん、小さく早くつくる意識が根付いてクライアントからのフィードバックを適宜取り入れながら開発できるようになりましたし、ベロシティを計測してチームのパフォーマンスを検証・改善できるようになりました。スクラムについてはこれからも改善していきたいです。

ー Devユニット内で、それぞれのチームにどのように課題が分配されるのですか?

小林:そこは分かれていて、例えば構造そのものを見直さないと早くならないというところはSREチームが担当。サービスそのものを改善したり、クライアントの要望をきちんと開発にのせるかはサービスDevがやってる、というような分担かな。OKRの達成に寄与するものや、クライアントへのインパクトが大きいものから優先的に手を付けていく感じですかね。

山田:そう、どちらのチームもそれぞれOKRを立てて目標管理はしていますが、SREチームはスクラムは採用しないで、プランニングのような計画調整とOKRのふりかえりを行う会議を毎週やっています。

大貫:SREチームがスクラム採用しなかった理由ってあるのですか?

小林:インフラは新規構築も入ってくるけど、SRE全体としてはサービスDevと違って割り込み的な作業が少ないというか、あまり外部要因に左右されづらいと思う。そこそこ大きめに計画して進行する課題が多いので、あんまり小さいサイクルで回していく感じではないよねって。

もともとGo言語へのリプレイスプロジェクトがあったのでそれは継続的に行いつつ、細かく出てくる課題に対しては、優先順位を立てながら手をつけていくみたいな感じです。

ー STAFF STARTの開発技術について

ー STAFF STARTには技術的な特徴はあるんですか?

小林:複雑なところかな?

山田:ですね。Go言語をはじめ比較的モダンな環境であるのと、複雑性が高いのは特徴的です。なのでエンジニアからすると割とポジティブな環境じゃないかなと思います。

ー なぜ複雑だとポジティブなのですか?

山田:単純に、エンジニアとしての成長機会が多いのと面白みがあるからかなと思います。例えば、STAFF STARTの「同時投稿機能」はビジネス上のオペレーションがかなり複雑。ブランドさんの自社ECサイトとECモールに、同時投稿するスタッフさんもいるので、それぞれの要件を満たすための画面がしっかりあったり、裏側では複雑なデータ連携が走っています。そういう複雑なビジネス要件とかシステム課題を実現・解決するのはエンジニアとしてやりがいがある仕事だと思います。どこを噛んでも味がするよっていう感じ。味は苦いことも多いけど、相当味が長持ちするよ、みたいな。

大貫:たしかに(笑)。複雑なところをこれまで比較的自由な言語で書いてきて、より複雑にさせてしまったなーっていうのは自覚があって。それもあるからGo言語へリプレイスすると書き方とかも統一されやすいし、パフォーマンス的にもいいですよね。

あとは技術的な観点とは少し違うかもしれないけど、1600ブランド(※「STAFF START」を利用しているブランド総数)のECサイトのデータが集まってくるからそれ自体をさばくのがそもそも大変なんですけど、そのデータがあるからこそ、新しいことにチャレンジできる機会があると思いますね。例えばスケーリングが課題になるようなな要件もあれば、アルゴリズムが難しい要件も入ってくるから、そこはこれから開発がより楽しくなるような特徴の一つなんじゃないかなと。

山田:そうですね。トラフィックは多いし、かつ、成長している。事業規模・サービス規模を考えたらトラフィックは相対的に多いほうだと思いますし、今も成長し続けているのが面白い。

小林:そうそう。CDNや画像圧縮などの提案を受けるときにデータ転送量を伝えると、「えっ」ってリアクションされたりします。ちょっとそこまで考えていませんでした、的な(笑)

山田:あと、スタッフさんの記事や画像・動画、売上データなどのアセットが膨大にあります。この資源を生かして次に何をするかというのを幅広く考えられるのも面白さの一つだと思いますね。また、クライアントの業務に結びつくシステムでもあるので、可用性が充分に高くなければならないし、期日までに売上集計を完了するみたいな厳しいビジネス要件を満たすように開発をする難しさ、楽しさもあります。

ー 先ほどGo言語へのリプレイスの話があったと思うのですが、なんでGo言語を選定したのですか?

小林:そもそも、従来使ってきたRuby on Railsをバージョンアップしたいというのがあったんです。でもバージョンアップするにしても結構工数がかかりそうだし、むしろ作り直すのとそこまで変わらないんじゃないかという話になってきて。であれば、メンテナンスコストを考えると作り直した方がいいんじゃないかってなりました。

そしてなぜGo言語かというと、学習コストが低いこと、ビルドが早いのでデプロイとかリリースが早くできること、静的型付言語なので動かすまで分からないというエラーが少ない、そしてAWSのLambdaとの相性などですかね。

あとさっきボブからもあった、“複雑な要件を自由に書いていた”状態だったので、書き方が統一されて誰が見てもそこそこなにをやっているかが分かるようにしていきたい、という理由もありますね。

ー 現在何名でリプレイスの作業を行っているんですか?進捗としてはどうですか?

小林:最初1名でスタートして、現在(2021年11月)は4名でやっている状態ですね。

進捗は、、見えてなかった部分が少し出てきているので、正直そこで結構膨らんだりしていますね。もともとスクリプトの型がちゃんとしていない中で、型がしっかりした言語にいくと柔軟さが出せなくてどうしても差分が生まれてくるので、そこを寄せにいくという作業が発生している感じですね。クライアントさんへAPIを提供しているので、そこはしっかり時間をかけるようにしています。

山田:最初はどうしてもマンパワーが足りなかったし、掘ったら堀っただけ課題が出てくるから、ここまで来るのに時間は結構かかっちゃったなとは思っています。だけど、今はリプレイス要員を増やすことができたのと、tenntennさんというGo言語の第一人者に技術顧問として入ってもらってレビューやヒントを日々いただけるようになったこともあり、ずいぶんスムーズに進むようになりました。新しい機能であればGo言語で開発しているし、これまでRailsが大半だったところからだいぶGo言語になってきた感じはありますね。9月にサービスDevがリリースした「LINE STAFF START」もバックエンドはGo言語です。

ー ビジネスサイドとの関わりについて

ー ビジネスサイドと、どういう要件でどういう機能があったらいいのか、みたいなものは結構話した上で開発しているのですか?

山田:そもそも僕たちが作っているサービスって、誰かが使ったことあるとかどこかの会社さんが成功しているようなシステムではなく、スタッフさんが “自分の好きなことを仕事として続けられる”ためのシステムなので、誰にも正解は分からない。だから考えることはもちろんですが、仮説検証やユーザーフィードバックが非常に重要だと考えています。

これまでは、どちらかというとサービス運用上やらなきゃいけないことやクライアントからの要望のウエイトが高かったと思います。でもサービスとして次のステップにいくとなったら、それだけだと駄目ですよね。本当に価値あるプロダクトに作り上げていくのはやっぱりDevユニットの責任だと思うので、考えたり、話したり、探索する機会をもっと増やしたいですね。

大貫:これまでもエンジニアを含めてアイディアを出すという機会は普通の会話の中でもずっとやってきたけど、体系化がされてなかったというのかな。ある種思いついたときにぱっと話して、やろう!みたいな感じで進めてましたね。無法地帯です(笑)。これから開発とビジネスが混ざって“一緒に”作りあげていくために、今まさにやり方を変えていこうという段階ですよね。

山田:これまでは人が少なかったから無法地帯でもよかった。だけど徐々に組織が大きくなってきて、価値に繋がっていると言いきれないような結果もどうしても出てきちゃって。規模が大きくなったとは言ったけど、競合他社と比べればまだまだベンチャーなのでリソースはかなり限られるので、やることの取捨選択はもっとすべきだと考えています。

採用の観点で言うと、そういう「価値の探索」みたいなところにモチベーションを持っている人にも来てほしいですね。職種をまたいで会議するみたいな場所は現時点でも多くありますけど、エンジニアとしての意見を出し、エンジニアが自ら探索する機会を今以上に作っていきたいです。

ー ビジネスサイドから上がってくるクライアントの声を聞くこともあるのですか?

山田:もちろんあります。カスタマーサクセスチームを経由してクライアントからの要望とかバグ報告を受けることがあり、そういった情報は価値探索の上では非常に重要です。でも、言われたものをただ作っていくというわけではないです。クライアントから意見や要望をもらっても、必ずしもそれがクライアントやサービスを利用する店舗スタッフに本当に価値があるものか、というのは別の話だと考えています。繰り返しますが正解は誰にも分からないので、だからこそそれを探す必要があるし、僕はそこが一番楽しいところだと思っています。


ー これからのDevユニットについて

ー これからどのような開発組織にしていきたいですか?

山田:これまではユーザーフィードバックや仮説検証などの観点が弱かったので、もっと”探索”の観点を入れたアジャイル開発をしていきたいと思ってます。また、サービスが伸び続けていて中長期的なシステムスケーリングが必須になるのは間違いないので、引き続きGo言語のリプレイスを中心としたシステム課題にもきちんとリソースを使って向き合っていきたいです。

あと課題としては、やっぱり採用ですね。スキル感の高いエンジニアが集まり10人規模のチームになって、寝る間もないようなフェーズは超えたと思っていますが、サービスの規模感やtoB(事業者向け)ということもあって、広く名前が知られている会社ではないので採用には苦戦しています。サービスの可能性には自信があるんですけどね。

ー どんな方にバニッシュ・スタンダードのDevユニットにきてほしいですか?

小林:SREチームとしては技術的に尖っている人、あるいは高トラフィックシステムを経験しているとかかな。あと今はGo言語のスペシャリストがいないので、一人でもいてくれるとありがたいですね。

会社全体的に “プロフェッショナルに仕事をする” 文化なので、エンジニアにも「プロとしてはそれはいいのか」という考え方は必要ですね。

山田:「少しでも成長することを考え続ける」っていうのがバニッシュ・スタンダードがここまで成長してこられた要因のひとつだと思います。高い目標を立ててそれにちょっとでも近づこうというストレッチの発想がベースにあるので、小林さんが言うように“プロフェッショナルかどうか”というのは、大きな観点だと思っていますね。

エンジニア社員は12人まで増えたけど、僕も今のバニッシュ・スタンダードの開発組織の水準は相対的に高いと感じます。メンバー一人一人のスキルレベルと「こだわり」の高さがあるからですね。

小林:逆にこだわりが強い人がうちの組織に合ってるのかもしれないですね。

大貫:会社が大事にしているバリューの中で、僕は「前例を捨てる馬鹿であれ」と「遊び心全開であれ」が大事だと思っています。今までの技術やサービス、仕事の仕方とか関係なく、“こうするのが一番いい”って思えるような人に来てほしいし、大切にしていきたい意見だと思っています。

だから単純に正論を振りかざすのではなくて、みんなが気持ちよく楽しく仕事をするためには、“人の気持ち考える”をちゃんと理解しながら、でも前例は気にしないでやってこうぜ、みたいな人にきてほしいと思いますね、バックグラウンド関係なく。

山田:僕もバリューの「遊び心全開であれ」が一番特徴的だと思うし、好きですね。付随するメッセージとして、「センス良くユーモアを持って本心を伝えられる人は信頼される」とあるのですが、本当に共感。エンジニアって技術を扱う専門性の高い役割なので、人に正論を突き付けてしまうシーンがしばしば起きてしまいますが、正論言うだけの人の話ってそんな響かないですよね。専門職ではありますが結局やっているのは会社組織としてのチームプレーなので、人の話を真剣に聞くとか、よく笑うとか、そういうのはすごく大事なことだと思っていて、自分でも常に意識しています。

ユニット内でも、こうあって欲しい、こういう姿勢で仕事をしようっていう話は、オブラートに包まずそのまま伝えています。だから本当に重要なことを話しているときは、客観的に聞いてたら少しギスギスしてるように聞こえることあるかもしれないけど、みんな本当にプロフェッショナルだからこそ真剣に議論しているし、話し合いが終わったらケロッとしてるんですよね(笑)。だからチームの雰囲気が悪いとかっていうのは僕が見ていて感じない。そこは僕もすごいありがたいなと思ってるし、入ってくる人もそういう理解がある人がいいなと思いますね。

ー 最後にこの記事を読んでくれた方にメッセージをお願いします。

小林:サービス的にもシステム的にも、正解があることをやっていないので、そこに試行錯誤することにある程度楽しさを見出せる人はマッチしていると思います。

山田:純粋に今来ないと本当にもったいないよ!って言いたい。STAFF STARTはサービス成長の可能性が高いのと同時に、正直言ってプロダクトやチームに未熟な点が多い。こんなにも可能性とやりがいがある環境はそう多くないと思います。大変なことも多いけど、その分間違いなく成長できますこのフェーズを経験しないともったいないです!

大貫:今一番現場で働く人を幸せにしてるサービスはSTAFF STARTだと思っています。幸せにしたい人は一緒にお仕事しましょう!ご応募お待ちしています!


ー ありがとうございました!

株式会社バニッシュ・スタンダードでは一緒に働く仲間を募集しています
9 いいね!
9 いいね!
同じタグの記事
今週のランキング