インターンの前田です。
3/2〜3/27 の期間、RCO でインターンをさせていただきました。
この記事ではインターン中に体験したことや待遇、選考などについて書いていきます。
また、期間中に行った業務やその結果についてもできる限り記載します。
インターンシップの選考は「エントリーシート → Web テスト → オンライン面接 → 実地面接」の流れで行われました。選考内容について詳しく書くことはできませんが、実地面接については交通費が出ます。
去年インターンをしていた池田さんのブログや競技プログラミングのコンテストなどで RCO には興味を持っていたので、そのことを伝えたところ RCO に配属していただくことができました。
また、インターンが決まった時点では 2 月の受け入れ予定だったのですが、僕が卒論で都合が合わず 3 月への変更を希望したところすんなり通りました。
時給は 2000 円です。また、通勤にかかる交通費も支給されます。
遠方から参加する場合は往復交通費と何回分かの帰省にかかる交通費の支給があり、泊まる場所もマンスリーマンションを用意してもらえます。
社員さんと同じく基本的に自由です。
インターン生は基本的にリモート勤務が許可されていないようですが、今回は COVID-19 のこともあり許可されていました。(自分は遠方からの参加で作業環境が整っていなかったためあまり多用しませんでしたが……)
基本的には 11 時から 13 時の間に出社して 7 時間ほど勤務していました。
インターン生はお昼ご飯に連れて行ってもらえます。期間中のある程度のお昼ご飯代は会社から出ることになっています。
この制度のおかげで社内のいろいろな方からお話を伺うことができました。
自分の場合は 3 人のメンターさんがついてくれました。一人はマネージャーの方でインターン全体のことや業務内容のことについて相談することができます。また、実際に毎日業務を行う中で気軽に質問することができる技術メンターさん二人 (sugim さん、japlj さん) がついてくれました。
僕は 1 ヶ月間で
という流れで作業を進めたのですが、全ての段階でメンターさんに大量の質問を投げつけました。
メンターさん二人もそれに快く応えて下さり、そのおかげで素早くキャッチアップを済ませて実装方針を定めることができたと思っています。
インターンシップでは実際に現場で動いている広告配信システムの開発に参加しました。
広告配信システムと言ってもいろいろあるのですが、今回僕が関わったのは DSP (Demand-Side Platform) といって、広告枠のオークションに対していい感じに入札をするシステムです。言語は Scala を使いました。
広告には一定期間ごとの予算が決まっているのですが、今回はその予算をうまく使い切るための取り組みとして、そもそも入札される機会が少ない広告を優先して入札する機能を実装しました。
DSP が入札する時には、まず広告の候補を数個程度に絞ってから最終的に入札する広告を一つ決めるのですが、そもそも候補を絞る段階で弾かれる可能性が高い広告があると考えられます。
そこで、「広告が入札の候補に選ばれた回数」のような値を数えてみます。これを入札機会と呼ぶことにします。
そのままカウントすると古い情報が残り続けてしまうので、今回は古い情報になるほど指数的に減衰するような重みをつけてカウントしました。
今までは広告ごとにいい感じに計算したスコアを元に入札する広告の選択をしていたのですが、カウントした入札機会の値も考慮して広告を選択してみます。
今回は、入札機会が閾値より低い広告が候補に挙がってきた場合はその広告を優先的に選ぶような実装をしました。
実装した機能について A/B テストを走らせました。
今回実装した機能の効果として確認したいのは
の二点です。
曜日の影響などがあるため実際に効果を確かめるには最低でも一週間は A/B テストを走らせる必要がありますが、今回は 1 つめの効果がそれなりに実現できていることを 24 時間ぶんのデータで確かめてみました。
以下がそのグラフです。
これを見る限りでは実装したことがちゃんと動いていそうです。やったね。
もっと長い期間走らせた結果もある程度教えてもらえるとのことなので、楽しみにしています。
すごく楽しい一ヶ月間でした。
COVID-19 で世間がばたばたしている中、様々なケアをしていただきながら受け入れてくださってとても感謝しています。
また、大学にいる間や卒業後にやりたいことについて考える機会も得られました。
皆さんも興味があればぜひ応募してみてください。
リクルートではエンジニア/データスペシャリストのアルバイトを募集しています。