サイバーエージェントを支える技術者たち

第7回“技術で難題に立ち向かうR&Dエンジニア”―新規開発局インキュベーションラボラトリー 服部司

最先端の知識を積極的に取り込み、競争において優位な状況を得るための活動は、企業において欠かすことができません。特に変化の激しいインターネットの世界で事業を展開する企業では、こうした研究開発は極めて重要です。

服部司氏
服部司氏

サイバーエージェントでは、この研究開発部門として「インキュベーションラボラトリー」を設置しています。今回は、このインキュベーションラボラトリーでR&Dエンジニアとして働く、服部 司氏にお話を伺いました。

社内のニーズに応える研究開発

―― 入社した当初から、R&Dエンジニアとして働かれていたのでしょうか。

「いえ、私が入社したときはこういった開発を行っているエンジニアはいなくて、私も短い期間ですがアプリケーションエンジニアとして働いていました。ただ入社した当初から、サービスを提供するための開発だけでなく、研究開発を行うポジションも必要じゃないかということを何度も日報で書き続けていたんです。そうしたらあるときCTO(Chief Technology Officer)に呼ばれて、研究開発部門ができるんだけどやりますかと聞かれたので、ぜひやりたいですと」

―― 新たに研究開発部門で開発に携わることになったとき、周囲の反応はいかがでしたか。

「最初は当然実績もないので、頼む側もどうしたらいいのかという感じです(笑⁠⁠。ただ私は新卒で入社していたので、同期のつながりに助けられました。昼休みに会えば困っていることを教えてもらったり、サービスで実現したいと思っているアイデアを聞いたりできましたから。そうして徐々に実績を積み重ね、現在は他部署からの依頼を受けたり、我々のほうから⁠こういうことができる⁠という逆提案をしたりして、新しいものを開発しています」

―― 実際に開発されたものの中で、成果が大きかったものを教えてください。

「スパムコメントの投稿を防ぐフィルタリング技術ですね。これにはいくつかの技術を組み合わせています。まず1つはどこでも使われている技術ですが、いわゆるブラックリスト系のフィルタリングです。IPアドレスやユーザID、コメントの中のURLなどでスパムかどうかを判定するというものになります。これが大きな軸になりますが、さらに自然言語処理や投稿時の行動分析、テンプレート的なコメントを排除するしくみなどを組み合わせています。あと、判定結果や投稿内容を随時調べ、その結果をもとにフィルタリングに使う学習データベースに対して自動的なフィードバックをかけるといったしくみも組み込んでいます。

ただ、いろいろとフィルタリング技術を組み合わせても、それをかいくぐって投稿されてしまうケースもあります。極端なことを言うと、フィルタリングに引っかかったら少し文面を変えて送るという作業を永遠に人手でやられると必ず突破されるんですよ(笑⁠⁠。そこで1つ考えているのが非同期での対応です。同期処理とは違った非同期ならではのロジックを用いて二重のフィルタリングをかけるという方向ですね」

―― 実際に実績を積み重ねたことで、インキュベーションラボラトリーへの期待は大きくなっているのではないでしょうか。

「そうですね。そもそもサイバーエージェントでは多種多様なサービスを運営しているので、需要が発生しやすいという背景もありますし、サービスの質を向上させる新しい手段として期待されている面もあります。

ただ現状の体制では需要に応えきれない部分もあり、今後は組織としての体制を強化するという話も出てきているので、これから研究開発のフローをしっかり組み立てたいと考えています」

研究開発というそれまでのサイバーエージェントにはなかったポジションで大きな成果を上げている服部氏ですが、その目はさらに先へと向けられているようです。

さて, サイバーエージェントではエンジニアに対して自由を認める一方、その選択に対しての責任も求めると言います。服部氏はどういった部分に自由と責任を感じるかなどを伺っていきます。

自身の研究成果は最後まで面倒を見る

―― サイバーエージェントでは自由と責任を大切にしていると伺っていますが、どういったときにそれを感じますか。

「研究開発で学術的な新しい技術に取り組むという場合、実際に使えるソースコードはないというケースが多々あります。そのため自分自身で論文などを読んでコードを書くという場合が多いのですが、そのコードが間違っていたら全部自分の責任というところですね。

特にサービスに組み込むシステムを開発することを前提にした場合、ほかのシステムと同様にメンテナンスできることが要求されますし、そこで何かが起きたら開発した人間の責任というのがついて回ります。会社によっては研究と開発を分け、責任を分担するということもあると思いますが、僕は最後まで面倒を見るべきだろうと考えています。

責任を分担しているとどうしても間にワンクッションを挟むことになります。何か起こったとき、まず開発が対応し、それでわからなければ研究開発をした人間に聞くということになるので、余計な時間がかかってしまうわけです。そのため、特にユーザに直接影響するような部分で先端的なしくみを採り入れるといった場面では、両方をわかっている人間が管理するべきだろうということですね。

ただこれは僕のスタンスなので、研究に没頭したいという人が来ればそういう場所を作るべきだろうと思います。個人のスタンスを大切にするというのがサイバーエージェントの社風なので、それは守っていきたいですね」

―― エンジニアとしてスキルアップするために、意識していることを教えてください。

「サイバーエージェントの中で伸びているエンジニアに共通しているのは、同じことだけを続けるスタイルに満足しないという意識を持っていることです。同僚のエンジニアは『1年ごとに絶対に違うことをやっていたい』と言っていて、実際に何かを作ってもそれを自分だけで抱え込むのではなく、ときにはほかのエンジニアに任せて自分は新しいものに挑戦するんです。

どうしてもこの業界は変化が激しく、常識が次々と変わっていくという世界なので、1年前と同じことをしているとマイナスになるという意識を持たなければ苦しいと思います。もちろん、実際に新しいことに取り組めるかどうかは周りの状況に左右されると思いますが、いずれにしてもそうした危機感を持って今後も研究に取り組んでいきたいと考えています」

それまでの社内にはなかったポジションに就き、成果を出すのは容易ではないでしょう。それを服部氏が実現した背景には、社内のニーズを見つけ出す視野の広さがあったからではないでしょうか。また、自社のニーズを意識して研究に取り組む姿勢も印象的でした。

今後、サイバーエージェントにおいてインキュベーションラボラトリーの組織が強化されるとのこと。それが「Ameba」のサービスにどういった変化をもたらすのか、要注目です。

サイバーエージェント公式エンジニアブログ
URL:http://ameblo.jp/principia-ca
エンジニアの生の声を週替わりでお届け中!

おすすめ記事

記事・ニュース一覧