LINE Corporation 於2023年10月1日成爲 LY Corporation。LY Corporation 的新部落格在這裏。LY Corporation Tech Blog

送信取消機能やリアクション機能、LINEの新しいコミュニケーション機能を開発したエンジニア。VincentがLINEで目指すもの

LINEで働くエンジニアに色々と話を聞いていく「LINE Engineer Insights」。LINEの技術組織で働く個々人に、何を重視して技術者としてのキャリアを歩んでいるのか、今LINEで何に取り組んでいるのか、今後実現していきたいことなどを聞いていきます。

今回登場するのは、N Partチームで働くPericart Vincent(ペリカ・ヴァンサン)。N Partチームはコミュニケーションアプリ「LINE」のサーバーサイドの開発を担当する「LINE Platform Developmentセンター1」の中の1部門です。「LINE」のメッセージ関連の機能開発やプラットフォームのアーキテクチャ改善などを担っています。

これまでVincentは、ユーザーから多くの反響があったLINEアプリ内に新しいコミュニケーションの形を提供する送信取消機能やリアクション機能などを開発に携わってきました。そんな彼に、エンジニアとして大切にしていることや今後の目標を聞きました。

LINEは自分の希望する条件にマッチする職場だった

──Vincentさんのこれまでの経歴について教えてください。

私は2007年にフランスの大学を卒業して3年間働いた後に、日本人の妻と結婚したことをきっかけとして2010年に日本に移住しました。日本では2社のIT企業でエンジニアとして働いた後、2015年にLINEに転職しました。

──LINEを選んだ理由は何でしょうか?

まず、私はビッグデータに携わりたいと考えていたため、扱っているサービスの規模が大きいLINEの環境が魅力的だったこと。そして、前職まではフルスタックエンジニアとして働いてきたのですが、フロントエンド領域を今後も学び続けることよりも、バックエンド領域に集中しようと考えたこと。LINEはそれを実現できる環境でした。

それから、当時私はそれほど日本語を流暢に話せるわけではないので、社内でメンバーと英語でコミュニケーションを取れること。LINEでは多国籍のメンバーが働いているため、チャットやドキュメントなどでは英語が用いられるケースが多いです。これら全ての条件が、私の希望にマッチしていました。

──入社してから現在まで、どのような業務を担当してきましたか?

入社後、まずはHBase関連の開発・運用を担っている、Z PartチームのHBase Unitに配属されました。仕事は非常に楽しく、やりがいも大きかったのですが、2018年ごろから徐々にチームを移りたいと思うようになりました。HBase Unitのプロジェクトは長期にわたるものが多いのですが、私はもっと開発スパンが短くて、担当した機能の成果がすぐにわかるプロジェクトに携わるほうが好きだと感じていました。

そう考えていたある日、現在所属するN Partチームの前身となる組織が「日本拠点で機能開発できるエンジニアが少ないため、誰か参画してほしい」という旨の募集を出していました。このチームならば、私が希望するスタイルのプロダクト開発に携われるのではないかと思い、手を挙げて異動しました。

──N Partチームは何の機能を担当していますか?

コミュニケーションアプリ「LINE」のサーバーサイドの開発のうち、メッセージ関連の機能を主に担当しています。それ以外にも「LINE」のホームタブで使用される機能や、ユーザーの位置情報を収集して広告配信などに用いるロケーションプラットフォーム機能、ソーシャルグラフ機能などを扱います。私はこのチームでロケーションプラットフォームとソーシャルグラフ改善プロジェクトの両方のリーダーを担当しています。

送信取消やリアクションなど重要な機能を担当

──これまでN Partチームでさまざまなプロジェクトに携わってこられたと思いますが、特に思い出深いものはありますか?

最も印象的なのは送信取消機能を開発したことですね。プロジェクトの開始時、サーバーサイドのエンジニアは私ひとりだけでした。企画担当者やクライアントアプリのエンジニア、そしてインフラチームと連携しながらプロジェクトを推進しました。

──設計・実装においてどのような部分が大変でしたか?

もともと、「LINE」のメッセージングストレージはImmutableな設計になっていました。つまり、送信後にメッセージを書き換えたり、消したりという処理を想定していないアーキテクチャでした。そこに送信取消機能を差し込むことになり、処理内容を工夫して実現する必要がありました。

難易度の高いプロジェクトでしたが、最終的には自分が納得できる、可用性・信頼性と一貫性のバランスを取った設計ができました。そして、リリース後にユーザーから多くの反響があったため、すごく印象に残っています。

──確かに送信取消機能はリリース当時に非常に話題になりましたね。他に担当された機能で、印象に残るものはありますか?

最近担当したものであれば、特定のメッセージに絵文字で感情を伝えるリアクション機能ですかね。

──こちらもユーザーからの反応が大きかった機能ですね。リアクション機能の開発ではどのような部分を工夫しましたか?

