Oisix ra daichi Creator's Blog(オイシックス・ラ・大地クリエイターズブログ)

オイシックス・ラ・大地株式会社のエンジニア・デザイナーが執筆している公式ブログです。

iOSDC 2023参加レポート

iOSチームのマネージャをしているohzonoです。 iOSDC 2023に参加してきました!

iOSDC Japan 2023は 9月1日から3日までの3日間、iOS関連技術をコアのテーマとしたソフトウェア技術者のためのカンファレンスです。リアル会場とオンライン配信のハイブリッド開催でした。年に1回のペースで開催されています。

iosdc.jp

弊社からは3名が参加しました(オフライン1: 私、 オンライン2)。 メンバーから「現地参加楽しそうだった」という話もありました。オンラインからも熱気が感じられる3日間だったんだな、と思いました。

iOSDCでは初日をday0(前夜祭)、day1、day2と3日間が過ぎていきます。

day -1(前夜祭前日)

タイムテーブルをチームで眺める会の開催

直前の勉強会でやっているのを見て真似しよう!と思い立ち実施しました。

公開 SwiftWednesday【iOSDC Japan 2023 直前】 - connpass

翌日の昼礼で呼びかけ

これが結構体験として良かったです。チームメンバーそれぞれの興味の方向性が共有され、各セッションの概要を読むだけでも勉強になりました。

どのカンファレンスでもチームで参加する場合はぜひやっていきたいと思いました(もちろん任意参加ですが)。

day 0、1、2

初日にチーム内Slackにスレッドを立てて、気になったセッションなどを共有していきました。

現在弊社のiOSアプリは9年ほどの歴史があるコードベースで、リファクタリングを進めています。 その観点から、アーキテクチャやリファクタリングの話、DevOpsの話を中心にセッションを拝聴しました。

※以下、章タイトルにセッション詳細のURLをつけてます(分かりにくい見た目になっちゃったため補足してます)。詳細が知りたい方はご利用ください。

Swift Packageを使った巨大な依存グラフのキャッシュ戦略

giginetさんの発表でした。ちょうど会社の業務でSwiftPM化進めているのでビルド速度について気になってました。 とはいえ課題感の規模が大きく、Xcodeプロジェクト数300以上はさすが、、、という気持ちでした。 またセッションの主題とは異なりますが、技術的な課題解決の難しさを認識させられました。ある側面での解決が他の側面では課題になる事はよくあり、銀の弾丸がある場合もありますが、無い場合の方が多い気もします。現時点の最善の判断が未来でどれだけ最善なのか。私はチームの中でも意思決定する事が多い方なのでその難しさと責任の大きさを改めて考えさせられました。

Infra App としての取り組み

Hamaさんの発表でした。インフラであるという強い意志のもとアクセシビリティ対応を網羅的かつ実用的に実現されている部分に刺激を受けました。これぐらいやりきりたい、という目標が増えました。

UIKit ベースの Custom UIContentConfiguration API を用いた複雑なカスタムセルの作り方

shimastripeさんの発表でした。弊社のコードベースの状況がSwiftUIどころじゃないので(数少ない…)UIKit関係のセッションの1つとして拝聴しました。 リスト表示に伴う描画パフォーマンスの最適化に関してConfiguration利用の良さとその難しさ、注意するべき所を学びました。まだ意図しないTableViewがいたりするのでUICollectionViewへの移行の際は注意したい所だと思いました。UIKitに少しずつComposableな考え方を入れていく上でも個人的に貴重なセッションでした。

6年間運用したiOSアプリのリアーキテクトについて具体的に解説

松元 大樹さんのリアーキテクトについてのお話でした。私達のチームがこれから通るであろう事、現在直面している事がたくさん出てきたので共感しっぱなしでした。月並みですが、頑張るぞ、と思いました。

基礎から理解する!来年春までに対応すべきプライバシーの変更点

かみみさんのプライバシー対応に関するお話でした。お客様のプライバシー情報を守ることは当然であり最重要でもあります。そんな中、Appleから提示された内容を網羅的かつ基礎から学びたいと思い拝聴しました。アプリエンジニアだけで完結する話題でもないことから、理論と実践が織り交ぜられた発表で非常にためになりました。

