大学院で身についたスキルのうち、はてなでの仕事で役に立ったもの

※この記事は、はてなディレクターアドベントカレンダーの8日目です。昨日は広告・アドテク関連の開発ディレクター id:minemuracoffee の「ビバ!ディレクター!」でした。

私は現在、株式会社はてなでWebアプリケーションエンジニアとして働いています。はてなIDはid:yanbeです。2011年4月に入社したので、6年目です。最近はエンジニアとして主に広告・アドテク関連の仕事をすることが多いですが、過去にはディレクター職を拝命していたこともありました。その関係で、このアドベントカレンダーに参加しています。社内のグループウェアの人事異動のログによると、担当する領域が途中で変わったりしながらも、2013年の後半から2015年の前半ぐらいまではディレクターとして働いていたようです。

はてなのディレクターやディレクター経験者の中には、いろいろなバックグラウンドを持った者がいます。その中での私の特徴は、比較的・研究畑出身のディレクターだったことです。なので、それを踏まえた内容を書こうと思います。

はてな入社まで

2004年の末ごろ、私は地元である宮城県の大学で、情報系の学科の3年生であり、卒業研究の大まかな分野を考え始める時期にありました。当時インターネット上では、“Next big thingはウェブ検索である”と言われて久しく、グーグルの日本法人はその立ち上げ期にありました。先にグーグル日本法人に入社したエンジニアの方々のつてで、当時の関連分野の大学院生が続々とリクルーティングされている状況で、またそういった方々は個人で技術ブログを書いたりしてきたのをよく読んでいて、検索は興味深い分野だと感じていました。

一方で、当時の私の卒業研究の指導教官に、これを話したところ、

「汎用の情報検索アルゴリズムや、ランキングアルゴリズムなどは、だいたいもう一通り出尽くしてて、あとは企業がいかにそれを応用していくかだけで、応用から興味をもつのは良いけど、今から大学の研究として参入するのは、なかなか厳しいんじゃない?」

といった反応でした。私は、生まれてくるのが少し遅かったか、と残念に思いました。実際のところ、この分野は1990年代に盛んに研究されたものの、2005年前後には一通りの研究成果をまとめた専門書がいくつか出版されていた時期で、少なくともアカデミックな研究シーンにおいては、この時期にはちょっとした停滞期にあったと思います。なので、今振り返ると妥当な判断だったように思います。

そんな中、2005年2月に、はてなブックマークのベータ版がリリースされ、程なくタグ機能もつきました。海外のインターネット見ると、FlickrやDeliciousといった先行サービスはすでにありましたが、それが日本語の、普段我々が目にするウェブを対象にできるようになったということで、これは私の中では結構なニュースでした。いわゆるソーシャルタギングの「エンドユーザーが各々の視点でコンテンツをタグ付けした結果が、ほかのエンドユーザーが情報を探すのに役に立つ」という仕組みは、いまでこそ珍しくない仕組みではありますが、当時インターネット上では画期的なものと見られていました。私は、将来的には人々は、ウェブ検索エンジンを補完するものとして、ソーシャルタグを軸にコンテンツを探すようになるだろうと考えていました。

この時期は、私が学部3年生から4年生になろうという時期、つまり就職活動シーズンでもあったのですが、ソーシャルブックマーク魅力に取りつかれた私は、就職活動はまったく放ったらかして、大学の附属図書館に籠もり、関連する情報系の学会の論文誌などを手探りで読み、研究を始めることにしました。その後、学部の卒業研究では物足りる気がしなかったので、研究環境が整っていて、関心のある研究分野に近い内容を扱っている研究室がある京都の大学院に、進学することにしました(この辺のことは過去にはてなダイアリーで書きました)。

その後は、指導教官と研究環境にも恵まれ、大学院ではウェブマイニング、とくにソーシャルブックマークのデータを扱った、ウェブマイニングに関する研究にずっと取り組んでいました。大学院での研究は、順調なときも、停滞していたときもありましたが、研究テーマは変えませんでした。修士課程のときに一度進路に迷って人力検索はてなで人生相談をしたりしました。また当時はインターネット上で、「博士(はくし)が100にんいるむら」という怪文書も出回っていて、恐ろしかったのを思い出します。しかし、このような怪文書に惑わされるのはまったく科学的な態度ではないなど、いろいろと考えた結果、えいやっと博士課程に進学し、合計で5年ほど研究していました。幸い、進学後も環境には恵まれ、落ち着いて研究する環境を享受しつつも、5年間の間に、民間研究所でのインターン、企業との共同研究、海外の大学での共同研究など、色々と見聞きする機会をいただきました。

