LINE株式会社
App Dev 1チーム・7チーム(Androidアプリ担当) マネジャー
岡本雄三さん
新卒入社した電気メーカーでは研究所に所属し、一時出向先の検索ポータルサービスを提供するグループ会社にてサーバサイドの開発に従事。2011年8月にネイバージャパン(当時)に入社。『LINE』のAndroidアプリのコア機能開発とアプリ基盤開発に携わる
【PR】 働き方
2011年6月のローンチから約9年。個人間のコミュニケーションアプリとして登場した『LINE』は、今やコミュニケーションツールの枠を超え、ニュース配信や決済、デリバリー、ショッピング、マンガ配信など、多数のサービスを包括するプラットフォームへと進化を遂げている。今後は、生活に必要なあらゆるサービスを『LINE』上で提供する「スーパーアプリ」を目指す。
そんな『LINE』は、現在どのような開発フェーズにあるのか。クライアント開発を担う2人のマネジャーにその舞台裏と次の10年で目指すことを聞いた。
LINE株式会社
App Dev 1チーム・7チーム(Androidアプリ担当) マネジャー
岡本雄三さん
新卒入社した電気メーカーでは研究所に所属し、一時出向先の検索ポータルサービスを提供するグループ会社にてサーバサイドの開発に従事。2011年8月にネイバージャパン(当時)に入社。『LINE』のAndroidアプリのコア機能開発とアプリ基盤開発に携わる
App Dev 5チーム(iOSアプリ担当) マネジャー
富家将己さん
新卒入社したWeb会社で、サーバーサイドの開発に従事。その後、iPhoneアプリに興味を持ち開発を始める。2015年4月にLINE入社以来、iOSアプリ担当として、『LINE』の様々な機能開発を行い、現在はマネジャーを務める
富家:『LINE』は1対1のコミュニケーションツールとして立ち上がり、今では『LINE Pay』をはじめ、さまざまなサービスの窓口として利用されるプラットフォームへと、その役割を発展させてきました。
こうした経緯からも想像できる通り、現在『LINE』は継続的な新機能開発、サービス改善と並行し、迅速な開発を優先することで積み上がった“技術的負債の返済”に取り組んでいる状況です。
岡本:具体的には、クライアント・サーバー間のコネクションやデータ同期方法の改善による機能強化、コード品質の向上など、『LINE』を支える基盤技術の刷新が“返済”にあたります。
これらの取り組みに加え、サービスプラットフォームとしての『LINE』上で、当社のファミリーサービスやパートナー企業のサービスなどを提供しやすい環境に整備していくことも、われわれクライアント開発に課せられた重要な役割です。
富家:また、『LINE』は今、これからの10年に向けて、より多くのユーザーに親しんでいただくために生まれ変わろうとしています。
サービスリリースから10年という節目の時期を迎え、開発組織も同様に、DX(Developer Experience・開発体験)の改善、リードタイムの短縮、開発メンバーが増え続ける中で発生する、開発プロセスにおけるコンクリフト解消も視野に入れた、開発体制の見直しに取り組んでいる状況です。
※参考:『LINE』の開発基盤改善に関してサーバサイドの立場から発表された資料(LINE DEVELOPER DAY 2019)
>>LINT (LINE Improvement for Next Ten years)
岡本:私が担当しているAndroidアプリの場合、対応すべきOSのバージョンが多く、ユーザー数が極端に少ない新興ハードウエアベンダーの機種とも向き合わなければなりません。
これはAndroidアプリを提供されているどのアプリベンダーでも直面している課題だと思いますが、何世代も前の古いOSや、日本ではほぼ流通していないハードウエアでしか発生しない不具合が、たとえ全体の1%に過ぎなくても、『LINE』の場合は影響を受けるユーザーが100万人を超えます。これは、無視できる数ではありません。
富家:iOSアプリのユーザーは、Androidに比べて常に最新OSにアップデートしている方が多いため、直近3バージョンの対応を行っています。その代わり、iPadなどの機種に対応する必要があります。
端末依存による問題はAndroidに比べると少ないですが、特定の操作手順や特殊な状況下でしか発生しない問題がないわけではありません。Androidアプリ同様、発生割合が少なくても絶対数の多さ故、対処すべき課題が多いというのは、多数のユーザーを抱えるグローバルアプリならではの難しさと言えるでしょう。
岡本:必ずしもそうではありません。新しい技術を導入することによって解決できる課題も少なくないからです。
もちろん新しい技術が常にベストというわけではないので、技術選定には細心の注意を払いますが、課題解決のために必要であれば、エンジニアからの提案で新しいライブラリやアーキテクチャを開発に取り入れますし、Android 10 のダークテーマやジェスチャーナビゲーションへの対応など、OSの新機能もいち早くキャッチアップして開発を進めています。
開発の当事者としては、開発方針が保守的だという意識はありませんね。
富家:それはiOSも同様です。OSがアップデートされてから2週間以内を目処に最新のSDKでビルドできるような環境を整えていますし、現行の開発は全てSwiftで書かれ、Objective-Cからリファクタリングした機能を含めると、Swiftで書かれたコードは全コードの7割を占めるまでになりました。
今も2週間に1度のペースでリリースしていますし、その中にはエンジニア主導で開発した新機能もあります。最近では、iOS13の新機能であるBackground Execution(※)を利用した夜間充電中のトークの自動バックアップ機能などをリリースしています。
(※)Advances in App Background Execution
ある新規機能や既存機能の改善を行う場合、担当する企画者、サーバー・クライアントエンジニア、デザイナーなどが少人数でバーチャルなチームを作って、その中で仕様や実装の議論を素早く進めていきます。このようなバーチャルなチームがいくつも並行して開発を進めており、それぞれのチームでエンジニアが主体的に関わることで、短期間で毎回新しい機能や改善をリリースし続けています。
岡本:最近は外国籍のエンジニアも増えていて、開発するにしても、組織をマネジメントするにしても、丁寧なコミュニケーションが取れるのは1チーム5名程度なので、チームを細かく分ける必要が出てきていますね。
『LINE』の開発規模が大きいのは確かですが、エンジニアが所属するチームはインプットもアウトプットもしやすいよう、小回りの利く体制にしています。
富家:新OSリリースやセキュリティーポリシーが変更されるタイミングで、両OS間で差異が生まれたり、それまで使えていた機能がそのままの形では使えなくなったりすることが起こります。
それが情報セキュリティーに関することであれば、厳格にそれを満たすことを意識しつつ、なるべく現行の機能に影響が出ないような手段を検討・実装するなどして、OS間の差異を埋める努力をしています。
岡本:iOS・Androidのガイドラインに沿ったUI・UXでありながら、両OSのユーザー体験に著しく差が出ないようにしなければなりません。
そのため、機能を追加したり見直したりする際には、Android側とiOS側のエンジニアが協調するのはもちろん、デザイナーやビジネス側の担当者とも協調しながら開発を進めます。
ユーザー数の多さに起因する問題や機種依存の問題と同様、OS間のギャップを埋めるのもクライアントエンジニアの重要な役割です。
岡本:先ほどお話ししたことと重なってしまいますが、開発に際しては気を付けるべきポイントが山ほどあり、大変さを挙げればキリがありません。
ただ、国内に居ながらこれだけエンジニアの力量が試される開発環境はそうあるものではないと思います。私を含め、こうした環境に身を置くことにやりがいを感じるエンジニアは多いのではないでしょうか。
富家:LINEには東京以外にも、京都、福岡、韓国、台湾、タイなどに拠点があり、サービス展開だけでなく、働き方や働く環境もグローバルです。
また、機能の話で言えば、例えば日本ではあまり利用が進んでいない音声入力が台湾では盛んに使われているなど、国の文化によってウケる機能がそれぞれ異なることが分かるのも、グローバルなアプリならではの面白さかもしれません。
岡本:多くの方々にご利用いただいているアプリならではの開発環境でいえば、OS開発を担うAppleやGoogle、ハードウエアベンダー、通信キャリアさんからお声掛けいただき、新機能開発に協力することがよくあります。
最近だと、Googleアシスタントとの連携によって、スマホに話し掛けるだけで『LINE』のメッセージが送れる機能をリリースしましたが、これも Googleさんからの提案を受けて開発がスタートしました。
>>「Google アシスタント」に話しかけるだけで「LINE」のメッセージを送れるように
世に出る前の技術に触れることができるのも、最先端を追求したいエンジニアには大きなやりがいでしょう。
岡本:すでに『LINE』は、多様なサービスが載る巨大なプラットフォームとなっています。とはいえ、『LINE』のコア機能がメッセンジャーであるのは変わりません。
プラットフォームとしての成熟、コア機能の品質向上の両面から、ユーザーの体験をさらに良いものに改善できたらと思います。
富家:人と人、企業と人をつなぎ、コミュニケーションだけでなくユーザーの生活のあらゆるシーンを支える存在になりたい、というのが今後の『LINE』の目指すところだと思います。
今後もメッセンジャーとしての役割を大切にし、発展させながら、より多くのユーザーが快適につながり、生活を豊かにするアプリにしていきたいと思います。
岡本:iOS・AndroidのどちらかのOSで開発経験があれば、特にこのバックグラウンドがなければダメという条件はありません。ただ、与えられた仕様を実装するだけでは飽き足らないエンジニアこそが活躍でき、楽しめる環境なのは間違いありません。
要求された仕様に対して、ユーザ目線から、それが本当に便利なのか使いやすい機能なのかを検討すること。そして、開発チーム内のメンバーはもちろん、チーム外の関係者ともきちんと議論した上で、主体的に開発を進められるエンジニアが求められています。
富家:技術的負債の返済をしながら、現行のシステムを安定的に動かし、次の10年を支える新機能を生み出すというのは、言葉で言うほど簡単ではありませんが、そこに面白さを感じられる方であれば魅力的な環境だと思います。
個人的には、複数の大きな課題に立ち向かえるエンジニアが必要だと思いますし、新しい技術をキャッチアップし、それをどのように用いれば社会を良くしていけるか、大局に立って考え実践できるエンジニアに期待しています。
取材・文/武田敏則(グレタケ)
NEW!
NEW!
タグ