【ソウゾウCTO名村氏の見据える未来】エンジニア個人や開発組織がスケールするために今必要なこと

メルカリグループの一員として、Eコマースプラットフォーム「メルカリShops」を手掛ける株式会社ソウゾウ。2021年1月に同社CTOに就任した名村卓氏に、ソウゾウの開発組織の取り組みや今後について、また名村氏(@snamura)が考える複業の可能性などについて、「Offers」を運営するoverflowのCEO鈴木とCTO大谷が話を伺った。

Offers」は、時代の変化や環境にあわせてキャリアを築きたい、そんな人にぴったりのサービスです。副業を通じて、本業では経験できない、新しい環境/開発スタイルを経験しよう!

「Offers」をもっと詳しくみる!

「メルカリ shop」開発組織の現在

大谷:名村さんがソウゾウのCTOに就任されて1年が経過しました。まずはこの1年を振り返ってみていかがでしょうか?

名村氏:組織立ち上げ時から半年はスピード重視で開発を進めてきましたので、僕もコードを書いたりしながら、初期リリースに向けてMVPを作ってきました。エンジニアの人数としてはメルカリグループから異動してきた5〜6人からスタートして、今は20人程度になっています。

大谷:組織立ち上げの過程において、特にうまくいった施策などはございますか?

名村氏:メルカリで経験値が溜まってるメンバーたちが集まっていたので、特別に何か手を加えたことはありませんでした。マネジメントに大々的に力を入れなくても、それぞれのメンバーが役割をしっかりと果たしていたので、スムーズに物事は進んだと感じています。

あるとすると、役割を極力なくすようにしてきたことです。バックエンドやフロントエンドに強みを持つメンバーはいるのですが、そこは敢えて専門領域を作らず、全員が各領域の技術に手を出せるようにしてきました。

あと基本的なことですが、情報のオープン化も徹底しています。ドキュメントは必ず残しているので、探せば何でも見つけることができます。ですから途中から入社してきてもドキュメントを見れば、いつでもシステムデザインを把握することが可能です。すべてのMTGも録画しているので、仮に参加できない日があっても後日キャッチアップできる仕組みも整えています。

大谷:技術的に何か新しい取り組みはされてきたのでしょうか?

名村氏:「メルカリShops」は新しいプロジェクトということもあり、メルカリ上で使ったことがない技術にもチャレンジしています。たとえば先程もお話しましたようにソウゾウでは職種の垣根を作っていないので、モノレポで全体の行動を管理・把握できるようにしています。

あとメルカリではそこまで多くの事例はないのですが、サーバレスで環境構築を進めたり、BFFを持ったりなど、大々的に全体をそういった技術で取り組んでいくのは比較的新しいアプローチだったかなと思います。

大谷:全体的に包括して、合理的に組み上げられるのは新規サービスの良いところですね。

名村氏:そうですね。今思えば、最初のスタック選定が結果としては良かったと感じています。チャレンジングなこともいくつかありましたが、合理的にあるべき姿に持っていけたことで、開発の生産性向上に貢献できているとは思います。

大谷:現在の「メルカリShops」の開発体制についてお聞かせください。

名村氏:エンジニアリングとプロダクトマネージャーの2つの組織が大きくはあり、それぞれにPMとエンジニアが存在しています。開発の進め方は基本スクラム、アジャイルを組んで進めてます。

エンジニアの体制はプロダクト開発チームが3つの他に、イネーブリングチームという主に開発者向けに機能提供をしているチームがあります。プロダクトの方はプロダクトマネージャーやBizDev、QAチームで構成されています。

大谷:イネーブリングチームというのは基盤周りに対して、プロダクト側に知見とかを共有しているのでしょうか?

名村氏:どちらかというとリリース当初はプロダクト開発に向かって一緒に活動しており、SREの役割も担っているので、プロダクトの安定性を担保するような役割もあります。たとえば技術基盤の整備や新しいフレームワークの導入、マシンラーニング機能を作ってそれをプロダクトチームに展開するなど、開発の生産性がより上がる仕組みを取り込んでいくのがイネーブリングチームの役割です。

大谷:プロダクトとエンジニアの組織というのは、機能ごとにフィーチャーチームが結成されているのか、それとも個別で運用されてらっしゃるのでしょうか?

