SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Women Developers Summit セッションレポート(PR)

「メルカリShops」機械学習エンジニア組織立ち上げの混迷から脱却する3つのポイント【デブサミウーマン】

【B-2】ソウゾウ1人目機械学習エンジニアの現在地 - メルカリShopsのおすすめ機能開発の舞台裏

  • このエントリーをはてなブックマークに追加

 2019年4月に株式会社メルカリへ新卒入社した野上和加奈さん。メルカリ在籍時には機械学習を用いた写真検索システムの開発・運用を担当し、2021年4月からメルカリグループの株式会社ソウゾウへ1人目の機械学習エンジニアとして移籍。Eコマースプラットフォームである「メルカリShops」の「(商品の)おすすめ機能」を開発する過程で直面した葛藤や工夫を語る。

  • このエントリーをはてなブックマークに追加

株式会社ソウゾウ Engineer Div. Enabling Team Software Engineer(機械学習) 野上 和加奈氏
株式会社ソウゾウ Engineer Div. Enabling Team Software Engineer(機械学習) 野上 和加奈氏

お客さまが欲しいものをすぐ見つけられる、いい感じのホーム画面を作りたい

 2021年10月、「メルカリShops」の本格提供が始まった。基本的にメルカリは個人同士が売買するフリマアプリだが、メルカリShopsは小規模店舗が出店するイメージだ。まさにショップ。メルカリと比べ、値下げ交渉なく販売可能、まとめて出品や在庫管理ができるところに違いがある。

 メルカリShopsはフリマアプリの「ショップ」タブからアクセスできるため、メルカリの1機能のように見える。しかし開いた先はWebページで、メルカリアプリとは別に開発されている。手がけているのはメルカリグループのなかでも新規事業の企画・開発・運営を担うソウゾウだ。

メルカリShops
メルカリShops

 このソウゾウに1人目の機械学習エンジニアとしてジョインしたのが野上和加奈さん。2019年4月にメルカリへ新卒入社し、機械学習を用いた写真検索システムの開発や運用を担当していた。機械学習チームではあるものの、モデルを作るよりもKubernetesを使いこなすほうが強かった。

 2021年4月にソウゾウへ移籍。設立から3カ月が過ぎ、技術選定が済み(バックエンドがGo、フロントエンドがTypeScriptなど)、プロダクトもおおよそ形になったタイミングだった。一方、野上さんは先述の通り、1人目の機械学習エンジニアとしてジョインした。機械学習モデルを作った経験はなく、上司も機械学習の経験者はいない状態だった。

 野上さんに任されたミッションをおおまかに表すと「(機械学習を用いて)いい感じのホームを作る」。つまり、自分でも気づかなかった欲しい物に巡り会えるような「お客さまにとって使いやすい」ホーム画面を目指すということだ。当時はタイムラインと手動でピックアップされた商品一覧のみで、お客さまにとって欲しいものを探しやすく、偶発的にいい商品に出会いやすいようなホーム画面になっていなかった。それを機械学習を用いて改善するのが課題となっていた。

 とはいえ機械学習担当は野上さんだけ。当時の困難を集約すると「タスクが多方面すぎて何も進まない」「何をやったらいいのかわからない」「自分の選択が正解か自信が持てない」になるという。それぞれどう直面したか。

フォーカスすることを決める、最小限のことから始める、人に相談する

 一つ目の「タスクが多方面すぎて何も進まない」の部分は、あまりに多すぎて途方に暮れてしまったほどだ。プロダクトにレコメンデーションをいい具合に組み込むことだけでは足りない。その前に開発環境や機械学習基盤の整備をしなくてはならないし、採用に関わるイベント登壇や採用プロセス準備も全て野上さんの肩にのしかかっていた。ものすごい量となる。

 どうやって乗り越えたのかというと「諦める!!」に尽きる。これは半分冗談で、全部やろうとしないということだろう。野上さんが社内のシニアエンジニアやCTOなどに相談したところ、「自分はこれをやると決める。割り切ってやったほうがいいよ」とアドバイスをくれた。

 それで肩の荷が少し下りた。例えば「今は採用にフォーカスする時期だから開発は進まなくてもいい」など割り切ることができた。加えて重要になるのが「周囲に共有しておく」こと。当初はエンジニアの朝会で共有することは開発の進ちょくだけと思っていたため、採用にフォーカスしている時期は進ちょくを示せず、歯がゆい思いをした。しかし途中で「今は採用でこんなことを進めています」と言ってもいいのだと気づき、これも気持ちが楽になってきたという。

 タスクがありすぎて途方にくれてしまったら「今はこれをやるのだとフォーカスを決めて、それをちゃんと周りにも言っておくこと」が大事と野上さん。

 二つ目の「何をやったらいいのか分からない」については、野上さん自身の分析によると「張り切って理想を掲げがち」と「プロセスがクリアになっていない」ことが背景にあると分かった。前者は、裁量が多く、やりたいこともたくさんあるため。後者は誰に相談して、どのように進めていけばいいのかプロセスが不明確であるためだ。

 これについては「ミニマムの徹底」。理想を掲げるのは大事だが、最初の1人では全部できるとは限らない。「これなら余裕でできるというレベルから始めるのが大事」と野上さんは言う。例えば機械学習なら最先端モデルを作るのではなく、基本的なルールベースのものにする。具体的には前日最も売れた商品を「今日のおすすめ」に出すなどだ。

 実装をシンプルにすると、全体を見通す余裕も出てくる。するとPMやフロントエンドに頼ることなく「自分でできそうだからやっちゃおう」となる。それが「正直正解か分からない」と野上さんは言うものの、「これなら次はこの人に相談しよう」など色々とクリアにすることができた。一度はやってみる価値がありそうだ。

 三つ目の「自分の選択が正解か自信が持てない」については、選択できる立場になると生まれる悩みかもしれない。肩書きでは責任者ではないものの、実質的には機械学習については責任者のように選択できる立場になっていた。野上さんが「これで行こうと思います」と言えば周囲も「いいんじゃない」と認めてくれるものの、野上さんは「おそらく完璧ではないのに、本当に大丈夫?」と内心で不安を抱えていた。

 こういう時に大事なのは「とにかく人と話す」こと。野上さんはソウゾウではオンリーワンの存在だったものの、メルカリグループ内なら他にも機械学習に詳しい人がいるので探して相談しに行った。当初は「聞きたいことをクリアにしてから行かなくては(失礼にあたる)」と気負っていたため、疑問が漠然としているうちは相談しに行けなかった。その状況を「どうしようもないです」と他チームに相談したら、週次で相談する時間を設定してもらうことができた。些細なことでも気軽に話せるようになり、自分の選択にも自信が持てるようになってきた。

次のページ
当初の理想的な構想をバッサリ切り捨てて、最小限にした実装とは

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Women Developers Summit セッションレポート連載記事一覧

もっと読む

この記事の著者

加山 恵美(カヤマ エミ)

フリーランスライター。茨城大学理学部卒。金融機関のシステム子会社でシステムエンジニアを経験した後にIT系のライターとして独立。エンジニア視点で記事を提供していきたい。EnterpriseZine/DB Onlineの取材・記事や、EnterpriseZine/Security Onlineキュレーターも担当しています。 Webサイト:http://emiekayama.net

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/15236 2022/01/21 12:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング