Nchasoの作業ログ

ML / ソフトウェア エンジニアのブログ

Wantedly Inc.さんの夏季インターンに参加してきました

はじめに

初投稿になります。 8/3 - 8/21に行われた3週間のWantedly Inc.さんのサマーインターン機械学習コース)に参加してきました。

www.wantedly.com

志望動機と選考

* 志望動機

基本的には 機械学習をプロダクト開発に繋げるような経験をしたかった ことが主な志望理由でした。

また、以下のスライドを見て自分の研究分野とのマッチングを感じたことも志望理由の1つです。(学部生の時、言語の埋め込み表現に関する研究を行っていました。)

○○2vec 再考 - Speaker Deck

Improving "People You May Know" on Directed Social Graph - Speaker Deck

* 選考について

選考フローはアンケート選考→コーディング課題→面接→合否連絡でした。

アンケート選考はアンケートフォーム(志望理由、最近学んだ技術等)の記入に加えて、wantedly.comのプロフィールも評価対象でした。

コーディング課題は基本的なアルゴリズムが書ければ問題ないと思います。(ABCの灰〜茶diff程度)

面接では配属先チームとのマッチングを見ているような気がしました。 Wantedlyさんが何をやっているかを調べた上でその中で自分がどういったことに興味があるのかをしっかりと考えておくと良いと思います。

何をしたか

  • Wantedly peopleのつながりの推薦の改善

名刺管理アプリケーションであるWantedly people では、アプリ/サービスを通じて築かれた人間関係を「つながり」と総称しています。 この「つながり」を増やしたいというモチベーションの下、つながりの推薦モデルの改善に取り組みました。

people.wantedly.com

もう少し具体的には、推薦モデルの学習時の特徴量の1つとして扱っているgraph embeddingをより良い表現にすることについて 取り組みました。

初日にメンターの方と課題設定を行い、その後は課題を踏まえてデータ分析→実験・評価→議論を繰り返すような形でした。 論文を読んでいる時間もあったりと、想像していたよりも自分のチームは研究開発に近い業務を行っていたように感じます。

Google Cloud Platformインスタンス上で開発を行いました。 BigQuery を利用して、膨大な生データを扱いました。SQLをそこまで書いた経験がなかったので、想像以上に長いコードが多くて驚きました。

週1回開かれる、ML輪講と推薦・機械学習勉強会に毎週参加しました。

この勉強会ではWantedlyのデータ系エンジニアが集まり、発表したい人が適当に皆に知見を共有していく形でした。

テックブログやweb上の資料等からの知見だけではなく、しっかりと元論文を読んで発表してくださる方もいらっしゃったのが特に印象的でした。

外部からの参加も可能なので、参加してみたい方は Yuya Matsumura (@yu__ya4) | TwitterさんにDMを送ってみてください。以下のissueから過去の資料が確認できます。 github.com

  • Tech lunchやエンジニア交流会への参加

週1回開かれる、お昼ご飯時にWantedlyエンジニア全体で技術の知見を共有する「Tech lunch」や、 不定期に開かれる?、他の部署のエンジニアと交流する「エンジニア交流会」にも参加しました。

Tech lunchでは、社内エンジニアの方に開発に便利なツールの紹介や他の部署で利用されている技術の紹介等をしていただきました。

また、エンジニア交流会では普段関わらない部署のエンジニアの方々とお話をしました。

お昼を食べながらでも、社内の開発技術力や団結力?を向上させていく取り組みにとても感心しました。 もちろん強制させるものではなかったですし、楽しく参加させていただきました。

会社の特徴

  • Gitが整備されている

Wantedlyでは基本的に何かタスクを行う時、全て共通のレポジトリのissueに書き溜めているようでした。 エンジニア以外の方もissueを活用しているようでした。

ラベルで整理もされており、誰が何をやっているかや過去の知見がそこを見ればすぐわかるようになっていました。 インターン中も、インターンタスクのためにissueを作り、作業ログを書き溜めていきました。

また、マージしないような雑な実験コードすらもプルリクを作って、レビューしていただきました。

  • 何故やるのか?を超重視している

WantedlyではWHYをかなり重視しているようでした。

例えばインターンタスクに関して、当初結果を出して改善すればそれで良いと安直に考えていましたが、 メンターの方は結果も大事だが何故それをやる必要があるのか、本当にやる価値があることなのかを をデータから実証することをとても重要視していました。

他には毎日朝の全体MTGやチーム内でのMTGには全てしっかり目的が設定されていたり、 gitのissueのテンプレートにWHYとWHATをまず書くようになっていたりしたところも印象的でした。

  • オシャレ

オフィスがお洒落でした。 f:id:nchaso:20200823224031j:plain

そして、高級住宅地として有名な白金台にオフィスを構えており、近くにお洒落なレストランがたくさんあるようでした。 社員の方々に何回か連れていってもらいました。

f:id:nchaso:20200823223901j:plain

f:id:nchaso:20200823223837j:plain

f:id:nchaso:20200823223929j:plain

また、Wantedlyグッズをたくさんいただきました。Wantedlyのデザインチームは拘りが異様に強いそうです。 f:id:nchaso:20200823223648j:plain

まとめ

全体を通して、まさに就業型のインターンでした。 毎朝の全体ミーティングやメンターとの打ち合わせ、社員の方々とのご飯等、会社で働くってこんな感じなんだなとイメージを持つことができました。

また、美味しいご飯も食べられましたし、他のインターン生とのつながりもできました。とても楽しかったです。

このような状況の中、オンライン・オフラインを組み合わせてインターンを実施してくださったこと、本当に感謝です。 3週間ありがとうございました。

f:id:nchaso:20200823223807j:plain