機械学習・人工知能エンジニア
機械学習、信号処理、自然言語処理等の技術を用いる研究者・エンジニア募集
チームラボ・チームラボエンジニアリング
チームラボのメンバーを紹介するインタビューです。チームラボの機械学習チームをマネジメントするメンバーに話を伺いました。
2012年、長野工業高等専門学校 電気情報システム専攻科卒業。 現在はチームラボの機械学習チーム データサイエンティストとして、大規模サイトのデータ分析や、レコメンデーションエンジン、AI Chat botなどの開発を担当。
■ チームラボの「機械学習チーム」とは?
長野高専の専攻科へ進学し合計7年間高専生として勉強していたのですが、専攻科1年の時に、同級生のすすめでチームラボのインターンシップに参加しました。インターンシップの冒頭で、役員の田村さんからいきなり課題の説明を受け、メールの署名を抽出するアルゴリズムの開発に1日で取り組みました。その後もブログの本文抽出やTwitterの横断検索といった課題が出されました。
課題を全てクリアした後は、空間演出エンジニアのチームで、チームラボボールに使う基板のはんだ付けなどを担当しました。その後ジクレポという「リクナビ」の中の自己診断コンテンツサービスの案件にアサインされ、ここで初めてWebアプリケーション開発に携わりました。 他にもアート展示の設営をお手伝いするなど、本当に様々な業務に関わる機会をいただきました。 インターンシップが終わる頃に、エンジニアのオープンポジションで内定をいただきました。インターンシップの時から気持ちは固まっていたので、就活はせず、卒業後そのままメンバーになりました。
一番最初にアサインされたのは東急ハンズ向けに開発したコレカモというサービスをFacebookアプリ化する案件です。コレカモは欲しいモノや、思いつきをTwitter上でつぶやくだけで、レコメンドボットの「コレカモさん」がおすすめ商品や在庫情報などを教えてくれるサービスです。僕が担当したのはAPIを利用してFacebook上に同キャラクターを登場させるアプリの開発でした。このことがきっかけで役員の田村さんから、Facebookアプリの専門家になるよう頼まれ、関連する案件にアサインしてもらえるようになりました。これが入って1年目のことです。
その後1~2年ほど、様々な新規案件の開発を担当し、それから現在所属している機械学習チームに加わることになりました。
機械学習チームはディープラーニング、信号処理、パターン認識、自然言語処理などの技術を用いて、様々な分野の問題を解決する研究者・エンジニアの集まりです。 Webシステムの構築から実空間でのアート作品展示まで幅広い案件を抱えるチームラボならではの多岐にわたる課題を、プロジェクトベースで解決していくのが機械学習チームの主な仕事です。
機械学習チームの面白さは、アカデミックな問題に挑戦できる機会が多いことです。
例えばマルイのネット通販サイト「マルイウェブチャネル」の案件では、商品数45万点以上、1,000を超えるブランドの衣料品を組み合わせ、ユーザーにコーディネートを提案するサービスのアーキテクチャ構築に取り組みました。コーディネートの提案はアパレル業界で定石ともいえる販売手法ですが、それをレコメンドシステムのロジックに落とし込むのはかなり高度な課題でした。 また東急リバブル 不動産検索サイトの案件で手がけたのは、間取り図を画像解析することにより、ユーザーが探している物件に類似した物件を、間取りベースでおすすめできるレコメンド機能を開発する、というものでした。
これらのプロジェクトで挑んだのは、世の中に普遍的に存在していた課題に疑問を呈し、最新の研究成果などを活用して解決手法を見つけ出すという挑戦でした。課題は困難であればあるほどエンジニアとしてやりがいを感じますし、こうした取り組みを仕事にできるのはとても楽しいです。
チームに入った当初はシステム導入の担当者という役割がメインでしたが、ここ数年は実装作業を担当するよりもプロジェクトを俯瞰して最適な仕様を考えたり、機械学習チームとしてチーム力を高めるためにはどうすべきかを考えるような役割へとシフトしてきています。
特に新卒エンジニアの育成・サポートに力を入れています。新卒のメンバーは実務経験が少ないだけで、ロジックやモデルの構築に関して、ずば抜けた能力を持っています。そのため、僕は彼らが入社してすぐに開発業務をお任せすることが多いですが、周りから懸念する声が上がることもあります。しかし、彼らは本当に優秀なメンバーばかりなので、僕としては全く心配しておらず、最初の案件こそ大変かもしれませんが、一度開発の経験さえ積んでしまえば既存のメンバーと遜色ないバリューを出せるメンバーへと成長してくれます。そういった新しく入ったメンバーの第一歩を後押しして、サポートしていくのが、現在の自分の役割だと認識しています。
僕がチームでできる役割は、チームメンバーのアウトプットに対する適切なフィードバックだと思っていますです。方針が間違っていないか、よりシステマチックにする方法はないか、ヒアリングを通して、メンバーがより力を発揮でき、より早く開発者として成長していけるようにサポートしていくスタンスを心がけています。
また、周りに優秀なメンバーが多いと、どうしても萎縮してコミュニケーションを取りづらくなってしまう方がいます。特にエンジニアは分からないことも自力で解決しようとすることが多いです。そのため後輩には、自分から話しかけたり、定例的にヒアリングをしたり、困っていることがないか確認しています。メンバーが個別に所有している知識を共有するために勉強会を定期的に開催し、チームでのナレッジ共有も意識しています。 他にも、業務時間外でも交流時間を作れるようにしています。
例えば、僕は2週間に1度、メンバーで集まりボードゲームをプレイする「ボドゲ部」を開催しています。もともと個人的にボードゲームが好きだったこともありますが、「ゲーム」という遊びは業務以外のコミュニケーションを取る場として最適なので、他のチームからも参加者を募って定期的に開催しています。業務ではあまり接点のないメンバーからも刺激を受けられる良い機会になっているので、これからもボドゲ部の輪を広げていこうと思っています。
僕はもともと開発が好きなので、実装者の立場になりたいと考えることもあります。しかし、自分の価値を最大化することにフォーカスするなら、進むべき方向は組織づくりや環境づくりだと今は思っています。チームラボには開発好きで優秀なエンジニアが多いので、マネジメント業務にも興味を持っている自分の性格を生かすべきだと考えています。
近年、チームラボのメンバー数が急速に増加しています。組織の規模が大きくなるということは、組織のあり方を問われる機会が多くなるということです。そのため、今後はメンバーの教育やチームラボ全体のマネジメントにコミットできるようになりたいと考えています。
技術に関する幅広い領域に関心がある方です。チームラボはスペシャリスト集団だと言われていますが、やはり尖った人たちの間を繋ぐ人材がいないと大きなプロジェクトは成功させられません。組織の規模が大きくなればなるほど、なんでもやる人の重要性は高まるので、ぜひ様々な業務に携わっていただきたいと考えています。
またスペシャリストを目指す方も、いきなり自分の専門領域を決めるのではなく、まずは幅広く業務を体験した方がいいと思います。そうしないと自分以外の専門家とチームを組んで開発するときに、お互いの技術を活かすような、ポジティブな議論ができないからです。 チームラボの開発環境で求められるスキルは流動的に変わっていくので、技術に関する興味と、やる気と、あとは気持ちのいいコミュニケーションを取れる、そういう人たちと一緒に働けると嬉しいと思っています。