LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog

「多くの人々にポジティブな影響を与える存在でありたい」フロントエンドのスペシャリスト鈴木僚太に、目指すエンジニア像を聞いた

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

今回登場するのは、LINE証券のフロントエンドエンジニアとして働く鈴木僚太。彼は業務においてチームのフロントエンド開発をリードするだけではなく、技術記事の執筆や技術イベントへの登壇、オープンソースへのコントリビューション、書籍の執筆など社外活動も積極的に行っています。 このインタビューでは鈴木の業務内容やフロントエンド領域に魅力を感じる理由、今後の目標などを聞きました。

フロントエンド領域に特化してキャリアを歩んできた

――鈴木さんのLINEでの業務内容や社外活動についてお話しください。

私は2019年4月に新卒でLINEに入社しまして、そこから現在までLINE証券のフロントエンド開発を担当しています。入社当初は小規模な機能の開発を担当していたんですが、だんだんチーム内でも技術力を認めてもらえるようになりまして、難易度の高い機能の実装やフロントエンドの全体的な設計、各種の技術的な意思決定などを任されるようになりました。

チーム全体の技術力を向上させるための活動を行っています。具体例としては、フロントエンド領域においてはパフォーマンス改善がとても重要ですが、LINE証券のフロントエンドを担当するチームでは、メンバー全員がパフォーマンスに対する意識を持てているとは言えないところがありました。

そこで、「自分がチームを引っ張って意識を高めていきたい」と思いまして、自主的にパフォーマンス改善を実施してPull Requestを発行したり、ノウハウをドキュメントにまとめたり、他のエンジニアにタスクを割り当てたりと、草の根的な活動を行ってきました。徐々に、チーム内にパフォーマンスの重要性が浸透してきたように思います。

――社外活動に関してはいかがでしょうか?

LINEに入社するよりも前から、技術記事をよく執筆しています。ちょうど就活が終わった時期から書きはじめたので、2018年末とかそれくらいですかね。技術記事の執筆を始めてから知名度が向上して、Twitterのフォロワー数も記事執筆開始前と現在を比べると5〜6倍くらいになりましたね。

ありがたいことに、記事の内容が良いという評判もいただくようになりました。この活動は、今の自分を築き上げる基礎になったところがあります。他には、技術イベントへの登壇やTypeScriptコンパイラへのコントリビューションなどもしています。

書籍の執筆も行っていて、2022年4月に『プロを目指す人のためのTypeScript入門』(技術評論社)という本を出版しました。これは、先ほど述べた技術記事の執筆がきっかけになっているんですよ。記事が出版社の編集者の目に留まって、雑誌『Software Design』(技術評論社)への寄稿をした後、書籍化が実現しました。

――書籍の執筆活動はかなり大変なイメージがあります。

そうですね。執筆にはトータルで2年くらいかかったので苦労しましたけど、すごく有意義な活動ができたなと思います。知識をアウトプットすることで自分の頭の中が整理されましたし、書籍を通じて世の中に貢献できたと思えています。

――鈴木さんは大学・大学院時代に、コンピューターサイエンスを学ばれていたと伺っています。その知見はLINEでのエンジニア業務にどのような形で活きていると思いますか?

2つほどありまして、まずは言語化が上達したことです。大学・大学院では、論文の書き方について指導教員から厳しい指導を受けます。論文を提出すると、よく真っ赤に朱入れされて返ってきました(笑)。その経験をしたことで、技術的な情報をアウトプットする能力が向上して、社内外のさまざまな活動に取り組む基礎力になりましたね。

もうひとつは、大学・大学院で修得した知識が、エンジニアとしての設計力や理解力の向上につながっていることです。私はコンピューターサイエンスの形式手法という領域を学び、プログラムを実行せずに問題を発見する静的解析についての研究も行っていました。その理論やノウハウが、現在でも仕事に役立っています。

より良いサービスと開発体制のために改善を続ける

――数あるLINEのサービスのなかで、LINE証券の開発に携わったからこそ身につけられたスキルはありますか?

「システムの品質を向上させること」に対する意識が高くなりました。LINE証券は金融領域を扱うので、LINEが提供するサービスのなかでも、特に高いサービスレベルが求められます。万が一サービスが止まると、関係各所に報告をしなければいけないですし、何よりユーザーの方々にご迷惑をかけますし大変なんですよ。

「サービスが止まる」と言うと、たとえばサーバーがエラーを返している事態などをイメージすると思いますが、フロントエンドで特定の操作をすると画面が真っ白になってしまう事態などが起こった場合にも、サービス利用不可という扱いになることがあります。

――不具合が発生した場合のリスクが非常に高いのですね。

だからこそ、不具合を減らすための仕組みや業務プロセスがLINE証券の開発では整備されていて、その環境に身を置いたことで学びがたくさんありました。

――鈴木さんが主導して、サービスの品質向上のために取り組んだプロジェクトが複数あると伺っています。

そうですね。いくつか例を挙げると、たとえばフロントエンドのモニタリングの仕組みを整備しました。LINE証券では、フロントエンドで発生したエラーイベントを収集するために、エラー監視ツールのSentryを用いているんですが、この情報をモニタリングに活用できていないという課題がありました。

その状況を改善するため、エラー情報をSentryからPrometheusへと送って、モニタリングに利用する仕組みを構築しました。もともと、サーバーサイドではPrometheusを用いたエラー検知の仕組みがあったので、同様の仕組みをフロントエンドでも導入したという流れです。

