LINE上での安全なコミュニケーションを守るLMPの運用を通して、エンジニアリングの難しさと面白さを実感

氏名:Baekさん

入社日:2015915

インタビュー:202322

サーバーサイドエンジニア 

LINEから立ち上げ期のLINE Growth Technologyに合流

キャリアのスタートは韓国で、Web企画者として仕事をしていたのですが、その会社でエンジニアの方々と関わるうちに、開発の仕事も楽しそうだなと思うようになって。コンピュータやプログラミングには元々親しんでいたこともあり、エンジニアとしてのキャリアを本格的に考えるようになりました。

来日してからはエンジニアとしてECサイトや画像会議システムの開発などにあたり、LINEに入社する直前はソーシャルネットワークゲームの開発をしていました。「面白そうなことは何でもトライしよう」と考え、いろいろな業種や業態を経験してきましたね。

LINE Growth Technology(以下、GT)にジョインする前に、親会社であるLINEに在籍していました。ベンチャー企業が好きだったことや、知り合いが何人かいたこともあり、仕事がしやすそうだと感じてLINEに入社しましたね。LINEでは採用システムの運用や改善・開発をしていました

その後、子供が生まれてからは育児休業に入っていたのですが、育休が明けるタイミングとGTの設立タイミングが近く、会社の立ち上げや人材育成に携われるチャンスもありそう、面白い!と感じてGTに転籍しました。

LINE上での安心・安全なコミュニケーションを守るプラットフォーム「LMP」

現在担当しているのはLINEの様々なサービスで使われている「LINE Monitoring Platform」(以下、LMP)というプラットフォームです

これは不正なユーザーからの不適切な投稿をモニタリングするためのシステムで、元々は別のチームで開発・運用されていたものですが、GT で引き継ぐことになり、それ以来私たちが開発・運用を担当しています。 

LMPが具体的にどのようなものかというと、LINEの各サービスでアップロードされた投稿やオープンチャット上のメッセージなどのコンテンツを適切にモニタリングするためのシステムです。性的なコンテンツや、犯罪行為にあたる投稿、さらに問題のある広告掲載が行われていないか……。いわゆる規約違反と判断される投稿を中心に、各サービス上で問題のある内容の可能性があると検知されたもののみ、LMP上の自動判定やオペレーターの目を通して判断し、各々のサービスが対応を判断できるような情報を返していくという仕組みです

サービスごとに同じようなモニタリングツールを作るとコストもかかりますから、LMPに集約して請け負うような形をとっています。モニタリングの基準はサービスによって異なることもありますし、LINEのようにグローバルに展開しているアプリケーションでは、国ごとに異なることも。テキストやイメージ、音声・動画など膨大なコンテンツを有するLINEでは、モニタリング業務というのは非常に重要なシステムになってますね。

別チームから引き継いでの運用。膨大なデータの処理にも対応できるツールに

LMP自体は今から8年ほど前、2015年頃にはリリースされていたもので、そこから各サービスの要望に応じて新規機能の付け足しをくり返してきており、大きなシステムでありながら情報が整理されていない状態になってしまっていました。新機能の開発に追われてきたという背景から、SRE寄りの改善領域については後回しになりがちだった事実もあり、OSSやシステムUI、インフラ……など、あらゆるものがレガシー化していて。

もちろん新機能の開発も各サービスにとって不可欠なものなので、今ではバランスよく開発を進めるために開発ラインを「保守」「新規開発」「イシュー対応」の3つに分けて対応しています。担当エンジニアはあわせて6~7名ほどですね。 

元々開発を担当していたチームからLMPを引き継いだ直後は、開発のドキュメンテーションも少なく、何かトラブルや新たな改善要望がくるたびにソースコードを見ながら進めていく“リバースエンジニアリング”的な側面が強かったですね。ソースコードから仕様を推測していく……という通常の逆の方法をとらざるをえなかったので、例えばソースコードから推測した仕様と、実際の業務フローが食い違っていることもありました。でもそれがなぜそうなっているのかをさらに読み取っていかないと、予想外のところでデグレーションを起こしてしまうことも。大変な作業で、技術力が試される場面でもありましたね(笑)。

現在ではある程度までシステムが安定化してきて、「最近はバグも減って、オペレーターの方のパフォーマンスがよくなった」、という評価の声も聞くようになってきて。これはGTのいいところだなと思うのですが、自分たちが開発や改善をしたシステムを使っている人の声がすぐそこで聞こえるというのは、やはりやりがいや達成感につながりやすいですね。それから、LINEという多くの大規模サービスを運営する上でのモニタリングとなると、一日に処理するトラフィックも膨大なものになります。これまでにもゲーム業界など比較的トラフィックの多い現場は経験してきましたが、それでもやはり多くて(笑)。1日に約3600万件前後の処理が走るシステムの開発経験は、貴重かなと思います。

また、LMPは常時動いているプラットフォームなので、メンテナンスを行う際にも停止することはできません。データのストレージ移行や不要となったデータの削除作業なども慎重に行う必要がありますし、一方で大量のデータを扱うので、テスト通りに動作しないこともあります。そういった事態を想定しながら運用していくのは、毎回緊張感がありますね。

多様なサービスを通していろいろなエンジニアリングを経験できる=成長できるのがGTの魅力

私はチームのマネージャーも担当していますが、他のマネージャーも含め組織全体でメンバーの開発者としてのキャリアや成長という点に着目しながらプロジェクトを進めている印象ですね。例えばメンバーごとにメンターをつけて成長を促せるような制度を設けたり、後輩のキャリアを一緒に考えるような社風もあると感じます。それからアサイン時にも、「DevOpsが好き」「システムインテグレーションが好き」といったメンバーごとの志向や関心をもとに、より成長できそうなタスクにアサインするように心がけているマネージャーが多いと思います。GTはLINEの持っているいろいろなサービスと関わるので、そのときそのメンバーに適した場とマッチングできるように考えているんです。

私自身のこれからのキャリアについて話すと、LINEの成長を横で見ながら楽しめる場所にいるのはとても貴重だなと感じていて。今やりとりしているのが韓国の企画チームだということもあって日本以外にも目を向けるチャンスが多いですし、LMP以外にもグローバルなサービスや、そのサービスをつくる組織づくりにチャレンジするのも面白いなと思っています。とはいえ、エンジニアリングもやっぱり楽しいので、開発で手を動かすことも続けていきたいですけどね(笑)。 

私が思う「GTに向いている人」は、能動的な人。それから柔軟性のある人ですね。自分が開発していくものなので、「どうすればよいですか」と最初から指示を求めるよりも、自分で考えて、悩んで、ときには人と相談しながら進めていける、オーナーシップをもって取り組める人が良いですね。それから、自分の可能性を狭めずに「やってみよう」と思える柔軟性のある人。エンジニアリングにもいろいろな領域がありますし、GTは関わるサービスが多彩なので、いろいろなチャンスが転がっているはずです。面白そう、やってみようと思える人には刺激的な場所になると思いますよ。