社員インタビュー

開発

世の中にインパクトを与えるサービス開発

LINE Fukuokaでは、コミュニケーションアプリ「LINE」や「LINE」のプラットフォームを活用したファミリーアプリ(LINE STOREやLINE Creators Market、LINEバイトなど)の開発を行っています。今回はLINEのカスタムスタンプや、クリエイターズスタンプが使い放題になるLINEスタンプ プレミアムのAndroid開発を担当した李性賢(dave)にエンジニアとしての取り組みや面白みを聞きました。

自社サービス×福岡という街

これまでのキャリアを教えてください

私は韓国出身で、大学卒業後はサーバーサイドエンジニアとして韓国のIT企業でJavaを使った開発を行っていました。学生の頃には、顔認識で居眠り運転を防止するアプリや、自分自身の日本語習得のための日本語学習アプリを作ったりしていました。その頃に経験したAndroid開発の楽しさを忘れられず、Androidエンジニアとしてのキャリアを築くために、LINE Fukuokaに入社しました。

入社したきっかけを教えてください

一言でいえば、もともと好きな街だった福岡という場所にLINEがあったからです。私のキャリアチェンジの軸は“直接ユーザーにサービスを提供している会社”。1人でアプリをリリースした経験はありますが、なかなか1人では世の中へインパクトを与えるサービスを開発するのは難しいと感じたので、優秀なエンジニアが在籍しているLINEで一緒に作りたいと思いました。もともと私もLINEのユーザーであり、メッセンジャーなどのサービス開発をしていることへの憧れもあったので、とてもいい機会でした。
また、以前に旅行で福岡に来た時に、大濠公園やこの街の雰囲気が好きだなと感じたことも、かなり大きなポイントです。今もよく公園のカフェやベンチでプログラミングをしたり、読書をして過ごしています。あとは、選考の過程で勉強会やカンファレンスの参加、ハッカソンなど成長できる機会が多くあることを聞き、面白そうな環境だと感じたことも入社を決めた要因です。

ユーザーに新たなWOWを届ける

業務内容を教えてください

LINE Shop(LINEのスタンプショップ、着せかえショップ、LINE STOREの仕組みを指す社内通称)のAndroid開発を担当しています。LINE Shopはメッセンジャーなどコア機能とも密接に連携されていて、約490万のスタンプを発売、1日あたりのスタンプ送信数平均4億3300万回(2019/04時点)と規模の大きいサービスです。AndroidとiOSエンジニアで構成されているチームで、新しいサービスや機能開発プロジェクトベースにアサインされるような体制です。
最近は、新機能の「カスタムスタンプ」と「LINEスタンプ プレミアム」のAndroid開発を担当しました。カスタムスタンプとは、指定の場所に名前や好きな言葉を入れて相手に送ることができるスタンプ。LINEスタンプ プレミアムは、月額利用料を支払うことでクリエイターズスタンプが使い放題になる新サービスです。約300万セット・約3億8000万円分のスタンプが使い放題になっています(2019年7月時点)。
開発言語はJava、Kotlinがメイン。アーキテクチャはClean Architectureを使用しています。
また、最近はRxJava2からCoroutineの方への移行でLichというLINEが最近リリースしたオープンソースライブラリを使うことを検討しています。そして、新しいアーキテクチャの導入と共にAndroid Architecture Component (特に、ViewModel, Lifecycle周り)も積極的に取り入れたりしています。

新サービスリリースの面白みと工夫した点は?

新サービスのLINEスタンプ プレミアムでは、未購入のスタンプもオートサジェストで自由に選択可能です。リリース後の反響も大きく、話題になっていることや、実際に自分で使ってみても多くのスタンプが選択できて、とても使いやすい機能が作れたんだなと嬉しく感じました。
また、私は日本人ではないので、これまで自分の名前のスタンプがなかったのですが、カスタムスタンプを開発して自分の名前が入ったスタンプを送ることができたときは達成感を感じました。社内のやり取りでもLINEを使うのですが、やっぱり同じエンジニアから使いやすいとフィードバックをもらえると本当に嬉しいですね。エンジニア同士の視点だからこそ今後のアップデート案も上がってくるので、より使いやすいサービスを開発していけたらと思っています。
開発で難しかったことは、既存のレガシーなコードの上で、それを壊さずに新機能を追加すること。そこで、Clean ArchitectureとAndroid Architecture Componentを採用し、古いコードを整理しながら新機能を追加、最終的に全部リファクタリングして整理しながら開発を進めました。
LINEスタンプ プレミアムに関しては、OSによる仕様の差異にも対応し、iOSで購入したサブスクリプションをAndroidでも使えるようにしないといけないなど、難易度が高く工夫が必要でした。

リスクを恐れずクリーンな開発をしていきたい

どんなエンジニアと一緒に働きたいですか?

やっぱり技術的な議論を楽しくできる人。古いコードをリファクタリングするのが面白いと感じられるタイプの人と一緒に働きたいです。
新機能を追加するときに2つのパターンの人がいると思います。古いコードをリファクタリングした上で新機能を追加し今後スムーズにいけるように開発するタイプと、できるだけ古いコードは触らずに、既存のコードの上に乗せて安全に開発したいタイプ。どちらも良いと思うのですが、後者の場合はいつか基盤が破綻する可能性が残るので、ある意味壊すリスクを取りながらも今後を見据えて息の長いサービスを作っていける方がいいのではと感じています。LINEはユーザー数が多いのでプレッシャーもありますが、他のロールのエンジニアやQAの同僚を信じて思いっきりリファクタリングしています。

今後取り組みたいチャレンジを教えてください。

最近“クリーン”という言葉が好きです。社内でクリーンコードを書くための凄いドキュメントがあって、私はそれでエンジニア人生が変わったと思います。コードレビューのコツ、コメントのつけ方のHow toみたいな内容がすごく丁寧に細かく書いてあります。私はこれを知った前後でコードが大きく変わりました。その作者も同じLINEエンジニアなので直接話せて、レビューもしてもらえるなんてすごく刺激的な環境だと感じています。これからもきれいなコードベースを作る為に、色々と勉強している最中です。

また、これまで様々なプロジェクトを担当してきて、数か月単位の異動でLINEバイト、LINE BLOG、LINE Creators Studioから現在のLINE Shopまで同じ開発室内で幅広いプロジェクトで経験を積むことができました。サービスが変わると環境も技術も全く異なるので、社内転職をしているような気持ちになりましたね。中には、iOSからAndroidにロールチェンジしたエンジニアもいるので、自分から手を挙げればチャンスをもらえる環境だと感じています。
今後は、ずっとやってみたかったLINEウォレットの新プロジェクトに入ります。韓国では、日本よりもキャッシュレス化が進んでいて様々なペイメントサービスを使っていたので、自社でキャッシュレス関連の開発に携われることにとても魅力を感じています。私は使いにくいと思う部分を改善し、より良いプロダクトをつくることにやりがいを感じるタイプです。多くの人はウォレットタブの中でも普段必要な一部の機能しか使っていないと思うので、ユーザーそれぞれが興味のあるカテゴリを優先的にカスタマイズ表示できたらいいなと考えています。日頃のちょっとした不便を解消して、使いやすいウォレットタブにできるように取り組んでいきたいです。

募集職種

現在募集中の求人はありません