そして博士課程後の進路、つまり就職先を考える時期になり、民間企業の研究所か、もっとインターネットサービスの開発に近いところに応募するか、それなりに迷いました。迷いながら就職活動をする中で、やはりユーザーに近い領域で、データを大量に持っているところが、今後は面白くなっていくだろうな、と考えました。2010年頃のことです。

そして就職先を考えたとき、ずっと研究で扱ってきた、はてなブックマークを運営している、株式会社はてななら、私が研究してきたこともある程度は活かせるのではないかと、とくにインターンもアルバイトも経由せずにダメ元で新卒として応募したら、縁があって内定をいただいたという感じです。あとから聞いたら、当時私が、研究していた内容を当時のはてなブックマーク開発チームとしてもウォッチしていただいていたようです。

2010年当時のはてなの人材採用は、中途採用が支配的であり、学生に関してはインターンシップかアルバイトを経由するのが普通であり、それらもなしに新卒で入社した例はまだなかったそうなのですが、とくに名刺代わりになるようなウェブサービスのプロダクトもなく(自作のQRコードのデコーダーはあった)、よく内定をいただけたなというのが正直な感想でした。今振り返ると、はてなブックマークというサービスを立ち上げて、数年開発し、一通り必要な機能は出揃い、一段落したあとの開発の方向性として、長年蓄積したデータを活用したより高度な機能を、という企画的な需要があって、私はその需要にうまくはまったのかな、と思っています。

ただ、他に民間企業の研究所なども候補にあった中で、進路をはてなに決めた一番の決め手というのは、オフィスを見学したり、採用面接でのやりとりだったり、そもそもインターネット上で当時スタッフだった方々がブログを書いていたりしたのを常日頃、目にしていて、皆、自分の専門分野に自信を持っていて、ここで働くのは楽しそうだなと思ったからです。自分の専門分野を活かせるかどうかは、個々のスタッフの裁量が大きめであるはてななら、本人次第という側面が大きいし、そもそもカルチャーフィットというか、自分にとって水に合うというのが、結局は一番大事だと思ったので。

はてな入社後

エンジニアとして役に立ったスキル

2011年に、はてなに入社してみると、当時は正社員が40人ほど、アルバイトが10人ぐらいの規模になっていました。今でこそ、はてなには業務で活かせる研究的なバックグラウンドをもったエンジニア社員は何人もいますが、当時の社員で研究畑といえるのは、当時CTOだったid:stanakaさんと私ぐらいだったと記憶しています。私は比較的・応用よりの研究をおこなっていたのもあり、実サービスに導入して役立てしやすい分野で、通常業務+αのスケジュール感の中で、可能であれば研究的な知見を組み込んでいく、という役回りも担当するエンジニアとして落ち着きました。

なお、企業によっては研究開発部門と実際のサービスを運営する事業部が別部門になっていて、その間の研究成果などの橋渡しが課題になる例を、私が大学院に所属していた当時は見聞きしていました。はてなの、とくに研究開発部門を分けず、一つの開発チームの中にいろんなバックグラウンドを持ったエンジニアがいて、メンバーによっては必要に応じて研究論文を参照しつつ、サービスの開発や改善をおこなうという体制は、これはこれでメリットも多いなと感じています。

さて、スパム判定システム(スパムフィルタ)は、データマイニングの中でもちょっとしたジャンルと言って良さそうなほど、過去より研究されている分野です。比較的、実サービスへの組み込みもしやすい分野でもあるため、入社して2ヶ月程経ち、Webアプリケーションエンジニアとして多少は仕事に慣れてから取り組んだのは、はてなブックマークのスパム判定エンジンの刷新でした。当時、はてなブックマークには、長年のサービス運営の経験則からチューニングされた、ルールベースのスパム判定エンジンがすでに存在しており、長くうまく動いていましたが、スパム目的のユーザーに機械的に突破されてしまうこともあり、一般ユーザーの皆さんにご迷惑をおかけすることが度々ある状態でした。

そこで、ルールベースのスパム判定エンジンから、過去のスパム判定データと、複数の指標を用いた、機械学習によるチューニングをおこなって突破されにくいエンジンに差し替えました。はてなにはサポート部という部署があり、その業務の中で、スパム判定システムで取り除ききれなかったスパムを、必要に応じて取り除く、というものがあります。つまりサポート部の皆さんは、過去の典型的なスパム事例や、スパムユーザーの傾向を、エンジニアである私よりもよほど詳しく把握していることになります。今風に言うとサービスのスパム被害に関するドメインエキスパートということになります。そこで、いろいろなスパム事例をヒアリングすることで、可能な範囲でスパム判定指標としてプロダクトに落とし込みつつ、実験しながら精度を高めるといったことをおこなっていきました。後日、同様の手法で、青少年にふさわしくない(典型的にはアダルトな内容の)ページをトップページなどから省くエンジンの刷新でも行いました。大学院での研究と違って、実際のサービス運用でこういうドメイン知識を持ったプロと緊密な連携をおこなうことでより特化したスパム判定システムができるのが、サービス運営が面白いところです。

