サーバーサイドエンジニア / Recommendation Delivery System (Smart Channel Backend)

求人概要 / Role and Responsibility
このポジションでは、Recommendation Delivery Systemの開発に携わっていただきます。

Smart Channelはトークリストの一番上に、ユーザーに、その瞬間もっともマッチするコンテンツを提供する、リアルタイムのレコメンドシステムです。

LINE内にある様々な情報や機能・サービスなどの更新情報などを一挙にあつかうので、大量のデータと、LINEのトラフィックを同時に扱いながら、もっともふさわしい情報を即座に返すことが要求されます。技術的な挑戦もたくさんありますし、LINEがユーザーに提供できる価値はまだまだあるはずです。

より便利に使っていただくために継続的にコンテンツ追加や、機能改善を行っていくため、開発者を募集しています。

現在注力している開発項目として
・よりリッチに情報を表示するための実装
・便利な情報をできるだけ早く届けるためのアーキテクチャ見直しを含む開発
・様々コンテンツの追加
などがあります。

■Smart Channel開発の魅力
・LINEの膨大なトラフィックに高速に応答するための技術的な工夫が検討できる
 ・データ量も多いので、分散処理も工夫が必要です
・日本だけでなく、タイや台湾でもサービス提供しているので様々な国のコンテンツを開発できる
・コンテンツのバリエーションも豊富で、新しい実装に挑戦しやすい

LINE 内の様々なデータを使って作成された、レコメンドコンテンツをLINEアプリに配送するシステムの開発に、サーバーサイドエンジニアとして関わっていただきます。

Smart Channelは LINEアプリにレコメンドコンテンツを表示するシステムです。
レコメンドは、LINEで開発されている色々なサービスで独自に作られていたり、別のレコメンドシステムで生成されています。

こういった色々なところで作られているレコメンドコンテンツを集めておいて、ユーザーがLINEアプリを開いたタイミングで、最適なコンテンツを選んで表示します。

■業務内容
業務としては大きく4つの工程に分かれています。
・レコメンドコンテンツを集めるための汎用AIP開発
・集めたレコメンドをリアルタイムに配送するエンジンの開発
・ユーザーからのフィードバックを集めるパイプラインの開発
・集めたフィードバックを学習する機能の開発

レコメンドのサービスなので、機械学習に関わるところが沢山ありますが、この機械学習の部分は別の部署の機械学習専門のエンジニアと協力して実装しています。
特別な機械学習の知識がなくてもサーバーサイド開発経験があれば、学習しながら実装できると思います。

■この仕事のやりがい
LINEという、普段から沢山のユーザーが使ってくださっているところに、コンテンツのレコメンドするので、自分たちのシステムが作ったものが目にみえるのが一番の楽しみです。

サーバーサイドのエンジニアとしては、コンテンツをリアルタイムにレコメンド処理を、LINEのトラフィックの最も多い場所に提供しているので、数万リクエスト/秒を処理する必要があり、工夫のしどころが沢山あります。大変なところもありますが、その分エンジニアとして得られる経験や知識も多く楽しいです。このあたりの工夫については下記のリンクのLINE Developer Day 2019で発表もしていますので、そちらもご参照ください。

まだまだ、システムは改善の余地があり、開発したい機能が沢山あります。
私達と一緒により良いレコメンドシステムを開発してみませんか?

■テクニカルスタック
・LINE規模のトラフィックに耐えられる OpenStack ベースの Private Cloud
・Java
・Spring Boot, MyBatis 3
・Redis, MySQL
・Jenkins

■所属するチームについて
開発チームは5名程度で、基本的にサーバーサイドのみで構成されたチームです。

人事上の組織は基本的に職能カットになっています。フロントエンドエンジニアはフロントエンドエンジニア組織、サーバサイドエンジニアはサーバーサイドエンジニア組織の中にいます。その中にそれぞれLINE公式アカウントに関わる室やチームが配置されていて、横断的に業務を進行します。

