Go Bold、All for One、Be Professional――メルカリが掲げるVALUEを実現するエンジニアリングとエンジニアたち 株式会社メルカリ執行役員CTO 柄沢聡太郎氏に訊く

設立から3年で日米でのダウンロード数が3,700万を超え、世界屈指のフリマアプリとしてシェアを拡大する「メルカリ⁠⁠。日本から世界への意識でさらに規模を拡大し続けるサービスを支えるエンジニアリングのカギを握るのは何か? メルカリにとってのエンジニアリングとそれを実践するエンジニアたちについて、執行役員CTO 柄沢聡太郎氏に「メルカリのエンジニアリング」について伺いました。

執行役員CTO 柄沢聡太郎氏
執行役員CTO 柄沢聡太郎氏

メルカリの開発体制

Q:まず、現在のメルカリの開発体制について教えてください。

現在、株式会社メルカリに40名ほど、子会社の株式会社ソウゾウに10名ほどのエンジニアが在籍しています。

エンジニアの職域は大きく

  • SRE(Site Reliability Engineering)
  • API(サーバサイド⁠⁠・Web
  • クライアント (iOS、Android)
  • 検索、レコメンド
  • フロントエンド

の5つが存在し、それとは別に、エンジニア人事という職域があります。エンジニア以外の職種では、プロデューサー、デザイナー、QA、翻訳チームなどがプロダクト開発に携わっています。これがメルカリの中でプロダクトチームと呼ばれています。

Q:やはりエンジニアの層が厚いですね。その中でいま伺った「エンジニア人事」というのは初めて聞きます。具体的にどういった職域なのでしょうか。

言葉のとおり、エンジニアの人事です。具体的にはエンジニアを経験してきた人事ですね。一般的に企業の人事担当というのは、その職域・職種・部署が独立した形で存在し、多くの場合、⁠人事の専門家」がなるものと考えられています。

私たちの場合、人事にもエンジニアリングの考え方を取り入れ、それを「エンジニア人事」という担当として配置します。仕事の内容は、人事採用や人事考課を扱うものですが、そういった人事関連の業務をエンジニアリングの考え方を使って仕組み化するといったものになります。

また、採用方法についても、エンジニアのスキル面の評価はとくに重視しており、GitHubや技術課題を通して実際のコードを必ず見せてもらうようにしています。

Q:なるほど。技術ありきの組織を目指す手段として、エンジニア人事が置かれているわけですね。これは私の主観でもありますが、ここ1年の間にメルカリへ転職した人材が多くいるように感じています。この点について、柄沢さんご自身で気づいた点、思うことはありますか?

エンジニア一人ひとりによる発信が採用にも貢献していると思います。たとえば、ミートアップや技術系イベントでの発表を通じ会社で取り組んでいる課題、それに対応するエンジニアのスキルなどを発表したり、技術ブログを書いたりすることで、⁠メルカリのエンジニアリングとは何か?」⁠メルカリでできることは何か?」が伝わり、その内容に共感したエンジニアたちが、転職先の1つとしてメルカリを選んでくれているのではないかと思います。社員紹介での入社も多いですね。

海外展開への意識と海外戦略の取り組み

Q:今の回答と併せてお聞きしたいことがあります。代表の山田進太郎氏はメディアなどで「世界を目指す」というメッセージを強く出しているように感じていて、また、その具体的な施策としてUS(アメリカ)の拠点に続き、UK(イギリス)の拠点を作るといった動きがあります。海外戦略の観点で見たときに、エンジニアリングで意識していること、エンジニアに意識してもらいたいことはありますか?

まず、海外戦略にあたって、エンジニア(およびエンジニアリング)は全て日本のリソースを活用しています。具体的には、プロジェクトマネージャやデザイナーなどは現地で採用しても、技術部分(エンジニアリング)は全て日本のエンジニアが担当するという点です。これにはいくつか理由があります。

まず、地域性に関わる部分、たとえば文化だったりユーザコミュニケーションはその土地の感覚が大事です。ですから、とくにプロダクトマネージャーなどは現地での採用を心がけています。一方で、技術的な部分においては、これまで日本で開発してきたものの品質が高いと自負していますし、また、私の経験から、日本のエンジニアのレベルが非常に高いと思っています。

この点から、海外展開をするにあたっても、エンジニアリングリソースは日本がベースになっているのです。とは言え、開発自体もできるだけ現地で行ってもらえるよう、長期出張や出向という体裁を取っています。

先ほど代表の山田が世界を目指しているということに触れられましたが、これは中にいる人間も本当に強く感じている点です。メルカリの2016年現在の売上は、客観的に見てもフリマアプリの分野では日本において大きいと思います。このように、日本に売上がある中で、全てのリソースを海外に振り切るという経営者の意思決定はとてもインパクトがありますよね。この点も、エンジニアが集まってくる1つの理由なのかもしれません。

とくに「アメリカで勝つ」ではなく、⁠世界で勝つ」というビジョンが、社内外に伝わっている点は大きいと感じています。

エンジニアの育成について

Q:現在のメルカリの状況とビジョンについて伺いました。それでは、実際にエンジニアが増えていく中で、どのように育成しているのか、心がけていることなどがあれば教えてください。とくに、個人的には設立から3年という若いベンチャー企業、それもIT/インターネットのジャンルの企業がこの春に新卒採用を行ったという点は注目していおり、新卒採用と中途採用で何か違うことがあるのか、あるいは、同様に考えているのか、そのあたりも含めて教えてください。

エンジニアに関しては、新卒・中途で大きく分けていることはあまりありません。⁠メルカリのエンジニア」として活躍してもらうために、共通して考えているのが「最短で戦力になってもらう」です。

研修に関しては、SREチームによるインフラ技術関連と、CS(カスタマーサポート)チームによるユーザ対応の2つを実施します。これは、メルカリならではの点で、CtoCサービスを扱うエンジニアとして、技術・ユーザ両方の側面をまず知ってもらうためのものです。

また、入社してすぐ新入社員一人ひとりに1ヵ月間メンターを付ける制度もあります。メンターを通じて、メルカリの開発手法や、社内外コミュニケーションを知ってもらいます。具体的には毎日1on1で話す時間を設けて、小さなことでも話せる環境を作り、その先に、どんなことでも話す意識を持ってもらうようにしています。

技術的な面では、エンジニアであれば、APIサービス、クライアント問わずサービスのコードは誰もが触れるようになりますし、インフラを構成やbotのソースなども全てリポジトリにあるので、自分で気になることがあれば自分で調べることができます。

Q:ちなみに開発言語はおもにPHPと聞いておりますが、それ以外ではどのような状況になっていますか?

おっしゃるとおりサーバサイドのメイン言語はPHPです。最近はJobのワーカなどでGo言語による開発が進んでいます。その他、ID用のサービスなどもGo言語を使うようになっていますね。これはメルカリに限った話ではないと思いますが、言語ありきでの開発をしているわけではなく、自分たちが目指す方向に合う言語を選んだ結果、PHPと相互補完関係という意味で相性の良いGo言語を使い始めている状況です。もちろんその他の言語も必要に応じて利用しています。

PHPの開発では、薄くて使いやすいDietCakeやDietcubeといった独自フレームワークを使っています。PHPには数多くのフレームワークがありますが、技術進化と並行して多機能化している事実があります。結果として、メルカリには必要ない機能が含まれてしまっていることから、こうしたフレームワークの開発に至りました。

メルカリらしさから生まれるVALUE

Q:フレームワーク1つとってもエンジニアリングで解決できる部分は積極的に行っているということですね。その他、メルカリらしい点やユニークな取り組みがあれば教えてください。

エンジニアだけではなく全社で取り組んでいるものとして、⁠メンターご飯」「シャッフルランチ」というものがあります。⁠メンターご飯」は、先ほど話に出たメンターが、入社後1週間新入社員を連れて、自分の所属外のチームのメンバーなどとランチにいく、というものです。また、⁠シャッフルランチ」は月に1度は、全社の中から無作為に選んだ4~5人でのランチにいくというものです。

ランチという業務以外の時間帯で、同じ会社のメンバー同士で顔を合わせ話すことで意思疎通を図ることを目的としています。これは会社の福利厚生として支援もしています。

エンジニアのメンター制度にも通じますが、メルカリでは「チームで働く」ということを強く意識している会社です。ですから、ランチという時間を有効に使って、その後の業務におけるチームワークにつながるような仕組みとして、このような取り組みを行っています。

スタンドアップMTGの風景。インタビューからもメルカリではつねにチームワークを心がけていることが伝わってきた
スタンドアップMTGの風景。インタビューからもメルカリではつねにチームワークを心がけていることが伝わってきた
Q:IT/Web業界では、社内に食堂やカフェを用意するなど、食事空間や食事内容を拡充する取り組みをするケースを見かけます。その中でメルカリでは「ランチ」という行為そのものをメルカリらしく設計し、活用しているんですね。 さて、今、チームワークという話を聞きました。実際の業務ではどのぐらいの規模のチームが、どのように働いているのでしょうか。

プロダクト開発のチームは、さまざまな目的や課題に応じて、5~10名ほどのプロジェクトチームを構成しています。プロジェクトオーナーが1名、そのプロジェクトをリードしています。これはエンジニアが兼務している場合もプロデューサーが担当している場合もあります。そこにエンジニアが3~4名と、QA1名、必要に応じてデザイナーや翻訳チームなどの、プロジェクトに横断的に関わるチームのメンバーが所属します。

プロジェクトチームは、たとえば、ユーザのリテンションを高める「エンゲージメントチーム⁠⁠、出品体験を向上させる「リスティングチーム」など、大きな目的に応じてチームがわけられています。その中でチームが何に取り組むかですが、まず、会社全体の目標設定から始まり、それを1つ1つブレイクダウンして、その目標を達成したり、課題を解決するためにやることを決めていきます。ですから、当然チームごとのミッションを持ち、それが共有されています。

そして、四半期に一度、ミッションに対する達成度を確認し、継続して進めるものもあれば、再度見直すものもあります。

チームワークの上で、メルカリがとても大切にしているのが3つの「VALUE」と呼ばれる行動規範です。

VALUEにはGo Bold~大胆にやろうAll for One~全ては成功のためにBe Professional~プロフェッショナルであれの3つの基準があります。

このVALUEは社員にも浸透していて、日常的に「その施策、GO BOLDだね」などというふうに使われています。VALUEがしっかりしていることで、人数が拡大する中でもメルカリとしてブレない1つの軸になっていると思います。

CTOという役割

Q:3つのVALUE、これはメルカリという企業を知るうえで非常に大事な基準ですね。これまでお話いただいたさまざまな工夫や取り組み、それらが全てこのVALUEの基に築かれているように受け取れました。

さて、少し話を変えて、柄沢さんご自身について教えてください。急成長を遂げ、そして、エンジニアリングが屋台骨となっているメルカリにとって、CTOという役職はどのようなものなのでしょうか?

誤解を恐れずに言えば、おそらく一般的なCTOと同じです(笑⁠⁠。会社のビジネスの方向性をきちんと理解し、それを噛み砕いて指針を検討し、実現する技術的な方法やエンジニアはもちろんプロダクトチーム全体を考える、それがCTOの役割だと考えています。私自身がディティールに介入するものはあまり多くありません。

また経営陣が目指すことについて、技術的観点から検討やコメントをしたり、それを実現するためのチーム・採用計画を考えたりしています。

その他、エンジニアのマネジメントも大きな役割の1つです。先ほどお伝えしたメンター制度などの仕組み以外に、個々人の能力を最大限引き出せるような環境づくり、たとえば、外部のイベントや勉強会開催などについてはエンジニアの自発性に任せながらも、積極的にサポートしています。

エンジニアに限らず、部署を越えて全社のIT最適化という意味では、私が昨年入社してから取り組んだことのひとつに社内コミュニケーションツールをSlackに統一したことがあります。それまで、プロダクトチームはSlack、その他の部署はYammerとツールが異なり、情報共有が分断されるケースがありました。

実現にあたっては、それぞれの部署でのそれまでのコミュニケーションスタイルを把握しながら、使う人にとってなるべく負荷がかからずにツールの変更ができるようにしましたね。マニュアルの作成やSlack勉強会なども実施して、⁠社員全員にとって使いやすい」というミッションの実現を再優先に考えて取り組みました。

メルカリサイト

エンジニアが働き続けるためには~メルカリの評価の考え方

Q:最後に、これからエンジニアがエンジニアとして働き続けるためにはどう考えているか、教えてください。

⁠企業で働き続ける」を前提に、次の2つについてお話します。

  • エンジニアの評価
  • エンジニアの目的

エンジニアの評価

エンジニアがエンジニアとして働くために、企業が意識することとして大事なのは「評価」だと考えています。評価の方法はさまざまありますので、ここではメルカリでのエンジニアの評価をお伝えします。

メルカリの人事評価には、四半期に一度、プロジェクトへの貢献度を図るOKR(コミットメント)の評価と、半年に一度先ほどお伝えしたメルカリのVALUEの3つの基準を体現できているかどうかを見るバリューの評価、の2つの評価があります。

エンジニアは、これに加えて別に技術評価というものを行っています。

技術評価は、リファクタリング、新しい技術へのチャレンジ、ブログや勉強会等でのアウトプットなど、コミットメント評価には直接的には現れないエンジニアとしての活動を拾い上げ、技術面での貢献を評価するために行っています。またこの中で、いちエンジニアとしてプロフェッショナルを目指すのか、マネージャーを目指すのか等のキャリアプランについても話し合い、次の四半期でどういう目標をもって取り組むのかを明らかにします。

こうした定量的かつ定性的評価を定期的に行うこと、またプロダクト面に加えて技術面での貢献度をしっかりと評価することで、これはエンジニアにとって働きやすい環境を整備するうえで大切なことであり、結果として、エンジニアがエンジニアとして働くための土壌につながると考えます。

エンジニアの目的

続いて、エンジニアの立場で考えた際の「エンジニアの目的」です。

エンジニアの目的は技術を突き詰めることだけではなく、技術を使って課題を解決することです。メルカリであれば、メルカリのユーザに良い体験をしてもらうこと、その結果として会社が成長すること、それこそがエンジニアの目的とイコールとなります。

単に最新の技術を追ってスキルを身に付けることだけがエンジニアの目的ではありません。⁠何のために技術を使うのか」⁠そのためにはどんな技術が必要なのか⁠⁠、その点を意識し続けることが大切です。

先の評価の話に戻ると、評価をする立場としては、技術をどのように選び、どのように使うか、その点をつねに意識していますね。つねにサービス、ユーザ、そして、会社の目線で評価をすることが大事だと考えていて、メルカリの基準をしっかりとつくっていくことが、結果としてエンジニアがエンジニアを続けていくためになると思っています。

エンジニアと企業文化

そして、企業文化を根付かせることも大切です。

繰り返しになりますが、メルカリのVALUEである「Go Bold~大胆にやろう」⁠All for One~全ては成功のために」⁠Be Professional~プロフェッショナルであれ」の3つの基準、これをつねに意識してもらうこと、そして、自分たちが取り組む姿勢とVALUEを比較してブレや違和感を感じたのであれば、見直して、改めてVALUEに立ち返ること、これを続けることが大事だと思っています。

それは全てユーザにより良いサービスを提供する基礎となるからです。

――貴重なお話、ありがとうございました。

おすすめ記事

記事・ニュース一覧