この数年後には、このとき開発した判定エンジンをさらに改良/発展させることで、BrandSafe はてなという、DSP向けのアドテクノロジープロダクトが生まれています。

入社して翌年の2012年は、はてなブックマークの内部で使われている検索バックエンドの刷新を担当しました。私の大学院での直接的な研究テーマは、 “ソーシャルブックマークのユーザーのアクティビティをウェブ検索で活用し、それによって今までは不可能だった新しいタイプの検索を可能にする”、というものだったので、この研究の知見を生かせる、非常に楽しいタスクでした。

一方ではてなブックマークでは、当時はてなと以前より親交があったPreferred Infrastructure さんが開発した、Sedueという検索ミドルウェアを数年、利用していました。しかしながら、はてなブックマークに長年蓄積したデータを、より柔軟に活用したいという企画的な需要があり、私はこれをSolrというオープンソースの検索ミドルウェアに置き換えました。その約1年後に、検索インデックスをはてなブックマーク特有のデータ構造をより直接的に反映したものにすることで、更にユーザーのタグ付け情報などを活用出来るようにし、はてなブックマークが元々持っている価値あるデータをより企画的に柔軟に活用できるよう、Elasticsearchという検索ミドルウェアに置き換えるということをおこないました。

検索ミドルウェアの置き換えは、サービスの安定運用という立場からするとなかなかリスクが高いタスクです。実際、切り替えのタイミングでサービスに障害を起こしてしまったりもして、当時は反省しましたが、しかしながら長い目で見るとメリットもありました。

はてなブックマークの検索バックエンドの刷新は、当初はユーザー向けに公開されている検索機能を改善する目的でおこなったのですが、一方で、はてなブックマークには、インターネット全体から興味深いコンテンツをすくい上げるサービスという側面があります。これを直接的に利用できるはてなブックマークの検索バックエンドでは、ユーザーが直接的に目にすることはない、内部的な管理画面や、それに対応しているAPI群での活用が進んでいます。

具体的には、長年のはてなを使ってもらっていたのとは異なるコミュニティに向けてチャレンジしてたスマートフォンアプリである、B!KUMAガールズやそのウェブ版であるB!KUMAのキュレーションエンジン、最近まではてなで公開していたPressoというニュースアプリのキュレーションエンジンに、はてなのコンテンツのSmartNews向けのキュレーション、はてなブックマークの各カテゴリをより深掘りして色々な話題を見ることが出来る「特集」機能など、広範囲で利用されています。

当時、検索バックエンドが安定して稼働するようになるまで、システムプラットフォーム部の皆さんにはかなり苦労をかけてしまい、申し訳なかったという気持ちが今でも強いですが、最終的に使い出がある内部サブシステムができてよかったなと感じています。

2013年の前半には、はてなブックマークの人気エントリーのランキングロジックの改善を担当しました。既存のロジックは、はてなブックマークが2015年の最初のリリースから8年ほどの長きに渡って基本的には上手く動いてきていた、シンプルであるけどよく出来たロジックでした。しかしながら最初のリリース後、インターネットの状況も変わってきていて、新しいコンテンツが消費されるスピードも変わり、ちょっとした調整では補えないほどのほころびが出てきていました。具体的には、一番目に表示されたエントリーが週末をまたいでずっと居座ってしまう問題などがありました。

一般的なソーシャルニュースサービスの記事のランキングアルゴリズムは、運営元によって公開されているものも、アカデミックな研究レベルで提案されているものも、いろいろとあります。しかしながらこれが鉄板というものはなく、結局のところサービスの性質、サイトの構造、関連サービス(B!KUMAガールズなど)や、スマートフォンアプリのユーザー動向などに応じて、適切なランキングロジックは変わってきます。そのため、サービス全体として働いている力学を把握した上で、上手くバランスを取る必要があります。

