互いのスキルを高め合う壮絶な闘い
――お話しを聞いていて、RCOのアドテクノロジー部隊は、非常に高度なチームワークと、強い成果物への愛情(笑)があるチームなんだと感じました。今回、出席して下さっている方も多くは中途採用と伺いました。RCOの中途採用試験は独特な内容だということですが、どのようなものか教えてください。
上田:弊社のエンジニア採用は中途・新卒ともに、入り口でコーディング試験があります。過去に出題された具体的な問題としては、「インディアンポーカー」というゲームが行われている場面を想定し、「相手の思考を推理する過程をプログラムで表現せよ」というものや、数学的な問題を解くもの(下図参照)がありました。
このコーディング試験は、実際にRCOで働いているエンジニアが持ち回りで考えています。特にアドテクノロジーに携わるようになると、技術の知識よりも、より基礎的な「考える能力」を持っている人のほうが、うまく課題を解決できるだろうと思っていますので、あえて「正解」のない問題を出題しています。
中村:私が作ったコーディング問題も実際に採用されました。私が試験の時に解いた問題は面白かったのですが、探索に関する部分が多かったので、自分はデータ構造に関する問題を入れてバランスをとりたいなと思ってそれを作りました。
上田:入社1年目なのにね(笑)。
中村:上田さんが言っていた「基礎的な考える能力」については、知識だけでは「もう無理だろう」と思える限界のところで、さらに考えて、もっとすごい、次のレベルに「ジャンプ」できる力のことなのではないかと思っています。選考にあたっては、すべての問題に、想像できる範囲内で答えている人よりも、どれか1問だけでも、出題側が予想もしなかったような飛び抜けた解法を思いついた人のほうが残っている気がしますね。
――それぞれに専門分野を持ちつつ、基礎能力も高いメンバーが集まっているというのはすごいですね。仕事の中で、技術的にお互いを刺激し合う機会も多いのではないでしょうか。
中村:仕事以外の部分でも、結構そういう機会があるんですよ。例えば、先日は私が独断で企画した「ファミコン世代の爆弾で闘う某レトロゲーム」のAIバトル大会なども社内で開催して、これが結構盛り上がりました。
――あのレトロゲームですか?
中村:ええ。あのゲームで強いAIを作るというのは、かなり難度が高いんです。私がフィールドとなるシステムを作り、社内でインターンも入れて11人が競いながら「最強のAI」を作るというイベントになりました。自分の仕事が終わってから、夜中までかかってAIを作っていた人もいたようです。(笑)
丸山:そもそも、分析チームが一人ひとり、個別の案件を持っていて、普段あまり技術的な交流がなかったので、そうした機会を作ろうというところで、中村さんが実行したイベントでした。ひと言に「機械学習」といっても、いろんなモデルがあります。また、それぞれに時系列解析が得意だったり、自然言語処理が得意だったりと、強みとしている分野も違います。社内でこうしたイベントを行うことで、それぞれの考え方やスキルを共有し、全体のレベルを高めていこうという意図がありました。
上田:ゲームAIの企画は中村さんの独断で実行されたものでしたが、今後は社内で公式に「コードバトル」のようなイベントを開催していこうという企画も出てきています。もちろん、各自の仕事は仕事としてきちんとやる。それに加えて、遊びの要素も加えた技術的な交流を通じて、エンジニア同士が互いにスキルを高め合うということを、高いモチベーションでできる環境だと思います。
――どうもありがとうございました。
挑戦者求む!
リクルートコミュニケーションズ・アドテク部では、課題を自ら設定し、最先端の技術・難関テーマに挑戦し続ける方を募集しています。詳細は、以下のサイトをご参照ください。
RCOアドテク部エンジニア採用サイト
勉強会のお知らせ(4/15開催)
本稿でも触れた『ファミコン世代の爆弾で闘う某レトロゲーム』の最強AI開発で実際に作ったアルゴリズムなども紹介しちゃいます。ぜひ次のイベントページから奮ってご参加ください!
「RCOアドテク部主催★第2回勉強会は2本立て!【Go言語】『GopherCon India 2015』登壇者によるカンファレンスレポート【機械学習】『ファミコン世代の爆弾で闘う某レトロゲーム』の最強AI開発」