toshiのエンジニア日記

できるエンジニアを目指して勉強した内容を日々まとめていきます。

Mercari Tech Conf 2018(mtc18) に行ってきた

f:id:ntoshi1900:20181004223156p:plain

本日、去年に引き続きMercari Tech Conf 2018に行ってきました。

今回は講演少々、メインはブースで直接詳しい話を聞くこと、という形で回ってました。

昨年度と比べていろいろ感じるところがあったので、簡単なレポを掲載したいと思います。

ざっくり感想

Mercariは巨大企業へと成長し始めている

ここ1年でエンジニアの数が急増したようで、いろいろと企業文化が変わりつつあります。

顕著なのが開発アーキテクチャの刷新。

複数のセッションでマイクロサービスアーキテクチャ化の話がされており、急増するエンジニアの数にスケールアウトするようにいろいろな面をRearchitectしているよう。

そのあたりがカッチリ決まってきているあたり、大企業化してきたな~と感じました。

ベンチャーならではの足の速さを失わないようにがんばってほしいです。

企業のグローバル化がすごい

従業員には結構な数の外国人が在籍している模様。実際に説明員にも外国の方が多かったです(たいてい日本語ぺらぺらでしたが)。

去年度の時点でMercari USとしてアメリカ向けのアプリを別途作成しているあたり、グローバルをしっかりと視野に入れてるな~とは思っていましたが、想像以上のグローバル化っぷりでした。

世界を相手にする気概は伝わってきますね。

未来への投資もしっかり

一見メルカリとはなんの関係もなさそうな、量子アニーリングとかの研究も行っているそう。

機械学習とかは展開先が想像付くので納得感ありますが、そのあたりの領域は直接的には今のメルカリアプリにどう活用するのかは見えにくいですね。

しかし、今今で価値を出すのではなく、将来性のある技術にはしっかりと投資を行う姿勢の模様。

ECサイトだけで終わらなかったAmazonや、検索エンジンだけで終わらなかったGoogleSNSだけで終わらなかったfacebookなど、海外の名だたるIT企業に似た野心を感じますね。

Mercariが日本のGoogleとか言われる日が、いつか来るのだろうか・・・と期待してしまいますね。

各ブースの感想

メルカリにおける量子アニーリングの研究

D-waveと契約を結んだり、量子アニーリングの界隈では有名な東北大学大関先生と共同研究契約を結んだりと、かなりガチで取り組んでる模様。

具体的な出先が決まる前から、取り合えず将来性あるからやろうぜ!と速攻でD-waveと契約結んだそうです 笑

勢いがあって素敵ですね~

量子コンピュータ系というと、日立さんとか富士通さんとか大手メーカーが取り組んでいるイメージですが、今後はMercariから面白い成果が出てくるかもしれませんね。期待です。

経営課題をエンジニアリングで解決、Corporate Solutions Engineering の取り組み

メルカリの大企業化を強く感じる展示でした。

人材管理等をきちんと行うために、人事管理システムTeamsと人事評価ツールReviewsというものを内製しており、その紹介がありました。

従業員の急激な増加に伴い、きちんとしたシステムの上での人材管理が必要とのことで、エンジニアリングによる解決を図ったとのことです。

ただ、完全に大企業的な評価になっているのかというとそうでもなく、面白かったのが人材評価のときに業績や達成度度合いによりレーティングをつけないノーレーティング評価を行っているという点でした。

実力を持っていて本当はもっと評価されていい、という人がいたときに、レーティングベースだと実力に関わらず実績を積み上げなければ昇給できないという問題点がでるため、360度フィードバックと上長評価で評価を決めているそうです。

また、上長の判断だけで評価結果が左右されないように、キャリブレーションの仕組みを取り入れているそうで、やさしい上司の下に付いたもの勝ち、見たいな事もないそうです。

これらの仕組みは、きちんとした評価をしてもらえると、内部でも好評の模様。たまたま担当したプロジェクトが軌道に乗るやつなのかどうなのかの運ゲーにならないところは素敵ですね。