他にも、LINE証券のフロントエンドの型安全性を高めるための取り組みも実施しました。LINE証券ではもともと、歴史的経緯からTypeScriptのnoImplicitAnyコンパイラオプションが無効になっていました。フロントエンドに詳しい方はわかると思うんですが、このオプションが無効になっていると、TypeScriptの利点をフルに活かすことができません。

そこで私が主導して、noImplicitAnyコンパイラオプションを有効にするための取り組みを始めました。既存のコードすべてを一気に修正すると不具合発生のリスクが高まるので、時間をかけて少しずつ各ファイルを修正して、問題のあるコードがなくなった段階でオプションを有効にするという方針を選びました。

このプロジェクトではPull Requestが発行された際に、修正対象となったファイルのみを対象として、CIでnoImplicitAnyのチェックをするという施策を実施しています。詳細については「LINE DEVELOPER DAY 2020」の「LINE証券フロントエンドにおける型安全性への取り組み」というセッションで発表しました。

この修正方針が非常に効果的だったので、現在は同様の仕組みで、各ファイルに対するESLintのチェック強化も行っています。お話しした事例が典型的なんですが、私は仕事をするなかで「新しい仕組みや手法を導入して、その要素をチーム全体に波及させ、チームが改善したとき」に大きな達成感を覚えますね。

目標とする姿は“安楽椅子エンジニア”

――鈴木さんが、他の技術領域ではなくフロントエンド領域に強い魅力を感じるのはなぜでしょうか?

サービス改善のために幅広い技術領域にチャレンジできるのが、フロントエンド領域の魅力だと思っています。要するに、JavaScriptなどのコードを書くという作業はフロントエンドの1つの側面でしかなくて、「ユーザー体験を良くするための業務のすべて」が、フロントエンドエンジニアの担う領域なんです。

たとえば、BFF(Backends For Frontends)などは良い例ですよね。これは、フロントエンドのためにAPIを呼び出したり、HTMLを生成したりするサーバーのことですけど、こうした領域にもフロントエンドエンジニアは携わることがあるじゃないですか。これってまさに、ユーザー体験を良くするために、JavaScriptなどのコードを書く以外の業務にも手を伸ばした典型だと思っていて。

それから、最近ではCDNのエッジのノードでJavaScriptやWebAssemblyを動かすエッジコンピューティングという技術が、フロントエンドエンジニアの間で流行しています。こうした例のように、今後もユーザー体験を良くするためにたくさんの技術が登場してくると思いますし、それらの技術に対する好奇心を持って挑戦していきたいですね。

――フロントエンドエンジニアとして成長するために意識していることも伺いたいです。

各種の技術情報について調べたり、実際に触れてみたりといった活動は継続的に行っています。でも最近「技術的な知識を増やすだけでは、エンジニアとしての本質的な成長につながらないんじゃないか」という危機感があって。知識の横の裾野は広がっているものの、縦に伸びていないような状態になっているといいますか。物事の本質を理解する力を伸ばす必要があると感じています。

だから、最近は意識的に技術への向き合い方を変えているんですよ。要するに、新しい技術を調べた際に使い方や特徴を知って満足するのではなくて、「その技術は、世の中に対してどのような新しい価値を提供しているのか」といった部分まで、踏み込んで考えるように意識しています。私はよく「安楽椅子エンジニアになりたい」と他の方々に話すことがあります。これは自分の造語なんですけど。

――安楽椅子エンジニアとは何でしょうか?

安楽椅子探偵という言葉を知っていますか?来訪者や記事などから与えられた情報のみを頼りに、室内にいたままで事件を解決する探偵のことです。安楽椅子エンジニアはこれと同じです。つまり、たとえ実際に手を動かさなくても、各種の技術の本質を理解して適切な意思決定ができるエンジニアになることが、私にとっての成長だと思っています。

会社という枠を超えて、多くの人々に良い影響を与えるエンジニアになりたい

――鈴木さんの思う「LINEにいることで得られる価値」は何でしょうか?

一言で言うと、良い人たちと働けることに尽きますね。特に、私の上司でありLINE証券の開発を取りまとめているマネージャーの小橋弘和さんと働けることが、私にとって大きな価値だと感じています。

小橋さんのすごい点はいくつもありますが、特に「プロダクトを良くするために、開発組織が主体となって動けるような体制作り」をしてくれることが、本当にありがたいです。小橋さんがいることによって、開発組織のメンバーたちが各々の持ち味を発揮でき、働きやすい環境になっていると感じます。

でも、小橋さんが優秀であるが故に、現在は仕事が小橋さんに集中して、業務負荷が高い状態になっているのが課題だと思っているんですよね。小橋さんが忙しくなっているということは、裏を返せば自分自身が小橋さんの代わりを果たせていないということです。だからこそ、今後はコミュニケーションスキルなどエンジニアリング以外のスキルもさらに磨いて、自分が担える領域を広げていきたいです。

――最後に、今後のキャリアでエンジニアとして実現したいことを教えてください。

LINEという会社の枠を超えて、多くの人々に良い影響を与えられるエンジニアになりたいです。そのためには、個人として技術的な挑戦や情報発信をすることと、会社のなかで大きな成果を上げることの、両方が重要だと考えています。社内外の活動で成果を上げて、フロントエンドのエコシステム全体に良い影響を与えたい。世界を進化させられるようなエンジニアになれたら嬉しいですね。

LINEでは一緒に働くメンバーを募集しています

LINE株式会社では一緒に働くフロントエンドエンジニアを募集しています!今回のインタビューと関連する募集ポジションはこちらです、ご応募お待ちしております。