Interview/

Kim Changhee

ーー自己紹介をお願いします
2018年の5月に入社して、LINEのフロントエンド開発センターの中にある一つのチームのマネージャーをしています。私のチームは、主にLINE公式アカウント関連の管理画面やサーベイのほか、ウォレットタブも一部担当しています。私はフロントエンド開発の品質管理や標準化を行うチームも兼務していて、社内でフロンドエンドエンジニアが使うツールや、Vue.jsなどのフレームワークと独自開発したUIフレームワーク「koromo」を組み合わせてコンポーネントライブラリ化した「koromo-vue」、「koromo-element」というプロダクトも開発しています。
ーーフロントエンドエンジニアの組織や役割を教えて下さい。
フロントエンドエンジニアは各事業にいる場合もありますが、基本的にはフロントエンド開発センターというセントラルな組織に属して、いろんなサービスを担当している状況です。センターの下には、担当サービスや東京・京都・福岡など働いている拠点ごとの開発チームと、先ほど述べた品質管理や標準化を行うチームがあります。合計すると、日本にはだいたい50名くらいフロントエンドのエンジニアがいますね。

他に海外のオフィスにも組織やメンバーがいます。基本的にサービス単位で分担しているので海外のチームと一緒に開発することは少ないですが、私が担当しているLINE公式アカウントは規模の大きなプロダクトなので、管理画面まわりは日本とベトナムの開発チームが一緒に、チャット機能は韓国のチームが開発しています。1年に一度は各国からフロントエンドエンジニアを集めてワークショップを開催したり、拠点を跨いだ活動・交流もしています。
ーー具体的な業務内容を教えてください。
私はマネージャーですが、実際にコードを書く業務もしていて、割合でいうと6:4くらいでコードを書く業務が多いでしょうか。フロントエンドエンジニアの業務内容を一言で表すと、ユーザーが目にするすべての画面を様々なWeb技術を駆使して作ることです。

一つの画面や機能ができるまでは、まず企画担当者がユーザーや事業のニーズに合わせたベースとなる企画を立て、私たちフロントエンドやサーバーサイドのエンジニアとの議論・レビューを経て一つの企画が決まります。企画段階で開発部門が参加するかどうかは企業によって違うと思います。開発着手の時点で要件が完全に決まっていて、技術側からの意見が反映されにくい場合もあると思いますが、LINEではそういったことはなく、企画を完成させる過程の一つとして開発担当者からもどんどんツッコミを入れています。

その後、開発スケジュールやアサインするメンバーを決めますが、企画規模や対象デバイス、優先度などを考慮して協議して決めています。使用する技術の選定もその際に行いますが、ユーザーにより良い体験を提供できるようモダンな技術を選びつつ、スケジュールに余裕がある場合は新しい技術を学習して積極的に取り入れたりもします。様々なスキルや背景を持ったメンバーが、それぞれ強みを活かし最大限のパフォーマンスを発揮できる業務を担当するようにしています。

開発が始まると、タスクを細かく分割してお互いの書いたコードをレビューしながら進めていきます。Web技術を使った開発なので基本的にはPCのWebブラウザで一通りの開発を行うことができますが、LINEではスマートフォンを中心としたモバイルアプリケーションを開発することが多いため、手元に常に検証用のスマートフォンを置いて実際に操作した際の感触も確かめています。

私たちの仕事は、ユーザーが目にして操作してもらう部分を作ることなので、開発者それぞれがユーザーの立場に立ち、使いにくいと感じたものは企画の担当者に伝えて仕様を変更したり、改善の余地があるものに関しても積極的に提案を行うようにしています。
一つの機能が完成したらそれで終わりではなく、開発時には気づかなかった課題やたくさんの意見や指摘をユーザーからいただきます、その改善を行うことも開発の延長線にあります。新たに開発を始めるときと同様、企画やサーバーサイドエンジニアと議論を行い、解決策を検討して改善していきます。

フロントエンドエンジニアはユーザーに最も近い位置で開発を行っているので、ユーザーの意見も代弁して課題を解決する重要な役割を担うべきだと考えています。時にはネイティブアプリやデータのエンジニアにも力を借りて、様々な職種をまたいだコミュニケーションが必要になるのが、LINEのフロントエンドエンジニアの仕事です。

そうしたコミュニケーションではお互いのことを尊重して話を進めるようにしています。普段からコミュニケーションして信頼関係を保っているとベストですね。一見、開発の質とは関係なく思えるかもしれませんが、やはり対面で話をして理解を深めるのは大事だなと感じています。業務上のやりとりはオンラインで行われることが多いですが、1度でも会って話をしたことがある方が、壁がなくなって気を遣う部分は少なくなりますね。そのような普段の関係づくりは、ある課題にぶつかったときに、みんなで議論してより早く解決策を導くときに非常に役に立ちます。
ーー今そして今後の課題ははなんでしょう?
繰り返しですが、フロントエンドエンジニアはユーザーが操作する画面の部分作ることがメインの仕事です。ただ最近は私たちが主言語として使うJavaScriptの発展のおかげで活躍できる場がどんどん広がっています。今はBFF(Backend For Frontends)と言って、今までサーバーサイドエンジニアの領域だった部分を一部フロントエンドが担う試みが進んでいたり、PC・スマートフォンの性能の向上に伴って以前はWebブラウザでできなかったことが、今はできるようになっている。たとえばVRや機械学習といった分野です。

