Hacker#01

データから
関係性を見抜き
給与額を予測

サラリーチーム 森口博貴 2014年入社

2004年に東京大学に入学、2008年に理学部情報科学科を卒業後、同大学の大学院に進み情報理工学系研究科 コンピュータ科学専攻 博士過程を修了。2010年から1年間は、コーネル大学で機械学習を研究。博士過程修了後、カーネギーメロン大学でヒューマノイドロボットを研究するアメリカ国防省のプロジェクトに参加。2014年にIndeedに入社しカンパニーチームを経てサラリーチームへ。

※ チームやインタビュー内容は取材時のものです

今の仕事内容は?

“給与額”を予測する
アルゴリズムの開発

チーム名の「サラリー」というその名の通り、給与情報に関連した仕事です。日本では、求職情報から給与情報を約90%以上抽出することが可能ですが、アメリカでは15%しか抽出ができません。アメリカでは交渉により給与を決めるなどの理由から給与が非公開になっていることが多いためです。しかし、給与は仕事を探す上で大事な判断材料。私は、その給与額を予測するアルゴリズムを開発することで、求職者が希望の給与に合った求職情報を検索できるように手助けしています。給与額は、募集要項や勤務地、仕事内容、そして、会社名や雇用形態と深く関連しています。その関係性を見抜き、正確に予測する仕組みをつくっています。

開発をする時に難しいことは?

予測精度を上げても、
処理速度は下げないこと

予測そのものも難しいですが、それらを動かすためのバックエンドの開発が大変です。ユーザーには見えないのですが、ここが本当に難しくて。例えば、予測精度を上げれば上げる程、複雑な処理を行うことになります。それでも1件の求職情報を処理する時間は10ミリ秒以下に抑えなくてはいけない。1日86,400秒しかない中、何マイクロ秒を減らして、処理できる情報量を伸ばすことができるか。処理速度の速いコードを書くために、ふだんから情報収集を行い、扱うデータ構造の知識を深め、コードの品質をどこまでも高めなくてはいけません。

コードの品質を高めるためにしていることは?

お互いのコードを読みあい、
意見交換

社内にソースコードレビューシステムが導入されており、毎日のように使っています。書いたコードをリポジトリにコミットすると、自動的にレビューチケットが発行されるので、自分の仕事がすべて可視化されます。自分の仕事に程よい緊張感が出るため、個人的にはいい仕組みだと思いますね。メンバーからいろいろと指摘をもらうのですが、どれも的確で勉強になります。細かいところで、もっといい書き方があったなと気付かせてもらうことも多いです。その内容を見ていると、本当にレベルの高いエンジニアに囲まれているんだなと思うことが多く、恵まれた環境にいることを実感します。

最も達成感を感じたのはどんな時ですか。

求職者の役に立ったと
実感した時

求職者が、よりたくさんの仕事をクリックしてくれたり、そこからの応募率が上がった時ですね。リリースした機能はそのパフォーマンスをトラックしており、求職者がどのように使っているのかを分析していますが、応募率を10%改善できたことがあって。その時は本当に嬉しかったですね。数値的には少ない印象を受けるかもしれませんが、Indeedの場合、10%の改善は数千万人の求職者に効率的な求職活動をお手伝いできたことになります。私のいるオフィスは日本国内ですが、本国で開発されたものを日本市場に合うようにローカライズするのではなく、グローバル市場をターゲットに開発することが求められています。このスケール感がたまらなくいいですね。