リアクションは新規追加した機能であるため、既存の設計内容を修正する必要はありませんでした。苦心したのは「リアクションの情報をユーザーのメッセージとして扱うか、そうでないか」などの方針を決めることです。

どういうことかと言うと、リアクション内容がユーザーのメッセージ相当のデータとして扱うか、一般のAPIコールとして扱うかという議論もありました。今後のビジネス展開を検討した拡張性を考慮して、既存のメッセージングとは独立して設計をした。そのため、設計や実装の作業そのものよりも、各部署と連携をとりながらリアクションのデータのどのように扱うかを決める工程が大変でした。

──多くのユーザーが注目する機能を担当するのは、プロジェクトを推進する大変さもあるでしょうが、やりがいも大きそうです。

そうですね。ユーザーからの反響があると本当に嬉しいです。機能がリリースされる日には、TwitterでLINEに関する投稿をずっと検索して、ユーザーがどんなコメントをしてくれているのか反応を見ていますよ(笑)。

LINEにはエンジニアを尊重する文化がある

──Vincentさんは2015年から現在まで長くLINEで働き続けていますが、LINEのどのようなところを気に入っていますか?

LINEにはエンジニアを尊重する文化があり、その雰囲気が長年変わっていないことが良いなと思っています。例えば世の中には、エンジニアが誰かの企画した機能をひたすら作っているのみで、エンジニア自身の意見が機能に反映されない企業もあります。

ですがLINEではエンジニアが何らかの機能を提案した場合や、企画担当者が必ずその意見を拾ってくれます。それに、「もともとこの機能の開発は予定していなかったけれど、○○という理由で組み込んだほうがいいと思う」とエンジニアが述べた場合に、その意見を受け入れてもらえるケースも多いです。

また、ある程度の規模の企業になるとエンジニア出身ではないマネジメント専門職の人が開発組織のトップに立つケースも多いですが、LINEは開発組織のマネージャーやCTOがエンジニア出身ですし、エンジニアの評価はエンジニア出身の上長や役員がつけています。そうした点にも、エンジニアを非常に尊重してくれる文化が感じられ、とても気に入っています。

──Vincentさんがエンジニアとして大切にしていることはありますか?

仕事において大切にしている信念はエンジニアごとに違いますが、私の場合は「ユーザーの役に立ちたい」と常に思っています。これは「LINE」のアプリを使う一般ユーザーだけではなく、社内にいるシステムの関係者・利用者も含まれます。

例えば、他のチームから問い合わせがあった場合には、なるべく半日以内に回答するようにしています。何かに困っているからこそ、その相手は問い合わせをしているわけですから、なるべく早く解決してあげたい。自分の担当するシステムと関わる人々にとってプラスになるような行動を、今後もとり続けたいです。

──Vincentさんのエンジニアリングの特徴として、特定領域を専門的に深く突き詰めるのではなく、幅広い領域を見ていることが多いと伺いました。これはなぜでしょうか?

LINEに入社してから強く感じたのは、特定領域のスペシャリストたちが極めて優秀であり、私自身が彼らと同じレベルで深い知識を身につけるのは難しいということでした。ならば、私の場合はこれまでのキャリアでフルスタックに幅広い領域を担ってきたため、そのスキルを生かしたエンジニアとして歩むべきだと考えました。今後も好奇心を持って、さまざまな技術領域を学んでいきたいです。

仕事と家庭のバランスをとりながらエンジニアとして成長したい

──LINEの業務で今後チャレンジしたいことはありますか?

もともと、自分はあまりマネージャー職に向いていないと思っています。しかし、徐々にチームを取りまとめる役割も求められるようになっていますし、自分のスキルの幅も広げたいので、少しずつマネジメントスキルも身につけたいと思っています。これまで私は重要な機能の開発に携わってきたのですが、そうした開発経験はエンジニアとしての財産になるので、他のメンバーたちにも経験してもらえるように働きかけたいです。

それから、Platform Experience Unitといったチームを作ろうとしています。このUnitは複数のチームで共通的に求められる機能の開発をしたり、ユーザーからの問い合わせの対応といったバックオフィス業務のサポートをするためのエンジニアリングを担ったりと、幅広い業務領域に対応するイメージです。

LINE社内には特定の技術領域を専門で扱うUnitはありますが、こうした性質のUnitは珍しいです。自分は「幅広い技術領域を扱いたい」とか「何よりもユーザーの役に立ちたい」というマインドが強いです。だからこそ、私が取り組む意義があると思っています。

──確かにVincentさんのエンジニアとしての考えがよく表れている目標ですね。では最後に、Vincentさんの個人的な目標について教えてください。

先ほど述べたようなことをエンジニアとしては大切にしつつ、仕事と家庭のバランスをとりながら生活していきたいです。自分にとっては、エンジニアとして働く時間も家族と過ごす時間も、どちらも大切なものですから。

私たちのチームでは、一緒に働くメンバーを募集しています。

少しでもこれらの取り組みに興味があれば、気軽にお声がけください。

サーバーサイドエンジニア / LINE Platform