Safie Engineers' Blog!

Safieのエンジニアが書くブログです

Findy さん主催のイベント「TechBrew in 東京 ~モバイルアプリの技術的負債に向き合う~」にて発表してきました

はじめに

第 2 開発部モバイルグループで iOS テックリードをしている鞆です。

2024 年 5 月 23 日に開催された Findy さん主催のイベント
TechBrew in 東京 ~モバイルアプリの技術的負債に向き合う~ にて、発表させていただきました。 findy.connpass.com

当日の様子を含めてイベントレポート的な形でご紹介できればと思います!

会場

Findy さんが 2024 年 4 月に大崎駅近くにオフィス移転されたとのことで、この新オフィスに併設されたイベントスペースが会場でした。

findy.co.jp

大崎駅からのアクセスについても画像付きで紹介されており、イベントスペース自体もオフィス受付のすぐ横にあるため、迷うことはなさそうです。

イベントスペース自体も 100 名収容可能ということで余裕があり、クロークやコントロールルームまである非常に本格的な作りでした。
開催時間が遅めということもあってか照明についても暗めとなっており、非常に雰囲気のある状態に仕上がっていました。

受付向かって右側すぐがイベントスペース入り口

スクリーン横には音響管理用のコントロールルーム

今回のイベントでは利用しませんでしたがカウンタースペースもありました

オープニング

Findy さんのイベントではオープニングで必ず乾杯!から始まるとのことなので、まずは全員で乾杯してイベントの開始となりました。

またここで、 Findy さんが作ったという IPA (クラフトビールのほうです) の紹介もありました。

挑戦 IPA
開発生産性 IPA

Findy さん主催のイベントで付いてくる「TechBrew」という名称が正直なところ謎だったのですが、文字通り本当に醸していました。

挑戦 IPA と開発生産性 IPA の 2 種類があり、オフラインイベントで振舞われているとのことでしたが、限定本数となるため気になる方はお早めにとのことでした!

発表内容

私のほうからは、セーフィーで開発している Safie Viewer の iOS 版アプリに関する技術的負債への取り組みに関して、ここ 1 年ほどで実施、検討している内容について事例紹介といった形で発表させていただきました。

speakerdeck.com

10 分間の発表に詰め込みすぎてしまった感があるのが反省です。

また、今回のテーマである「モバイルアプリの技術的負債に向き合う」についても、セーフィーのモバイルグループが置かれている現状にまさにマッチしたものとなっており、発表された内容それぞれが非常にためになりました。

Bitkeyのモバイルアプリを進化させるための歩き方 @arasan01_me

speakerdeck.com

Bitkey さんの workhub アプリに関して、専業エンジニアがいなかった React Native 時代から現在までの歴史に関して、技術選定の方針やネイティブ化への移行対応等の具体例を交えた発表でした。

TCA の採用についても一度見送ってから再度検討して採用する等、外部環境の変化に対して素早く対応していけるというところに開発チームの強さを感じました。

「技術選定の正解は?」という問に対して、「自分たち (開発チーム) がいいと思う方法全てが正解」という部分が非常に印象的で、セーフィーのモバイルグループでも技術選定で迷うことが非常に多いのですが、これに対して勇気づけられるような発表でした。

モバイルアプリの技術的負債に全社を挙げて取り組む考え方 @mikity01985

speakerdeck.com

モバイルアプリの技術的負債を組織内でどう扱っていくかという点に関して、 EM ならではの高い視座で俯瞰的に見ていくような発表で、セーフィーの現状にも当てはまる部分が多かったです。

特に「技術的負債の中でもチームに閉じてしまうものは外部への説明に困る」といった指摘は過去を振り返ってみてもまさにその通りで、外部とのコミュニケーションに関する方法論等は非常に参考になりました。

モバイルアプリ開発における Four Key Metrics の難しさ等についても腹落ちする部分が多く、個人的には共感できる部分が多い発表でした。

パッケージ管理でモバイル開発を安全に進める @entaku_0818

speakerdeck.com

比較的歴史のある Voicy さんのアプリにおける過度な共通化という問題とそれに対する回答としての責務分割のお話しでした。

Swift Package Manager を利用してモジュール / パッケージとしてカプセル化することによって、責務としてのインターフェイスを明示化、また依存性を制限することでシステムとして安全な状態を保っているとのことで、昨今流行りの Swift Package Manager ベースのマルチモジュール化の利点として説得力のある内容だったかと思います。。

Safie Viewer の iOS 版でもこの辺りはやろうと思っていて進んでいない部分だったので、先行事例として非常に参考になる発表でした。

GitHub Copilotで技術的負債に挑んでみる

www.docswell.com

意外と貴重なモバイル開発領域における GitHub Copilot 利用に関する発表でした。

特に iOS 開発ですと、 Xcode が公式に対応しておらず 3rd party ツールに依存してしまうということもあり、セーフィー社内や個人的にも GitHub Copilot を有効活用しきれていないという感触はあったのですが、やはり同様の辛みがあるのだなという納得感がありました。

また実際にデモで見せていただいた GitHub Copilot Chat との連携についてはほぼ利用していなかったため、 code suggestion 以外の使い方として一つ知見が増えました。

懇親会

一通り発表が終了した後は立食形式での懇親会となりました。

IPA も十分に用意いただいてました!

完全オフラインイベントということもあり、比較的小規模な集まりとはなったのですが、逆に参加者間でコミュニケーションが取りやすいといった面がありました。

モバイルアプリに関するイベントだったのですが、他職種のエンジニアの方も参加されており、意外なところでネットワークの広がりもできました! まとめ 今回、 Findy さん側からお話しをいただいての発表、イベント参加だったのですがテーマ的にも得ることが多いイベントでした。

完全オフラインイベントへの参加というのもコロナ禍以降で久しぶりだったのですが、やはりオフラインならではの良さ、密度の高さというのを感じました。

最後になりますがイベント企画、ならびに会場を提供いただいた Findy さん、誠にありがとうございました!

© Safie Inc.