また、人気エントリーのロジックとユーザーのブックマーク行動との間には、相互に影響し合う構造があるので、過去に担当したスパムフィルタや検索バックエンドの改善とは勝手が違いました。リリース前に過去のデータで実験したとしても、それがリリース後に本当に上手く動くのか確かめることが難しい、繊細なものです。人気エントリーは、はてなブックマークらしい新奇で興味深いエントリーが早いタイミングで拾われつつも、それが長時間、上位に居座りすぎないものになっている必要があり、かつ平日と週末、日中と夜中といった異なる状況下でもうまく動く必要があります。そこで、ロジックを調整した後で人気エントリーの実際に上がってくるエントリーの滞留時間や、人気エントリーページのPV、各エントリーのクリック数などのデータを記録して、その結果を元に再調整するなど、慎重に実験をしながら進めていきました。

人気エントリーは、はてなブックマークの価値の根幹となる要素の一つなので、楽しくも責任の重い仕事でしたが、結果的にまずまず上手く動くものに出来たのではないかと思います。

ディレクターになってから

このあたりを前後して、紆余曲折があり、私はエンジニアからディレクターに職種が変わることになりました。ディレクターに求められるべきスキルというのは、業種や分野によっても違い、論争の種になりそうなので、ここではとくに議論しませんが、ひとまず私はここで「研究畑とエンジニアのバックグラウンドをもつディレクター」ということになりました。私がディレクターをやっていた期間はそんなに長くはなく、冒頭で述べた通り、2013年の後半から2015年の前半までの約1年半ほどでした。ディレクターでいる間は、

  • BrandSafe はてなの各社DSPへの導入するにあたっての、技術協力企業との連携や、導入先企業との連携といった対外的な仕事
  • はてなのアカウントシステムまわりの機能改善やセキュリティ強化といった、はてなの各サービスに共通部分に関わる仕事
  • はてなの既存サービスのうち、開発されてから年月が経って運用モードになったものの運用の仕事

といった、いろいろな領域の仕事を担当しました。今振り返っても、エンジニアとしてのバックグラウンドが生きるディレクターの仕事だったなと感じます。一方で、私のディレクターとしての仕事には自分のバックグラウンドに起因する、強みと弱みがあったなと感じています。

強みとしては、

  • 様々なタスクがエンジニアリング的に可能かどうか、どのぐらい大変かの予想が自分でもつきやすいので、他のエンジニアとコミュニケーションがとりやすい
  • エンジニアリング的に要件が複雑で難度が高い案件にもうまく対応しやすい
  • 本人に比較的堪え性があるので、困難な状況でもストレスを感じにくい
  • 社内の他の部署との連携や、社外の提携先企業のエンジニアの方との連携が、スムーズに行われることが多い

弱みとしては、

  • 個々のタスクから一歩引いた、企画的な全体的な計画や、長期的な計画に対する見通しが弱くなりやすい
  • 本人に比較的堪え性があるので、チームの仕事の進め方を根本的に変える必要があるような状況になったときに、後手に回りがち
  • 本人が、誰に頼まれなくてもその分野で博士課程まで進学してしまうような性質であるためか、仕事に対するモチベーションに関して困ったことがあまりないため、直接的にサービス開発の現場を見るマネージャーとして、チームメンバーのモチベーション管理が手薄になりがち

というものでした。

そもそもディレクターというのは、一見マネージャー職のようでいて、専門職的な要素も多くあり、別な職種だった人間がいきなり担当するにはなかなか難しい仕事だなというのが、当時実際にディレクターやってみての正直な感想です。そもそもソフトウェア開発・サービス開発のディレクションという仕事自体が、まだ確立される途上にあって、試行錯誤されているように思います。

はてなにおけるディレクターは、大きく分けて、担当するサービスの性質(はてなユーザー向けのプロダクトか、企業向けプロダクトか、提携先企業のユーザー向けプロダクトか)と開発フェーズ(立ち上げ期か、リリースされて長いが積極的に開発されているか、あるいはとくに大きな開発計画がない長期運用モードか)によって、求められる役回りが違います。ディレクター担当者の入社前や入社後の経験によっても、上手く対応できる領域は変わってくるため、過去の経験がうまくはまったり、逆に苦労したりする性質もあり、本当にケースバイケースな職種だなと感じます。

異なる職種からディレクターになった人は、そのバックグラウンドとなる職種に応じた、それぞれある程度共通する強みと弱みがありそうに思います。そういう状況を受けてか、はてな社内ではここ1〜2年ぐらいで新任ディレクターを対象にした、経験あるディレクターによるメンタリングの制度が整備されてきていて、良い状況になってきたと感じます。

ディレクターのときに役に立った大学院のスキル