名村氏:基本的にフィーチャーチームみたいなのは作らないようにしています。もちろん各チームが得意とするドメインは存在するのですが、プロダクトチームの「こういったものをやっていくべきだ」というディスカッションがあった上で、それぞれのチームがPMと一緒に必要なものを作っていくスタンスで進めています。

>> [新着] 新規事業、0→1立ち上げに関われる副業・正社員求人はこちら!お気に入りの求人を見つけて応募しよう!

ソウゾウが目指す、開発組織のあるべき姿

大谷:組織における直近の課題などはあるのでしょうか?

名村氏:プロダクトチームの人員が増えても生産性を下げずに拡大していけるかが直近の大きな課題です。どうしてもドメイン知識というのは、長期で開発していると増えていくもの。ドメインをよく知っているメンバーが、そこの開発をするのは仕方がないとは思うのですが、開発スピードを落とさない工夫が求められていきます。

スピードで一番大事なのはチームの中で開発を完結できることだったり、チーム間の無駄なインタラクションを減らすことです。ただチームが増えてくるとドメイン知識も増え、ドメイン知識が増えていくと「専門職化」し始めるんですよね。

たとえば「メルカリShops」だと発注まわりのトランザクションやお金まわりの管理、配送まわりのドメイン知識などがあるのですが、これがどんどん増えてくると特定のチームにドメインを担ってもらったほうが効率がよくなっていきます。

一方でドメインがたくさん増えてくると、開発を進める上でのインタラクションが増えてしまいます。「この機能開発には“決済”と“配送”のドメインが必要だ」となった時点で2チームのインタラクションが必要になりますから。

大谷:フロントで機能改善するチームが別であったら、更にインタラクションが増えますね。

名村氏:そうですね。インタラクションが増えると開発の複雑性がどんどん増していきます。ドメイン知識が増えていく中で、どうやってインタラクションを減らしていくかが直近の課題だと思っています。

大谷:ある程度の解決策はあるのでしょうか?

名村氏:この2つが論点になると思います。

  • インタラクションをどう減らすのか
  • インタラクションをどうスムーズにするのか

ドメイン知識が特定のチームに偏らないアプローチもあると思いますし、一方でインタラクションを減らしていくには、チームをある程度大きな組織にしてしまう手もあるでしょう。ここは正直まだ手探りな段階ですので、トライアンドエラーしながら進めていくことにはなると思います。

大谷:そのような課題もありつつ、今後の展望についてお聞かせください。

名村氏:ドメイン知識が増えてくるとチームがドメインに寄ってくるので、コンウェイの法則に近い形だと思いますが、システム構成にチームの体制もやっぱり似てくるんですよ。それによってチームの負担も増えてしまいます。

そのような中で、開発組織がスケールするにはどうあるべきかについては『チームトポロジー』という本がヒントになると思います。

その本にはドメイン知識という抗えない制約の中で、どうやってチーム間のインタラクションを最適化していくのが良いのだろう、そうするためにはどのような役割のチームがあるとよいのか等の記載があります。実はイネーブリングチームもその本を参考にして作ったチームなんですよ。

>> [新着] 開発組織を育てるエンジニアリングマネージャーの副業・正社員求人はこちら!

開発組織で早めにすべき意思決定

鈴木:ちなみに名村さんは今まで大小さまざまな組織を牽引されていますが、「これは不可逆なので早めに意思決定すべき」という点はありますか?

名村氏:すごく具体的な話で言うと、テストを書く習慣は身につけておきたいですね。テストを書かない人って本当に多いんですよ。特にスタートアップなど、立ち上げフェーズで一気に作りたいという時に書かない人が多いのですが、そこはきちんと書いておいた方がよいと思います。

あとは作ったカルチャーを変えるのはすごくコストがかかります。それこそテストなどのドキュメントを書かない文化は一回作ってしまうと後戻りできないので、組織の初期フェーズからコストかけてきちんと徹底すべきだと感じています。

このあたりはCTOでなくても、リードクラスのエンジニアが口酸っぱく啓蒙した方がいいですね。自分自身が実行し、メンバーに対しても何度もリマインドをする。するとそれが自浄作用となり、カルチャーになっていきます。テストを書かないカルチャーにしてしまうと本当に後が大変なので、初期のタイミングからしっかり実行しておくと後々が楽です。

あとは採用ですね。ミスマッチ入社が発生するとカルチャーにだけでなく、メンバーにも悪影響を与えてしまうので、採用は本当に大事です。特に優秀なエンジニアを採用したい場合、スキルだけでなくパーソナリティなどもしっかりとチェックすべきです。ここは一番気をつけたいところです。

