Trust and Safety(TnS)とは、メルカリがお客さまにとって安心・安全なサービスであるため、不正検知を含む禁止行為の監視や対応を行う役割のこと。メルカリではカスタマーサービス(CS)のチームで検知するほか、機械学習を活用した基盤開発も進めています。
実は、メルカリTnSチームで基盤づくりなどの開発を始めたのは2018年のころでした。当初からチームに参加していたメンバーたちは、日々何を感じながら開発に向き合っているのでしょうか?チーム在籍期間が長く、メルカリの拡大期を支えてきたエンジニアであるSuganprabu Nagarajan(@suganprabu96)、Nikinsha Kesharwani(@nikinsha)に話を聞きました。聞き手は、エンジニアリングマネージャーの島田健太(@kentan)です。
この記事に登場する人
-
Suganprabu Nagarajan(スガンプラブ・ナーガラージャン、@suganprabu96)2018年に新卒でメルカリへ入社。当初はUS版メルカリで機械学習を使った偽造品の検出に取り組む。その後、JP版メルカリへ異動し、機械学習を用いたさまざまなタイプの違反品の検出を担当する。現在は、お客さまに安全で信頼できるサービスを提供するためのシステムを開発するTnSチームへ移動し、テックリードを務める。 -
Nikinsha Kesharwani(ニキンシャー・ケシャーワニー、@nikinsha)大学卒業後、大手ネットワーク企業でソフトウェアエンジニアとして働く。2019年にメルカリへ入社し、ソフトウェアエンジニアとしてTrust and safetyの分野を担当する。 -
島田健太(Kenta Shimada、@kentan)2018年にメルカリへ入社。CREチームでエンジニアリングマネージャーを務める。機械学習エンジニアやBackendエンジニア、Frontendエンジニアからなるクロスファンクショナルチームのマネジメントを行う。メルカリ入社前は、アメリカと日本で、フルスタックエンジニアとして10年以上働いていた。認定スクラムマスター。
入社前まで「メルカリを知らなかった!」
@kentan:まず、メルカリに入社する前のことを聞きたいです。@suganprabu96さんは入社前まで、大学生でしたよね?
@suganprabu96:はい、インドで大学生をしていました。最終学年の時にメルカリへの採用が決まり、新卒で入社しました。通っていた大学へメルカリが採用活動していたことをきっかけに、メルカリのことを知ったんです。会社説明会が行われ、採用担当メンバーがメルカリについて話してくれたおかげで、基本的な情報を知ることができましたね。
@kentan:メルカリ以外にも選択肢はあったと思うんですが、なぜ?
@suganprabu96:そのころは2017年で、まだ上場前だったメルカリは今よりもメンバー数が少ないスタートアップでした。ちょうど、その規模の会社で働いてみたいと思っていたので、いい機会だったんです。それに、インド以外の国で働きたい気持ちもありましたし。
何より、その規模のスタートアップが海外の大学で採用活動はあまりしません。もちろん、リソースが潤沢な企業は積極的に行うかもしれませんが…。そんな理由もあり、メルカリは強く印象に残っていました。会社説明会に多くの学生が参加していたのも、インパクトがありましたね。
Suganprabu Nagarajan(@suganprabu96)
@kentan:じゃあ、@nikinshaさんは?
@nikinsha:メルカリへ入社する前は、インドの大学でコンピューターサイエンスを学んでいました。卒業後はインドのIT企業でBackendエンジニアとして働いていたんです。技術スタックも、メルカリとは異なるものでしたね。
@kentan:そのIT企業を経て、メルカリへ転職したんですよね。きっかけは?
@nikinsha:日本で仕事をしてみたかったんですが…日本語を話せなくて。そこで、英語で仕事ができる日本企業を探しているなか、メルカリを知りました。私がメルカリを知った2018年当時は上場したばかりで、ユニコーン企業としても注目を集めていました。「ここなら面白い体験ができるかも」と思い、応募したんです。
入社後、言葉の壁はありましたが英語話者への言語サポートのおかげでなんとかクリアしてきました。仕事面では、一緒に働くメンバーみんなが当事者意識を持って取り組んでいるので、楽しいですね。
Nikinsha Kesharwani(@nikinsha)
専門領域を横断して連携する、TnSチームの業務
@kentan:僕らTnSチームは、お客さまの安心・安全を守るための開発をしています。@suganprabu96さんは、長らくこのチームで仕事をしていますよね?
@suganprabu96:そうですね。私は今、TnSチームでおもにモデレーションシステムの開発・運用をしています。これによって、規約違反の商品を検知できるようにしているんです。チームのメンバーは自身の専門領域を超えて、フロントエンド、バックエンド、機械学習(ML)など横断しながら担当していますね。
@kentan:@suganprabu96さんも、MLエンジニアとして入社し、今はフロントエンド、バックエンドにも携わっていますよね。やってみて、どうですか?
島田健太(@kentan)
@suganprabu96:具体的には、2019年まではMLエンジニアとして働き、その後バックエンド領域も担当するようになりました。もともとMLエンジニアとしてバックエンドに近しい開発をしていたので、それほどギャップは感じませんでした。2021年からはフロントエンドも担当するようになり、MLとバックエンドには自信がありますが、フロントエンドはまだ慣れないところもあるので勉強中です!
@kentan:3つの分野を同時にこなすのは大変じゃないですか?
@suganprabu96:それぞれ違うスキルが必要なので、大変と言えば大変(笑)。MLでは最新の研究レポートや文献を常にチェックしなくちゃいけないし、バックエンドはAPIやアーキテクチャが重要。フロントエンドはUI/UXとは切り離せない部分があったり…。個人的にはUIを考えるのがあまり得意ではないので、そのあたりは苦労しているかもしれません。
@kentan:@nikinshaさんの担当業務は?
@nikinsha:いちエンジニアとして、TnSチームが担当するほぼすべてのプロジェクトでフロントエンド・バックエンド開発をしています。TnSチームのスクラムマスターでもあるので、プロセス改善やチームの生産性アップにも取り組んでいます。@suganprabu96さんと同じくさまざまな領域を横断して開発しているのですが、あらゆるタスクに関われるのはいいなと思っていますね。
@suganprabu96:ですね!私は、TnSチームのテックリードも担当しています。今後1年かけて開発する機能の大まかな計画に対して、技術的な制約や問題をあらかじめ洗い出すことも役割の1つ。また、複数のチームが同時に開発することがあるので、一貫性があるかどうかを確認することも大事です。あとは、チームメンバーが担当したタスクのレビューもしています。
@kentan:@nikinshaさんはBackendエンジニアとして入社しています。他の領域を担当することについてどう感じていますか?
@nikinsha:今まさに勉強している最中です!TnSチームでの仕事は、開発サイクル全体を学べるところが特徴の1つ。フロントエンドもバックエンドも、メンバーと協力しながら取り組めることも楽しいですね。特に、私にとってフロントエンドは新たな領域なので、すごく興味がありますし、学ぶこともたくさんあります!
近年、注目が高まる「不正検知領域」の変化をどう感じている?
@kentan:TnSチームとして重視する安心・安全の目線についても話したいです。TnSチームにジョインした当初と今で、変化を感じるところはありますか?
僕個人としては、不正検知を含めたTnSチームの担当領域はここ数年で世間的にも注目が高まってきた印象です。プラットフォームでの違反行為という本質的な問題に加えて、メルカリというサービスをより多くの方々に使っていただくためには、お客さまはもちろん、商品を製造・販売する企業さまとの継続的な対話を通じて、社会の公器であることを意識した仕事が増えてきました。具体的に言うと、当初は違反出品物はすべて排除していましたが、最近では商品検索時に注意喚起をするなどの手段が生まれていますし。
@suganprabu96:全体的な動き方も変わりましたよね。2018年当時は、お客さまが安心・安全に使ってもらえるサービスにするため、TnSチームの業務は「やらなくてはならないこと」という認識でした。しかし今は、お客さま体験向上の一環としてTnSチームだけでなく、より全社的に取り組んでいます。機械学習を使って違反出品物を直接スピーディーに検知するなど、効率化を図るようになったことも変化の1つだと思います。
TnSチームとしては、これまでは小さなタスクを個別に取り組んでいました。でも今は、機能主導型になり、メンバーが連動して同じ目標を共有しながら仕事をするようになりました。
@nikinsha:モデレーションツールの効率も上がったと思います。以前はルールベースの検知システムでしたが、あまり効率的ではなかったんです。いまはかなり改善されているので、ここはいい変化ですよね。
@kentan:私たちTnSチームの大きな特徴は、社内のCSとお客さまが使うサービスの両方に関わっているところです。社内向けツールはTnSがオーナーシップを持っているために、アーキテクチャに対する意思決定権がありますし、お客さま向けの機能では多くのトラフィックに耐えうる開発にしなくちゃいけない。この2つの視点からメルカリを見れるのがTnSチームの楽しさであり、強みだと思うんですよね。
@suganprabu96:メルカリは共有のスタックを使用しているので、MLプロダクトやサービスのトレーニングの点では他のチームとそう変わらないと思います。ただ、私たちは商品のモデレーションに関する特殊なデータを扱っているので、そこで活用されるモデルやテクニックは他チームとは違いますね。
@nikinsha:何より、TnSチームはクロスファンクショナルなので、いろいろな開発に関われるのが楽しい!時には大変なこともありますが、なんでも挑戦できる機会があるということがありがたいです。あとエンジニアリングからは逸れますが、私のチームは多様性があっていろいろな人がいるので、お互いの文化について知り、コミュニケーションを深められるのが良いところですね。
@suganprabu96:私も、いろいろ挑戦できるのはTnSチームの魅力だと思っています!複数の分野にまたがって開発していると知らないことがたくさん出てきますからね。何かにつまずいたらその原因を調べて、対策をして次に進むことで新しいことを学んでいます。それに、多種多様な経歴のチームメンバーがいるので、困ったことがあったら一人で悩まずにサポートしてもらえる。社内ツールからお客さま向けの機能、トラフィックの多いサービスまで、いろいろなものに関わるので大変ではあるものの、常に挑戦できる環境があるのはうれしいです。
メルカリTnSチームと「相性がいいタイプ」は…
@suganprabu96:冒頭で、私がメルカリに入社した時はまだスタートアップだったと話しましたが、今でも大企業とは言い切れないところがあるんですよね。それくらい、成長の余地がメルカリにはある!スタートアップよりも規模は大きいけれど、スタートアップのような風通しの良さや柔軟な働き方と、物事の進むスピードが速い点が他社にはない強みではないでしょうか。
@nikinsha:ですね。まずは会社が成長を続けていること、そして働いている私たちにも成長の機会がたくさんあるのは、働いている身として恵まれています。
@suganprabu96:そうそう、言語などのサポートをお願いできるのは助かりますよね。
@kentan:うれしい…!そんなメルカリでTnSチームの一員として働くなら、どんな人が相性良さそうですか?
@nikinsha:まず大声で言いたいのは、多種多様な技術スタックを使うことへのモチベーションが高い人が良いですね!メルカリには主要機能全体で使われているマイクロサービスがあり、そのサービスを運用していくのはすごく大きなタスクです。そこに挑戦したいと思える人はTnSチームと相性がいいと思います。
@suganprabu96:私も、いろんなことに興味を持って取り組める人がTnSチームの仕事を楽しめると思います。この分野の経験や知識は特に問いません。それよりも新しいことを学ぶ意欲が大切なんじゃないでしょうか。また、モデレーションシステムのほとんどがTnSチームが開発したものなので、プロダクトのオーナーシップを重視する人にはぴったりですね。
@kentan:私も同意見です。フロントエンド、バックエンド、機械学習といろんな領域を楽しみたいと思っている技術的好奇心たっぷりな人はぜひ、仲間になってほしいですね。