また、JavaScript界隈はOSSに関わる活動が非常に活発に行われていて、誰もが自らのアイデアをモジュール化し配布をしています。優れたOSSがフロントエンドの生態系をガラッと変えたことも多々ありました。言い換えると、フロントエンドの世界は技術の入れ替わりや発展のスピードが非常に早い。今使っている技術が1年後にはメンテナンス中止になることもありえます。

変化の激しい中でフロントエンドエンジニアに求められるスキルの幅は広がりつつも、とある技術がすぐに第一線でなくなる可能性も存在します。その中で、常に自らのスキルを向上させ変化を追うことも課題ですが、生き残るであろう技術を見極めて効率よく身につけていくことはフロントエンドエンジニアならではの課題だと思います。

そんな中、LINEは影響力のあるサービスをたくさん作る立場として、新しい技術の取り入れ方やそれに対する考え方、チャレンジを世の中に知ってもらい、フロントエンド界隈に広めていきたいと思っています。
ーーフロントエンドエンジニアに必要な素養やスキル、志向性などはありますか?
基本的に目に見えるものをつくるのが仕事なので、まずはものづくりが好きな方。工作とかでもいいんですけど、目に見える部分を作ることに関心があること。デザインをやっていた人も良いと思います。極端な話、フロントエンドって1ミリでもずれてるとダメで、ユーザー観点で完成度を高められる人が向いています。あとはコミュニーケーションを嫌がる人は厳しいです。他のエンジニアや企画者とも密接に関わりますし、チームで良いものをつくるためにも、コミュニケーションは積極的に取らないといけません。一人や一つの部門だけで完結する開発はほとんどないと言っても過言ではありません。コミュニケーションも技術もちゃんとできて、周りに良い影響を与えられるかどうかは、私が面接に出る際に特に見る点でもあります。

学生のうちにやっておいた方が良いこととしては、自分のアイディアを形にする実経験だと思います。簡単なポートフォリオサイトでもブログでも良いと思います。最初から完璧なものが作れることはないですし完成度の問題ではないです。形にするための必須技術を学ぶことが大事。LINEの文化としても、完璧なものを最初からつくるのではなく、とりあえず作ってみてそこから改善していくことが多いです。自分が作ったものをいろんな端末で触ってみて気づくこともありますしね。
ーーLINEでフロントエンドエンジニアとして働くやりがいは何でしょうか。
個人的にフロントエンドのおもしろいところは、担当したサービスの画面を自分が作ったと言いやすいことです。バックエンドの開発者もユーザーに使ってもらえる喜びはあると思いますが、より多くの人に気づいてもらえる、見てもらえる喜びはあると思います。あとは、自分も一人のユーザーとしてサービスを使っていきながら、改善していけることですかね。
LINEだからこそという部分を挙げると、まずはユーザーの多さ。ご存知の通りLINEや関連サービスにはたくさんのユーザーがいます。小さく感じる部分でも多くの人に触れられているという刺激はあります。

また、PCよりモバイルやスマホに特化している会社だけあって、その環境に集中できること。さらにサービスの数がこんなにたくさんある会社は、日本で数えられるほどしかないと思います。コンシューマー向けサービスもビジネス向けソリューションも扱っています。色々なサービスに携われる機会があることは、良い環境だと思います。

周りにはレベルの高い技術の会話ができるエンジニアしかいないです。勉強会や海外カンファレンスで最近出た技術の話を共有したりしています。フロントエンドの勉強会も週1回やっていて、技術を自分だけでクローズする人はあまりいないです。何かつくるときは他のサービスが参考になるので、みんな積極的にオープンにしていますし、そういったことからも学べる環境ですね。
ーー最後に学生の皆さんにメッセージを。
LINEはたくさんのサービスとそのユーザーを抱え、毎日の課題解決に取り組んでいます。そのなかでユーザーに最も近い視点からみんなと議論し、解決までもっていくプロセスはフロントエンドエンジニアだからこそ経験できる魅力だと思います。技術面での変化が激しい領域ではありますが、新しい技術を身につけることが好きな方や、とにかくものづくりをしてたくさんのユーザーに使ってもらいたい方。そしてその完成度に徹底的にこだわりたいと思う方にはどんどん活躍していただきたいと思っておりますので、ぜひチャレンジしてください。