内製システムに関しては人事評価のやり方が変わったとき等に柔軟に対応できるように、と内製したそうですが、その点に関しては、外部システムではダメだったのかなぁと少し疑問でした。人材管理とかは世の中にたくさんあると思うので・・・

あと、人材管理システムの名称「Teams」が、MicrosoftさんのチャットツールのTeamsと名前がド被りしてるのもちょっと気になりましたね。

メジャーどころとの名称被りはいろいろと不都合がありそうなので、少し見直したほうがいいところかもしれませんね;

エキスパートチームの取り組み(Gopher道場、Go Fridayなど)

社内にGCPにめっちゃ詳しい人とGolangにめっちゃ詳しい人がいるらしく、その人たちで構成されるエキスパートチームの紹介でした。

業務時間の50%ほどを使って社外活動を行っているらしく、社外に対する技術アピール+情報収集で得た知識を社内展開する取り組みを行っているそうです。

Tech企業感あっていいですね~

私もこういう活動が許されるくらい特定の分野に強くなりたいものです・・・

MTC App by Flutter

Flutterを使ってMTC2018のアプリを作ってみたという紹介でした。

Flutterを使うとマルチプラットフォームへのデプロイが可能で、コンパイルもめちゃくちゃ早いことから、一時的に利用するようなアプリをさくっと作るにはかなりいいとのことです。

私はFlutter使ってことがなかったのですが、ちょっと触ってみたいなと興味がわきました。

AQAチームによるテスト自動化及びZapier自動化ブース

相変わらずすごいMercariの自動UIテスト。

Appium等を使ってカッチリとリグレッションテストを行ってるとのこと。

新しいUI追加時にはあらかじめテストチームにアラートあげて対応準備をするなど仕組みとしてもかなり洗練されているようで、見習うところが多いなぁと感心いたしました。

クイズ・iOS app Rearchitecture

アーキテクチャ前後のアプリをインストールした端末が置かれており、どっちがリアーキテクチャ後でしょうか!?というクイズを展示してました。

二つを見比べてみると、圧倒的に読み込み速度が違っていて、もやはクイズでも何でもなかったです 笑

エンジニアの増加に伴い、ビューコントローラ編集時のコンフリクトを避けるために、ボタン1個とかコンポーネント単位でビューコントローラを分割したところ、なぜか読み込み速度が劇的に向上したそうです。

どうもコンポーネントをビューコントローラに置き換えることでレイアウトの処理が高速化したらしく、特に低スペックの端末では顕著に差が出ていました。普通にこれはすごいなと感じましたね。

ただ、やはり細かい単位でビューコントローラにしてしまうと全体の管理は少し大変になるらしく、個人レベルの開発ではマネできないな~と感じました。

Welcome to Mercari US

Mercari USの紹介と、US版のインターフェースが紹介されていました。

日本版とは結構仕様が違っており、例えば値下げ交渉などが出品者と直接やり取りしなくてもできるようになってたりします。

また、配送の関係で商品の重さが重要になっているため、機械学習を用いて商品の重さを推測する機能などが追加されているらしく、USならではの事情に合わせた技術開発がしっかりと行われているようでした。

今まで、日本で成功したベンチャーとか(ソシャゲとか)が、何も考えずに海外展開して大コケする姿を良く目にしてきましたが、そういうのとかとは明らかに違う姿勢で取り組まれてます。

こりゃ海外でも成功するわなぁ・・・と納得せざるを得ない親和っぷりでした。

Days in Mercari Android

Android開発をする際の開発の流れを説明する展示がありました。

昔はスピード感を重視するためにアーキテクチャとかは厳密に議論されていなかったようですが、今は開発項目が出た際に、アーキテクチャ検討の時間がきちんと取られ、メンバー全員で議論したうえで開発に取り掛かるするそうです。

