12年間iOSアプリ開発に携わるエンジニアが築く
スペシャリストでもマネージャーでもないキャリア

技術・デザイン

2022年9月10日から開催される、iOS関連技術をコアのテーマとした技術者のためのカンファレンス「iOSDC Japan 2022」 サイバーエージェントからは5名のエンジニアが登壇します。登壇者のひとり、新しい未来のテレビ「ABEMA」でiOS/Androidアプリ開発を担当する鈴木は、学生時代から12年間iOSアプリ開発に携わりながら、さらなる開発効率化を図るべく、2021年からはKotlin Multiplatform Mobile(以下、KMM)を利用したアプリの新機能の開発にも取り組んでいます。「事業課題を解決するために、技術を用いて自分の責務を全うしたい」と語る鈴木に、これまでのキャリアや「iOSDC Japan 2022」での自身の登壇の見どころについて聞きました。

Profile

  • 鈴木 大貴
    2014年新卒入社。メディア事業の新規立ち上げ・リニューアルのiOSアプリケーション開発を複数担当し、現在は「ABEMA」のiOS/Androidアプリケーション開発に携わる。

悩まないのは自分の引き出しの少なさが原因?
入社2年目、リーダー就任後の決断

── 入社後、一貫してネイティブアプリ開発に携わっているのでしょうか?

大学時代からiOSアプリ開発を行っていたものの、2014年の入社時は会社がWebサービスに注力していたこともあり、数ヶ月はサーバーサイドを担当していました。その後担当していたWebサービスのネイティブアプリを開発することになったためiOSアプリ開発に戻り、入社2年目にはチームリーダーを任せてもらえました。若手ながら担当するプラットフォームを自らの裁量で開発でき、非常にやりがいがありました。

── 入社2年目でチームリーダーとして開発する中で、戸惑いや不安はありましたか?

実は、開発中に悩むことがほぼなかったのです。今の自分の経験値だけでは視野が狭いからではないかと次第に感じるようになり、より高度な技術力を持つ先輩の下で働きたいと考えました。その後、優秀かつ経験豊富な先輩が多くいる「ABEMA」へ異動したのが2017年のことです。異動後もiOSを担当していましたが、2021年からはKMMを使って、iOSとAndroidの実装差異をなくせるよう新たな開発に取り組んでいます。Kotlinで実装したソースコードを、KMMを通してAndroidとiOS向けの成果物としてそれぞれ出力することによってソースコードを共通化でき、開発をさらに効率化できる見込みがあるからです。

── どのようなプロセスを経て「ABEMA」でKMMを導入することになったのでしょうか?

各取り組みの詳細については、当社主催イベント「 Flutter × KMM by CyberAgent #6 」登壇時の鈴木の資料「 既存のプロジェクトにKMMを導入するための対応策 」をご参照ください。
各取り組みの詳細については、当社主催イベント「Flutter × KMM by CyberAgent #6」登壇時の鈴木の資料「既存のプロジェクトにKMMを導入するための対応策」をご参照ください。

これまでの課題として、「ABEMA」のAndroidとiOSで同様の機能を実装した際、QAの項目書すり合わせ時に挙動の差があることが発覚し、仕様のズレが度々生じていました。それらを修正するためには、仕様における各プラットフォームの実装を確認した上で、再度すり合わせを行う作業が発生します。KMMを利用してソースコードの共通化をすることで、仕様のズレが発生しにくい状態を実現し開発効率の改善を図ろうと、当初はAndroidチームのメンバーを中心にKMMの検証が進められていました。私が着手し始めたのが実際のプロダクトへの導入を検証するタイミングの2021年1月頃です。KMMを利用したアプリの新機能の開発に取り組めるよう、その後1年ほどかけて土壌を整えていました。マルチプラットフォームに携わったことのないメンバーでも開発がしやすいよう可能な部分は自動化したり、特にiOSエンジニアにとってはKotlinからの変換が必要になる箇所が多いので、スムーズに適合できる方法を検討するなど、環境構築を進めました。その間にMultiplatform Engineeringチームが発足し、体制面でもKMM導入を推進しやすくなったと思います。

“助走期間ゼロ” で取り組んだAndroid開発で、
再現性を確認できた

── 学生時代含めて12年間 iOSアプリ開発に取り組んできた中で、KMMでの開発に取り組むことに対してはどう感じましたか?

長年iOSを担当しているので、iOSアプリ開発をすることにこだわりがあると思われることも多いのですが、事業課題を解決するために技術を用いて自分の責務を全うすることに、やりがいを感じるタイプです。かつ、技術的な難易度が高い方がさらに意欲が湧くので、KMMへの取り組みは新たな領域にチャレンジする良いタイミングだと感じていました。KMM自体は新しい技術のため未開拓な部分も多く、後から参画するエンジニアにとっても開発しやすい環境を整えるために、それらの課題を解決していくこと自体にも楽しさを見出していました。