私にはエンジニアだった期間とその後ディレクターだった期間、そしてまたエンジニアに戻った期間があります。エンジニアである間は、大学院で研究していた分野や、その周辺の分野、具体的には情報検索やスパムフィルタのベースとなる機械学習アルゴリズムなどといった、特定の研究分野の知見が役に立つと感じたことが多くありました。一方で、ディレクターとしての仕事で役に立ったのは、大学院での研究を支える周辺的・前提的なスキルが多かったです。

英語

情報系の大学院の入学試験で修士課程のうちから、英語で書かれた研究論文を何十篇も読んだり、出来上がった研究成果を(準備期間はするにしても)20〜30分で英語でプレゼンテーションするというスキルは要求されましたが、これが業務でも結構役に立ちました。

業種や担当分野によると思いますが、Webアプリケーションエンジニアや、エンジニア出身のディレクターで、英語を使うシチュエーションは色々とあり、仕事をしていて以下のような役回りが求められることがあります。

  • 英語の技術的な資料を読んで理解し、利用する
  • 英語でメールでやりとりして相手の指摘を理解しつつ、こちらの要求を通す(AppStoreなどのレビューや、英語圏の企業とのアライアンス締結のエンジニアリング部分の担当など)
  • (準備した上で、発音などはさておき)英語で20~30分スライドを用いたプレゼンテーションする
  • 技術的な会合の懇親会で、海外からのゲストに英語でこちらの意思を伝え、相手の話も聞いて理解しながらディスカッションする

英語に関しては、リーディングスキル重視の英語教育を受けた人が多い日本人にとっては、下の項目になるほど一般的にハードルが高いと思います。博士課程まで出てるとなると、英語を使う仕事に関しては、積極的にやりたいかどうか、どのぐらい上手く出来るかどうかはさておき、上記のようなことを一通りは出来ないと格好がつかないなということもあり、上手いか下手かはさておき、いずれも業務で依頼されて担当する機会がありました。

専門分野でのコミュニケーション

私が所属していた研究室では、デスクに向かって一人で研究に取り組む時間が長い一方で、二週間から1ヶ月に一回、プレゼンテーション形式での進捗報告が求められていました。もともと私はプレゼンはうまい方ではなかったのですが、何年も定期的にそういう機会が与えられるうちに、徐々にプレゼンの形ができあがっていったように思います。

また、大学院の博士課程からは、私は日本学術振興会の特別研究員だったので、1年に1回、研究の成果や研究の経過を報告する、報告書を求められていました。これは、この1年間で出た客観的な研究成果や発表などの活動を自己アピールしつつ、さらに来年度への研究成果の展望を文書で記載するものなのですが、これは会社で一般的に行う人事評価の自己評価で求められる内容とかなり似ています。なので、人事評価の自己評価欄で書くことがなくて困ったということは、あまりありません。

こらえ性

大学院での研究では、うまくいくかどうかわからない、成果が出るかどうかリスクのある研究テーマにも挑戦することがあります。博士課程ならなおさらで、半年とか、ひどいと1年近く大きな成果が出ないこともあります。そういった厳しい状況でも投げ出さずに研究を続けるか、別の道を探るか検討する必要に迫られることがあるのですが、これは仕事にも通じる部分があります。ディレクターとしては困難な状況でもどうにか冷静に判断を下さないといけない局面があり、そういうときに役立ちました。

ただしこれは、大学院で得られたスキルというよりは、それ自体はただの生存バイアスであり、それ以前から元々持っていた性質という意味合いが強いかもしれません。

まとめ

先述のとおり、大学院の博士課程にいた当時、はてなに進路を決めるにあたっては、大学院での経験については “まあ実際はあんまり役に立たなくても、楽しそうだからいいか!”と考えて就職しました。それから5年と少し経ち、大学院に所属していた期間よりもはてなに所属している期間のほうが長くなったいま振り返って見ると、大学院での経験は意外と役に立っていて、お得だったな、と思っています。ただ、これ自体も心理的なバイアスかもしれませんが。

そして、これはタイミングや運が重なった、おそらくかなり幸運な個別のケースであって、一般化は出来ないなとも思います。これを見た学生の皆さんが博士課程に進学することは、自分からはとくにおすすめはしませんし、大学院も分野によって状況はいろいろだと思います。しかしながら、修士課程から博士課程への進学を検討している学生に対して、インターネット上では「博士(はくし)が100にんいるむら」という怪文書が圧倒的な存在感を放っていた当時よりは、マシな世の中になっているといいな、と思います。

明日は、はてなディレクターアドベントカレンダー9日目、id:matsu_naoが担当です。

Show your support

Clapping shows how much you appreciated yanbe’s story.