「10Xのバリュー」をエンジニア目線で解釈したら?CTO石川インタビュー

2020/6/4

「10xを創る」。これは、創業3年目を迎えた10Xが掲げたミッション。そこから「どのように創るのか」を紐解き、誕生したのが次にある3つのバリューでした。

- 10xから逆算する
- 自律する
- 背中を合わせる

本来、バリューとはメンバーそれぞれで解釈し、行動に落とし込んでいくもの。では、10Xのエンジニア目線ではどのように解釈されているのでしょうか?そこで今回は、10XのCTO石川洋資(@_ishkawa)にインタビュー。聞き手は、10Xのソフトウェアエンジニアである北 裕介(@kitasuke)です。

石川 洋資 | @_ishkawa (※写真右)
Co-Founder, 取締役CTO
面白法人カヤック、LINEでの複数の新規事業開発を経て、メルカリ/ソウゾウへ。 メルカリ/ソウゾウではプリンシパルエンジニアを務める。オープンソースプロジェクトへの参加や執筆活動も行っており、2017/2には「Swift実践入門」を出版
北 裕介 | @kitasuke(※写真左)
Software Engineer
メルカリUSでモバイル・バックエンドチームのTech LeadやEngineering Managerを務める。その後、メルペイでエキスパートチームのSwift担当として、社内の基盤作りやSwiftコミュニティへの貢献を担う。Swiftコンパイラを学ぶ「わいわいswiftc」や「SwiftcKaigi」の主催。

※なお文中の「10X」は社名を、「10x」は十倍、非連続を意味します。

「自律する」「背中を合わせる」は表裏一体

北:先日、10Xのバリューを定めましたよね。それがエンジニア目線で解釈したらどうなるのかを知りたいです。よろしくお願いします!

石川:よろしくお願いします!さっそくですが、まとめるとこんな感じです。

- 10xから逆算する・・・事業としてやろうとしていることに対して、適切な手段を選び続ける
- 自律する・・・メンバーの一人ひとりが自律し、チーム全体が並列で動ける状態を目指す。そのためにスループットを高め、支援する
- 背中を合わせる・・・メンバーを信頼して大胆に任せ、自走を促す



石川:まず「10xから逆算する」について。僕の中で、ソフトウェアエンジニアは積み重ねていく仕事だと思っており、現状に左右されやすいところがあります。同時に、事業の方向性が変わることもあり、常に事業として実現したいものから適切な手段を選んで(=逆算する)いかなくちゃいけない。

1つ例を挙げると、先日、発表した「Stailer(ステイラー)」。これは、小売・流通事業者の方々が開発不要でネットスーパーを立ち上げられるサービスです。通常であれば、小売・流通事業者と協議して連携APIを提供してもらうのですが、それには数年単位の開発期間が必要になる可能性がありました。そこで、Stailerでは開発期間の決定要素を10X社内に留めるため、既存のネットスーパーのシステムを外部から自動操作することによって、システム連携を実現することに決めました。これが「サイトコントローラー」を利用するという戦略です。その結果、開発着手からおよそ半年ほどでリリースまで辿り着くことができました。その意思決定からわりと短期間での開発になりましたが、「なぜそれをやろうとしているのか」がはっきりしていたからこそ、メンバー全員が自律的に動けたところがありました。

「自律する」「背中を合わせる」は表裏一体なところがあります。「自律する」のところではその名のとおり、メンバーそれぞれが裁量を持って動くことで生産性を上げる。「背中を合わせる」ではメンバーを信頼し、仕事を大胆に任せる。その結果、他メンバーに自走を促しています。

北:「自律する」「背中を合わせる」が表裏一体であるところは、僕も感じていました。「自律」を目指した結果、「背中を合わせることになる」。その逆も然り、というのは面白いですね。

10Xは属人化を解消しやすい組織



北:10Xのエンジニアチームは、プラットフォームの役割もないし、機能ごとのチームもありません。与えられたタスクは、担当メンバーがBackendもFrontendも含めてすべてやることになる。

一方で、この状態で並列性を上げると、自律して動いているメンバーだけが知っている情報を増やすことにもなります。そうすると属人化も進むと思うのですが、そのあたりはどうですか?

石川:属人化というか、情報や知識の偏りはあって然るべき。全員が同じ知識を持つ=個人の総量は大きくなりますが、チームとしては大きくならない。なので、偏りがあることは、チームとしてむしろ健全。それに「属人化=その人がいないと何もできない状態」を指しますが、10Xではそれを解消しやすい組織だと思っているんです。