KMMを利用していたことでKotlinの知識があったため、2021年8月には「ABEMA」Androidアプリの開発に携わることが急遽決まりました。ある程度年次を重ねた上での新たな領域へのチャレンジは、正直不安を感じることもありました。ただ、Androidアプリ開発にチャレンジすることで、当社のキャリアラダーで求められている技術領域に対する知識や再現性を自分がしっかり持ち合わせているか確認できる、良い機会になると考えました。
いち早く文献を読み、それをベースに小規模なサンプルプロジェクトを実装するなど施策開発と並行することで、いわば “助走期間ゼロ” でAndroidアプリ開発に取り組む日々を過ごしました。結果的には、当初感じていた不安以上に新しい技術を身につけられたことや課題を解決できる楽しさが上回りました。
 

── ネイティブアプリエンジニアにとって、サイバーエージェントはどのような開発環境だと感じますか?

Android、iOSともに、秀でているエンジニアが多く、一緒に働くことで彼らから技術を習得できるのは大きな魅力だと感じます。たとえば、「ABEMA」にはGoogle Developers Expertである毛受も在籍しているので、AndroidやKotlinに関する最新の知見をチーム内勉強会で得ることもできます。

会社の取り組みとしては、サイバーエージェントグループ全体の技術者を対象にした社内カンファレンス「CA BASE CAMP」は、他部署の取り組みについても詳しく知ることができる良い機会だと思います。また、最近は規模を縮小してオンラインで実施しているものの、コロナ禍前はメディア事業に携わるネイティブアプリエンジニアと技術担当役員との懇親会が定期的に開催され、有意義な場だと感じています。

肩書きや組織に縛られずに、
各技術領域へ貢献していきたい

── 「iOSDC Japan 2022」での自身の登壇「今更だけどUIKitで型パラメータのインジェクトを利用してViewのレイアウトをしてみよう」について見どころを教えてください。

アプリ側の設計でViewの構造をどう共通化していくか、また、デザイナーとある程度構造を整理した上で、プログラミングとしてどのように実現すべきかという部分に対して、
「ABEMA」ではこれまで一般的だった手法とは別のアプローチで取り組んできました。現在ではSwiftUIもあるため、このアプローチにどれほどの需要があるかは定かではないものの、この方法を実施している例はないように見受けられたので、みなさんにお伝えできればと思います。

今回は5分のLTですが内容が多いため、裏の見どころとしては果たして5分でお話できるのか、という点に着目いただきたいです (笑) スライドの枚数が多いとメンバーにはよく突っ込まれるので…

── カンファレンスや勉強会での登壇の際に大切にしていることはありますか?

社内イベントも含めると、日々何かしら登壇の機会はいただいています。テーマを決める際に意識しているのは、ある程度自分の中で知識が溜まってきたタイミングで、検索してもヒットする文献や記事がほぼないと思われる、新たな知見を世の中に展開することです。自分以外でも同じポイントでつまづく人がいると思うので、そのような方々の参考になればと考えています。また、参加者のみなさんには真面目に聞くというよりもできるだけ楽しんでいただきたく、余裕があれば、くすっと笑えるようなネタを入れています。

── 最後に、今後の展望について聞かせてください。

新卒時と比較すると、最近は特定の技術そのものに固執するという意味でのこだわりは、薄れてきていると感じます。その分、会社として、事業としてどうあるべきか、そしてエンジニアとして自分はそれらに対してどのように貢献できるのかという考えが強くあります。長年iOSを担当してきましたが、「ABEMA」として必要になったからこそKMMにも取り組んでいる今があるように、事業課題を技術で解決していきたいです。同時に、各技術領域への貢献に対するこだわりは日々増しています。時間がある時には、自ら得た新たな知見を深掘りしてブログ記事を執筆したり、汎用化してライブラリを開発するなど、社内外へのアウトプットに力を入れています。これからも、肩書きや組織に縛られずに技術を用いて事業課題を解決することに楽しさを見出しながら、それら知見をもとに各技術領域へ貢献していきたいと考えています。

この記事をシェア

公式SNSをフォロー

  • Facebook
  • Twitter
  • Instagram
  • Line

記事ランキング

「10年以上蒔いた種が、ようやく花を咲かせてきた」主席エンジニアが語る、セキュリティ対策のあるべき姿

技術・デザイン

2022年より導入した「主席認定制度」において、10年以上当社のセキュリティ強化に真摯に向き合い続けている野渡が、主席エンジニアの1人に選出されました。

経営層、各開発責任者が絶大な信頼を寄せる野渡ですが、主席エンジニア就任時の思いを「10年以上にわたるチームの取り組みを、改めて評価してもらえたようで嬉しい」と語ります。長年セキュリティ領域に携わってきて感じる最近のセキュリティインシデントの傾向や、サイバーエージェントならではのセキュリティ対策のあるべき姿について話を聞きました。

なお、野渡が統括するシステムセキュリティ推進グループについて、詳しくは「『免疫』のようなセキュリティチームを作りたい~主席エンジニアたちが向き合う情報セキュリティ対策~」をご覧ください。

Page Top