歯科インプラントの履歴を追跡するiOSアプリを、利用者ごとに分けて開発する仕事でした。患者ビルド・クリニックビルド・製造ビルドはいずれもリリースに至り、storefront ビルドは作られたものの最終的にリリースには至りませんでした。単独エンジニアとして 2 年間 ownership を背負い、機能開発・保守・App Store リリース・規制まわりの細部までを通しで何周も回しました。
アプリケーションは Swift・UIKit・Combine で組み、SPM の多パッケージ構成でモジュール化しています。最初はすべての画面が native でしたが、徐々に hybrid・WebView ベースへ移っていきました。
患者アプリはその人のインプラント記録を抱え、スキャンで登録します — カメラをコードへかざすか、端末を NFC タグに当てるか。クリニックアプリは発行する側を受け持ちます。施術が記録され、製品がスキャンで取り込まれ、トレーサビリティの記録が発行されて出ていきます。バーコード自体は医療機器の国際表示標準である GS1 に従っているので、スキャナーが読むのは規制当局が期待するとおりの構造化データです。
その下では、このスイートは自前の Swift パッケージ群へ分解されています — ネットワーキング、共有ユースケース、UI 部品、アセット、フォント — パッケージ間の依存関係を定義しています。クリニックアプリは本番 · ステージング · 社内配布という三本の出荷レーンを自動化されたリリースパイプラインで行き来し、リリースしたすべてのアプリが4言語に対応します。2年間、これらのストアリリースを一人で管理しました。
会社が自前で催したあるイベントで — iOS でも Android でもない、私の開発トラックの外の仕事だったのに — そこで生じた顧客電話も、その整理も報告も、結局エンジニアのところまで降りてきました。電話を受け、内容を整理して報告しました。一つの会社の iOS トラックを 2 年間、端から端まで抱え、複数のリリースカレンダーを同時に回しました。そしてそうやって、自分の領分の外の仕事まで引き受けました。