大谷:ソウゾウでは、選考の段階で工夫していらっしゃることはありますか?

名村氏:コーディングのテストの他、システムデザインインタビューを実施しています。「この要件のシステムを作るためには、どのようなシステムデザインをあなただったら作りますか?」というインタビューなのですが、このデザインインタビューを通して、どれぐらい自分で考えて決断できるかなどを参考にさせていただいています。

あとはインタビュアーとディスカッションして「ここは◯◯だね、ここは△△だね」などと発言しながら、きちんと論理的に作れるかどうか。他人の意見に対してどう耳を傾けるかとか、そもそもアーキテクチャをきちんと考えられるだけの経験を今まで積んできてるのかなどを見させていただいています。

生産性を高めるために必要なこと

大谷:ソウゾウのエンジニアに求められることを教えてください。

名村氏:生産性が高いチームを作っていくというテーマのもと、1つは「自分の領域を限定しない」こと。冒頭でも少し触れましたが、ここは組織立ち上げ時期から徹底してきました。

大谷:それはなぜでしょうか?

名村氏:得意領域があることはよいのですが、たとえばバックエンド開発も必要な時に、バックエンドのスペシャリストに任せてしまうのか、そこも自分でやってしまうのかで大きな違いが出てきます。

前者のように人に任せてしまうと、自分の担当領域がどんどん狭くなりますし、そのタイミングでインタラクションが1個増えてしまいます。だからこそ自分の担当領域など制約はもたずに、プロダクト開発に必要なあらゆる領域に手を出して理解をしようとする姿勢は、ソウゾウにおいて大事にしています。

大谷:結果的にエンジニア個人の成長にもつながりますね。

名村氏:もう1つはプロダクトに対して想いや意見があるのは大事ですが、それ以上に自分で決めて動けるかも非常に大事だと思います。アーキテクチャを考えなきゃいけない場面で誰かに相談するのはよいのですが、最終的な決断を他人に任せてはいけないといつも思っています。

「いろいろ相談した結果、私はこれでいこうと思います!」というように、自分の意思として表明できる人はよいと思いますが、「わからないので、決めてください」みたいに、決断を他人に委ねるのはソウゾウのカルチャーにもマッチはしません。

大谷:そのようなマインドの方を育てる・増やすという取り組みはあるのでしょうか?

名村氏:そうですね、ソウゾウのカルチャーに触れていくことで、徐々にでも「決断を自分でできる人」へと成長していくことが非常に大事だと思っていますし、そのような人が育つような環境を作っていかないと、という考えはあります。もちろん本人が「変わっていけること」が大前提にはあります。そういった点においても採用は非常に重要になっていきますね。

>> ソウゾウの求人はこちらをチェック!

エンジニアリングの力で、世の中に貢献していきたい

鈴木:名村さんはメルカリ入社前はサイバーエージェントで『アメーバピグ』『AbemaTV』などの開発に携わってきました。メルカリではUS版の開発などを担当し、現在に至るわけですが、名村さんの仕事のモチベーションはどこにあるのでしょうか?

名村氏:基本的に人の役に立つことが好きなので、「◯◯を作りたい、助けてほしい!」という人がいたら、「僕なら作れますよ!」と手を挙げていくのが基本スタンスですね。エンジニアリングによって「できるようになった!」と喜んでもらえたら僕は満足です。

あとはエンジニアリング自体が楽しいので、建築家とかとも一緒だと思うんですけど、アーキテクチャを考えて作り、それが合理的に繋がって綺麗に動いたり、結果としてそれが最高のサービスとして世に出たら嬉しいです。人の役に立つのであれば、自分の存在意義が認められることにもなりますしね。

鈴木:名村さんはtoCサービスを多く手掛けているイメージがあるのですが、toCが好きなのでしょうか?

名村氏:toC/toB問わず、どっちも好きですよ。toCの方がより多くの人に使ってもらえるので、いろんな意見を聞ける楽しさはありますよね。それこそ自分の親とかも使うかもしれないですしね。

一方でtoBはより多くの関係者が密接に絡んで使うシステムなので、また違ったやりがいがあります。ある企業の問題を解決するため、各関係者との密なコミュニケーションが必要になりますし、それをエンジニアリングの力で大きな課題を解決できる可能性があるので、それもワクワクします。