北:属人化を解消しやすい組織?

石川:10Xではサーバー担当やモバイルアプリ担当などの役割を分けていないので、エンジニア間で担当箇所のローテーションが自然に起こります。コードは担当メンバーがその時の状況に合わせて適切に書き換えていくのですが、その過程で担当箇所の知識が担当メンバーにインストールされ、結果として緩やかに知識が広まることになります。

コードの書き換えは議論が起こりがちですが、そこは「背中を合わせる」だから、慎重なレビュープロセスを導入するのではなく、相手を信頼して任せる。だから、書き換える方の背筋も伸びるし、書き換えられる方も任せられる、という関係性ができているんです。

北:そこは、10Xのオリジナリティですよね。自律的に動いていないと書き換えないし、背中を合わせていないと任せられない。前提をたどれば、書き換える理由は「10xから逆算」した結果でもある。3つのバリューがそれぞれが助け合っているかたちになっている、良い事例ですね。

バリュー体現で意識しているのは「仕組みづくり」

北:エンジニアとして、バリューを体現するために気をつけていることは?

石川:2つあります。1つ目は、「自律的に動く」ためのチームの仕組みづくり。そこで意識しているのが、干渉しすぎないことです。何か依頼したいときは詳細まで決めすぎず、「これを解決したいんだけど、やり方は任せた」くらいの抽象度でメンバーに託しています。

というのも、その業務について最も深く集中して考えられるのは担当メンバーです。抽象度があるところから具体化を進めるプロセスのなかで、オーナーシップを持ってもらいたい意図もあります。




事例:
- 解決すべき問題と方向性を言語化する(@_ishkawa
- 解決の方法や実装方法はエンジニア(@swdyh)が自分で調べてなんとかする

北:僕は10Xに入社して3ヶ月です。入社が浅い段階から抽象度の高いタスクを任せてもらっているおかげで、自発的にいろいろなドメインを触ったり、調べたりする機会があると感じているところです。では、2つ目は?

石川:2つ目は、装備を持ってもらうこと。自律的に動くには、ある程度の情報や知識が必要。それに、先ほどお話ししたように、10Xではタスクをローテーションしている関係上、サーバーやWEB、クライアントなど領域をまたぐことも多いです。そのハードルを下げるための装備も大事なんです。

例えば、デザインシステムを作っておくことで、専門知識がそれほどなくても「このルールに従ってこうしよう」と意思決定できるようにしておく。自律的に仕事を進められるような仕組みを、用意するようにしているんです。

北:そのあたりは、エンジニアリングのアーキテクチャやプラットフォームの仕組みでできるとベストですね。

石川:ですね。まだ準備途中のものも多いのですが、今後は迷いようがないアーキテクチャなど、仕組みを整備していきたいです。

「インパクトを与えたいところへ最後までコミットできる人」と働きたい

北:バリューを定めてから、チームやメンバーに変化はあったのでしょうか?

石川:バリューは10Xにいるメンバーの振る舞いや行動を言語化したところもあるので…個人的にはあまり変化を感じていない(笑)。

北:(笑)。



石川:でも、明確にしたことで、推奨される振る舞いが伝わりやすくなり、新メンバーが動きやすくなりました。採用を拡大しているところなので「どんな人が合っているのか」もはっきりできたのはいいですよね。

北:では最後に、どんな人と働きたいですか?

石川:やはり、自律的に動ける人でしょうか。「自分がプロダクトを良くするんだ」「事業を大きくするんだ」など、インパクトを与えたいところへ最後までコミットできる人と働きたいです。

僕としては、ものすごい速度で前進するチームをつくりたい。僕らのチームも、今の事業を進めるために、けっこうな速度で前進してきました。この勢いを落とさずに進められれば、スケールも大きくなっていくはず。そうすれば、事業もスピード感を高めて成長させることができる。結論を言うと、早く成果がたくさん出て楽しいと感じられるチームにしたいんですよね。

北:石川さんのように、エンジニアの枠を越える人が来てくれるかもしれないですよね。それは、スループットを上げるきっかけにもなります。今日はありがとうございました。

この記事に関連する求人情報
ソフトウェアエンジニア(サーバー)
ソフトウェアエンジニア(モバイルアプリ)

RECRUIT

10xへの到達率は、まだ0.1%。
あなたの力が、必要です。

JOIN OUR TEAM

CONTACT

10Xへの取材依頼やお問い合わせはこちらから。

CONTACT US