なぜ、弊社はFlutterを捨ててネイティブ化(Swift / Kotlin)にコミットしたのか

佐藤 直之さんの発表でした。プロダクトの急激な事業成長に伴うエンジニア採用の難しさと課題を正面から向き直って大胆な経営判断をされている部分の裏側を拝聴しました。発表前日にお話を伺う機会があったのですが組織的にエンジニアリングに注力されており、技術的な意思決定と組織設計について考えさせられました。

顔写真メイクアップアプリの開発におけるプライバシー保護とコスト削減のための手法

弊社に副業でご参画いただいているakkeyさんの発表でした。主題とは関係ないかもしれませんが、事業貢献するためにネイティブアプリエンジニアのスキルを活用して試行錯誤されている姿が印象的で、ドメイン知識とネイティブアプリ開発スキルの両方がないとできない発想・チャレンジで、この姿勢を見習いたいと思いました。自分自身に対して、もっと学べることがあるんじゃないか、もっと活かせることがあるんじゃないかと、刺激を受け、また反省させられる発表でした。

複雑さに立ち向かうためのコードリーディング入門

shizさんの発表でした。人間が持つ機能の特性を理解し、その上でコードリーティングを構造化されているアプローチをされており、iOSアプリエンジニアに限らず学びが深い内容でした。私は当日は拝見できませんでしたが、気になっていた内容だったので後日拝聴しました。チームメンバーにも見て欲しい内容だと思いましたし、この前提があるかないかは、抽象的な課題解決全般で役に立つ視点だと思いました。

iOSアプリのユニットテストにおけるモックの効果的な使い方と使い分けの提案

kariadさんのポスターセッションでした。弊社では単体テストはぼちぼち、E2Eテストは絶賛構築中で手動テストがメインという段階ですが、自動テストを推進していく上で前提としたい知識を網羅的にインプットできました。ポスターセッションでは自分のペースで理解を進められる上、著者の方とお話することができ、より詳細な情報もご展開いただけました。

iOSアプリのユニットテストにおけるモックの効果的な使い方と使い分けの提案

学んでいきます!


以上、特にOisixアプリの課題感と近いものなどを個人的な見解でピックアップさせていただきました。 会場に設けられた企業ブースも楽しく、終始盛り上がっており学びになりました。これだけの人たちが関わっているんだよな、と当然の事ですが実際に体験することで事の大きさを感じました。

懇親会では、技術的な質問やチームでの生産性の話などをざっくばらんに伺うことができました。インターネット上に公開されている情報は比較的ポジティブな話が多いですが雑談の延長で苦労している箇所なども伺うことができ共感することも多かったです。オフラインの良さを改めて実感した次第でした。

最後に

スピーカーの皆様、スタッフの皆様、参加者の皆様、スポンサーの皆様、当日はありがとうございました。 私は初めての参加でしたが、もっとiOS開発およびそのコミュニティに貢献していきたいな、と刺激になりました。

今年はプロポーザルは落選だったため、来年はチームでの登壇にもチャレンジしていきたいと思います!

We are hiring

iOSエンジニアがたくさんいることを肌で感じられたので採用活動も頑張りたいと思います。

懇親会などでお話させていただいた方もいらっしゃるかもしれませんが、弊社はiOSエンジニアを絶賛採用中です。

recruit.oisixradaichi.co.jp

iOSエンジニアに限らず、弊社に興味をもっていただいたエンジニア、エンジニア志望の学生の方々向けに弊社のプロダクトであるOisixのお試しをお届けしてます。

少しでも興味をもっていただけた方は下記のURLから気軽にお申し込みください。

https://crm.hito-link.jp/app/entry/o1r6d/engineerentry

個人的な意見ですが、我が家では欠かせないプロダクトになっておりユースケースは選びますが、ぜひおすすめです。

Oisix ra daichi Creator's Blogはオイシックス・ラ・大地株式会社のエンジニア・デザイナーが執筆している公式ブログです。

オイシックス・ラ・大地株式会社では一緒に働く仲間を募集しています