エンジニアは企画の早い段階からアサインされ、機能の詳細については一緒に考えていきます。エンジニアはプロダクトのことを考えて、主体的に関わっていくことができます。


■参考情報
開発4センター 参考情報一覧
https://linecorp.com/ja/career/lp/media/Dev4
応募資格 / Qualifications
【必須の経験・スキル】
・Webアプリケーションもしくはサーバー開発経験  3年以上
 (言語: Java/Kotlin/Scala 等)
・CS専攻、もしくはそれに準ずる実務経験
・Java、Kotlin、Scala のうちいずれか一つ以上の言語に対する力量および経験
・大規模システムあるいは分散システムの設計、分析、問題解決に対する専門性

【歓迎する経験・スキル】

・広告プラットフォーム開発経験(SSP/DSP)
・コンシューマ向けサービス関連開発経験
・大規模Webサービスの開発経験
・NoSQLを利用した大容量データ処理あるいは分散ストレージ開発経験
・nginx, Kafka, Redis, MySQLを利用した開発経験
・JVMの内部構造やGarbage collectionについての理解およびチューニング経験
・ネットワークに対する深い理解とモバイル環境に適合したClient-Server ProtocolやAPI(REST/RPC)の設計および開発経験
・非同期/Non-blocking IOを使用したシステムの設計/開発経験
・グローバルサービス運営および開発経験
・Jenkins/Drone/CircleCI 等を用いたCI・CDによる開発環境の自動化経験
・開発リーダーシップ経験

【歓迎する人物像】
・インターネットが好きで、その可能性を信じている方
・新しい知識、技術を貪欲に吸収する意欲のある方
・データを使ってサービス/ビジネス上の課題解決をしていきたい方
勤務地 / Location
四谷オフィス
〒160-0004 東京都新宿区四谷1-6-1四谷タワー23F
雇用形態 / Employment type
正社員
勤務時間 / Working hours
専門業務型裁量労働制(1日の労働時間に関わらず1日9.5時間労働したものとみなします。)、フレックスタイム制(コアタイム 11:00~16:00)、10:00~18:30(実働7時間30分)のいずれか適用 ※面接後に決定
待遇・福利厚生 / Benefits
■休日/休暇
・完全週休2日制(土・日)、祝日、年次有給休暇、年末年始休暇、慶弔休暇、リフレッシュ休暇制度(勤続5年で10日間)

■給与
・年俸制(保有されるスキル・経験・能力により優遇、相談の上で決定)
 ・年俸の12分の1を毎月支給。
 ・別途、インセンティブプラン有(※1)
・給与改定:年2回
・諸手当:交通費支給(会社規定による)、LINE Pay Card Benefit Plan(※2)

(※1)年俸額の他に、会社・本人の業績、評価に応じ、年2回インセンティブを支給することがあります。
(必ず支給されるものではありません。また、支給日に在籍している場合に限り支給対象となります。)
(※2)社員の「健康維持増進」「自己啓発」「次世代育成」を目的として給与とは別に支給する手当です。

■各種保険
・雇用保険、労災保険、健康保険、厚生年金保険

■福利厚生
・定期健康診断
・各種社内イベント他

■受動喫煙防止措置の実施
・屋内原則禁煙(屋内に喫煙室あり)
 ・四谷オフィス、南新宿オフィス、大崎オフィス

※当社はオフィス勤務と在宅勤務を組み合わせた、より効率的に高いパフォーマンスを発揮し続ける新しい働き方「LINE Hybrid Working Style」を採用しています。
https://linecorp.com/ja/pr/news/ja/2021/3912

その他詳細は面談の際にお伝えします。
選考フロー / Interview Process
■選考プロセス(1-1.5ヶ月を想定)
書類選考→課題選考→面接2-3回→バックグラウンドチェック→オファー
※課題選考・面接はオンラインにて実施します。