未来永劫

メリーバッドエンドが好きです.

mercari Summer INTERNSHIPに参加しました.

追記: 2018年度の募集要項がオープンしたようです!
mercan.mercari.com


機械学習エンジニア(以下ML)コースに行ってました.

f:id:shopetan:20170902224805j:plain

3行まとめ

  • 成果を残す姿勢がすごい
  • メンバーがみんな強い
  • 待遇もいい

参加まで

メルカリでは,長期インターンという形でのインターンシップの受け入れを通年で行なっています.
今回,サマーインターンという枠組みで募集をしたのは会社として初めてのケースだそうで,今回の参加者が1期生でした.
MLコースでは,軽いESの提出に始まり.
事前課題 -> エンジニア面接 -> PM面接という順番で選考が進みました.

事前課題

事前課題はソフトウェアエンジニア(以下SW)コースとMLコースで異なる事前課題を提出する必要がありました.
mlコースではいわゆるkaggleのような形で,機械学習に関する知識や技能が求められるような課題でした.
口外するなと言われているので詳細は内緒です.
受かった同期に聞く限り,超簡潔に記述した人や長文でアレコレした人もいれば,本筋とは違うものの思考の過程が評価されたという人もいました.

面接について

エンジニア面接とPM面接がありました.
履歴書を持ってくるようにと言われたので,過去にやってたプロダクトや研究,インターン歴などなどざっくばらんに記述した紙1枚持ちながら面接に行きました.
前者は現場(配属先)の社員の方で,僕は事前課題の話や最近の技術的な諸問題やらサービスに対するフラストレーションを話した気がします.
後者はPMの方でしたが,履歴書のウケが良く,ずっとエンジニアサイドの話をして終わりました(楽しかった).

参加決定後

前日まで宿泊先の話が進んでいなかったので死ぬほど不安だったんですけど,結局宿は出ました(嬉しい),筑波生に優しい会社だった….
特にインターンの内定者で事前交流があったわけでもなく,ふらーっと当日出社したらそれっぽい人が居て喋ったらインターン生だったって感じでした.
後から聞いた話ですが,どちらもかなり選考は厳しかったそうです.
MLがSWよりもわずかに多かったのですが,それは「優秀な人が多かったから」と仰っていました.
実際インターン生の自分から見ても皆優秀で,普段の雑談でもDeepやML全般の会話が不自由なく意思疎通を図れたので最高でした.

待遇

日給2万でした.
月収40万のL社やMS社,TD社よりも高かったです(今年は22営業日あったため,トータルで44万).
宿泊先は六本木に近い西麻布(セレブ街!!)で,可愛いお姉さん見ながらフェスやカンファレンスのTシャツを来て出勤するエモい日々を送っていました.

開発などの環境

最新版のMBP(i7,15inch, 16GB, 256GB)でキーボードの選択が可能でした.
「モニタ欲しい」ってワガママを言ったらモニタも普通に貰えました.
社員のエンジニアの人には任意のディスプレイを支給しているそうです.4Kのディスプレイで作業している人が多々いました.
椅子はオカムラの椅子で,腰痛持ちの自分もハッピーライフを送れました.
それからMBP以外にも,デカめのデータを扱う場合,オンメモリに乗らない規模感になるので,状況に応じて適宜GPUインスタンスやメモリ増し増しインスタンスを立ち上げて貰えました.

社員さんとの距離感

とても近い(物理的にも)です.
2 on 1や1 on 1の形で社員さんがメンターとしてサポートをしてくれました.
毎日必ず30分程度の打ち合わせを行い,その日に行った業務のフィードバックや方針決め,それから議論などを必ず毎日できる環境でした.
それ以外にも,手法や技術で詰まった時にslackで気軽にメンションが飛ばせることが大きいです.

インターンのタスクなど

インターン生が行なっていた業務のタスクは,順次メルカリのエンジニアブログに公開されるかと思います.(なのでこの場では触れません.)
それぞれのバックグラウンドが考慮されたようなタスクで,あらゆるデータを駆使して行っていました.
メルカリの機械学習の事例について,以下のスライドで発表されいてるものもありますので,参考にしていただけたらなと思います.

speakerdeck.com

真面目な話

成果と報酬について

インターンの初日にVP of Engineeringの方から「なんらかの形で爪痕を残していけ」という言葉を頂きました.
これはインターン期間中,常時心に刺さっていて,そのほかの方からも「成果を出してください」という言葉を定期的に頂いていました.
結果的に目に見える形で成果を残してインターンを終えたわけですが,このプレッシャーがあったからこそ良い物を作ったり,残したりすることができたのかなと考えています.
参加前に冗談で「使えない人材だとメルカリで売買される」と話していたんですが,能力が基準に満たない場合はインターン中に足切りをする可能性も本当にあったそうです.

会社としてGo BoldBe Professionalという考え方をとても尊重していて,「成果を出すための障害があるなら取り払う」「成果には適切な報酬で支払う」ということが徹底されていました.
実際の環境や距離感の項目からもそれは見て取れると思います.全ては成果を出すというところに注力されているのだなと,参加後にひしひしと感じます.

他の参加者について


ツイートでも言及した通り,本当に皆優秀でした.
(優秀な代わりにみんながあらゆるベクトルで尖っていて,SW組の人たちが引いていたのを覚えていますw)
ML組の成果発表がSW組よりも早くに終わったせいか,何故かVPEの人やPMなど偉い人たちの前で,僕がSW組のみなさんに対してオープニングトーク(要はエール)をさせられたのが面白くて笑ってました.

それから,これはトゲのある発言ですが,ML組の方がSW組よりもエンジニアリング力が高かったらダサいですし,SW組の方がML組よりもサイエンスを理解していたら恥ずかしいですよね.
このインターンではそういうギャップ感が全くなく,本当にお互いにリスペクトしあえる人たちで構成されていました.これは本当に良かったです.

一貫して学んだこととか

去年のリクルートテクノロジーズでのインターンで,
shopetan.hatenablog.com

  • 表面上のデータ分析しかできない人はクソ.
  • 人に理解や納得をしてもらうためには可視化しないとダメ.
  • 「やってみた」から抜けるためにはサービス特有の問題や原因を突き止めるところからやろう.
  • 常にアンテナを張り続けてないとおいていかれる.

という教訓を記述していたのですが,その教訓がこのインターンでも活きました.

感じたのは,「サイエンスか否か」というところで,行動に理由が必要という事でした.
仮説検証に始まり,データ設計,前処理からモデルの設計.
モデルの設計をしたら今度は手法の適切さの洗い出し.評価方法も考える.
何を優先して何を諦めるのか,その基準や閾値は一体なんなのか.
とにかくこれらすべてを1ヶ月徹底的に叩き込まれていました.
インターン開始数日で「君のやってることはサイエンスではない」と言われた事が今でもショックで覚えています.
結果的にその挫折感が成果につながったと思う事と,正しくサイエンスをしていれば,どんな鋭い質疑を浴びても論理的に説明ができるということを学びました.
これは就職する前に学べて良かったなと心から思います.

総じて

良い会社でした.
今後僕の関わってるタスクも本番環境に乗っかっていくはずなので楽しみにしていて下さい.
僕は今後とも長期インターンとしてMLの部門にアサインされる事が決まっており,9月1日も普通に出社してました.
来年度以降も開催されるかと思うので,優秀なメンバーと積極的に挑戦したい人は是非応募してみると良いかと思います.
今後ともよろしくお願いします.

f:id:shopetan:20170902233114j:plain