また、MVPアーキテクチャ(Model-View-Presenter)を取り入れることで、処理とViewが独立し、例えばA/Bテストのときの切り替えなども簡易に行えるようになったとのこと。

このアーキテクチャの刷新で、テストカバレージなども劇的に上がったそうで、開発プロセスも成熟してきたな~と感じるところでした。

We are the Machine Learning team!!

メルカリでの機械学習の取り組みを紹介する展示。 私自身、機械学習に携わっていることから、いろいろ詳しく聞いてきました。

まずデータに関してですが、全てBigQueryに集約しているそうです。

そのため、実際に分析するときにはBigQueryにクエリを投げるだけであって、かなり機械学習が行いやすい環境が整っている模様。

BigQueryは定額契約をしているそうで、クエリは投げ放題だそうです。確かに、1クエリいくらとか言われたら、試行錯誤しづらいですからね;機械学習エンジニアとしてはかなり良い環境だと思います。

画像系はAmazon S3に放り込んであるらしく、学習プロセスもクラウド上で全て完結するなど、クラウドネイティブな環境になってるそうです。

ローカルで蓄積されたデータを手渡されて、さあ分析してくれ!と依頼される身としては羨ましい環境です;

あと、商品説明などを画像のみから自動入力するデモなどが展示されていましたが、かなりいい感じでしたね。これぞ、機械学習の有効活用!という感じでした。

Mercari & Microservices

メルカリでの各サービスのマイクロサービス化に関して紹介した展示。

初期の頃はモノリスな構造だったが、チームが大きくなるにつれてマイクロサービスに移行していく必要出てきたという話。

現状ではチーム単位でマイクロサービスの管理をしているそうで、例えばそれぞれの管轄するデータベースに関しては、各チームが責任を持ってAPIを提供すること、といった完全なる分担が行われていそうです。

やはり、急速なエンジニアの増加に伴い、エンジニアのスケールアウトが急務になっているようです。

まだマイクロサービス化していない部分に関しても、順次マイクロサービス化を行っていくとのこと。過渡期でのパスによる制御などもかなりカッチリと設計されており、スムーズなマイクロサービスへの移行が期待できそうでした。

研究開発組織「R4D」

f:id:ntoshi1900:20181005002323j:plain 一番メルカリやべぇ、ってなった展示でした。

量子コンピューティングとか、衛星とかメルカリが取り組んでいる意味が分からん。

だがしかし、だからこそ、Mercariがしっかりと未来を向いていることが分かる。

目の前の利益だけではなく、将来性への投資ができていることがわかる。

GoogleMicrosoftAmazonFacebook、世界の名だたるIT企業たちもやはり、本業だけではなく、Tech企業として未来のある技術に投資を行ったからこそ今の姿がある。

Mercariも、うまくテクノロジーを育てていくことができれば、そういった企業たちと方を並べる存在に今後なっていけるんじゃないかなという、可能性を感じました。

まとめ

やはり、ベンチャーの中でも特に勢いがあるなと感じました。

海外展開が文化にあわせてしっかりと行われている点や、将来性のある技術に対する投資など、現状に満足せずしっかりと高みを見据えられているところがかなり感じられました。

これからのMercariの躍進に期待ですね! 是非とも日本を誇るTech企業へと成長してほしいです!

おまけ

今回のおみやげ物など。

f:id:ntoshi1900:20181004223208j:plain
USB充電器のハブ。正直普通に欲しかったやつなんで、かなり嬉しいです
f:id:ntoshi1900:20181004223215j:plain
ケーブルとかまとめられるポーチ。開発合宿のときなどに利用できそうですね。
f:id:ntoshi1900:20181005004653j:plain
やたらオシャレなドリンクスペース。フォトジェニックということでTwitterとかにもめっちゃアップされてます

今回昼から参加させてもらったんですが、Twitterとか見るとお昼の弁当も出た模様・・・ ちくしょうっ!無理してでも午前から行くんだった!!

来年はそこも期待して、ちゃんと時間取って参加したいと思います~♪