複業(業務委託)のメリット

大谷:今の採用市場において、複業(業務委託)採用に注目している企業が増えています。名村さんご自身が実際に複業されている中で感じるメリットや、企業が複業(業務委託)を採用するメリットに関してどんな考えをお持ちですか?

名村氏:まず企業目線ですと、エンジニア採用がうまくいってる企業は多くないと思います。優秀なエンジニアの採用市場は加熱し続けているので、エンジニアを正社員として採用するのはほぼ無理ゲーになっているのではないでしょうか。

特に資金的に厳しいスタートアップが優秀なエンジニアを採用するのは、かなり難易度が高いと思います。優秀なエンジニアを見極めるのも難しいですし、見極めるためのエンジニアの存在も必要になります。

一方、優秀なエンジニアは複業市場にはいるので、転職は考えてないけど、ちょっと自分の能力を持て余してるから力を使いたいというエンジニアはかなりいます。そのような考えのエンジニアを複業(業務委託)として採用するなら、ハードルはそんなに高くないと思うので、チャンスが一気に広がると思います。

大谷:ちなみにソウゾウでは複業(業務委託)を積極的に採用されているのでしょうか?

名村氏:ソウゾウのエンジニアに関しては業務委託の方は数名程度ですので、正社員比率がまだまだ圧倒的に高いですね。ただ今後に関しては複業(業務委託)の方も受け入れていきたいとは考えていますが、現時点ではフルタイムか、フルタイムと同様に稼働できる方が採用の前提になっています。

というのも、プロダクト自体がまだ若く、チームも日々流動的に開発を進めています。そのため仮に週2日稼働の人にジョインいただいても、変化の早さに若干ついていけないのでは、という懸念があります。

それに緊急対応したい事案もありますので、コンテキストや背景を把握しているメンバーが必要になります。そういう意味でも、フルタイムメンバーの存在は現状ではどうしても必要になっていきます。

大谷:エンジニア個人が複業するメリットについてはいかがでしょうか?

名村氏:エンジニアは話を聞くよりも、実際に体験した方が技術は身につくので、いろんな職場の技術スタックに触れるのは大きなメリットだと思います。本業では触れていない技術を複業先で経験できれば、それがキャリアアップにもつながっていくでしょう。ときにはダメなケースを経験するのは大事だと思うので、うまくいってるケースと逆のパターンの双方を実体験できれば、よりプラスになると思います。

エンジニアのちょっとした時間が、社会には求められています。もし余裕があるなら、その時間と能力を世の中の役に立てるのは悪くないですよね。ソウゾウのエンジニアに関しても、自分に余裕があることが大前提にはなりますが、複業を通じて自分の経験値を高めていってもらえると嬉しいですね。

Offers」は、時代の変化や環境にあわせてスキルを磨きたい、そんな人にぴったりのサービスです。

いくつもの転職媒体を使って、企業を探し回るのはもう終わり。「副業」から始まる新しい働き方を実現します!

本業では経験できない、新しい環境/開発スタイルを経験しよう!



この記事をシェア

関連記事


副業・フリーランス

プログラミング

インタビュー

『実践TypeScript』の著者・吉井健文が考えるTypeScriptの魅力と可能性

世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことをマニ...

ヤフーが実践するギグワーク活用がこれからの新しい採用手法に!?リモート環境で求められる人材とはーこれからの「強い組織の作り方」CEOセッションー

新型コロナウイルスで、働き方改革やデジタル・トランスフォーメーションの流れが急激に加速し、採用・育成・マネジメントの状況は大きく変化しています。 株式会社overflow、株式会社zenkig...

コロナ後に問い合わせ数が6倍のサービスも。DX化が進むHRの現状ーこれからの「強い組織の作り方」CEOセッションー

新型コロナウイルスで、働き方改革やデジタル・トランスフォーメーションの流れが急激に加速し、採用・育成・マネジメントの状況は大きく変化しています。 株式会社overflow、株式会社zenkig...

mrubyを採用したソフトウェアを広げた第一人者・松本亮介が、面倒を感じながらもC言語を愛する理由とは?

世の中にはさまざまなプログラミング言語が存在します。そして、人によってはただならぬ愛着を持つ人も。そこで本企画では、このプログラミング言語にフォーカス。お気に入りのプログラミング言語のことを中心...

デザイン

お金

採用・組織

グルメ