Career

会社でつくり、
ひとりでもつくる

iOSエンジニア7年目です。ヤフーでPayPayフリマの立ち上げからグロースまで、DeNAでPococha、 いまはZOZOでZOZOTOWNと、大規模なtoCアプリをつくってきました。 UIKitからSwiftUIへの移行、テストとCIの基盤づくり、リリースマネジメントが軸になっています。

並行して個人開発が10年目に入りました。100本以上をApp Storeに出して、累計72万ダウンロード。 「うんちくん」は公開から7ヶ月で26万ユーザー、55言語に対応しています。

副業ではiOSだけでなくCloud FunctionsやFlutterも書いていて、AIを足がかりにiOSの外へ越境しているところです。

7年iOSエンジニア
10年個人開発
100+リリースしたアプリ
72万累計ダウンロード

本業

新しいものから順に並べています。

ZOZO 正社員 2024.08 — 現在

ZOZOTOWN / iOSエンジニア

長く運用されてきた大規模なコードベースのSwiftUI移行を、自分の案件を持ちながら進めています。 あわせてテストとCI、リリースの基盤改善と、バージョン単位のリリースマネジメントを担当。 直近1年で219本のPRを出しました。課題を自分で見つけて起案し、実装からリリースまで完結させる進め方をしています。

  • 肥大化したレガシー画面のSwiftUI全面リプレイス。稼働中の画面を止めないよう5つのフェーズに分けて置き換えた
  • 生成AIによる仕様駆動開発を自分の案件で実証し、内製ツールへ還元。実装着手前のタスク分割を設計した
  • CIの成功率とテストカバレッジの改善を主導。切り分けの難しいFlakyテストを特定して解消し、知見をチームへ展開
  • クラッシュのシンボル化が失敗しても気づけない構造を特定し、再発防止の仕組みを実装
  • ホーム画面ウィジェットを個人の試作からボトムアップで起案し、正式な社内案件として立ち上げ

Swift / Objective-C / SwiftUI / WidgetKit / App Intents / XCTest / Swift Testing / Bitrise / GitHub Actions / fastlane / Danger / SwiftLint / Firebase

DeNA 正社員 2023.02 — 2024.07

Pococha / iOSエンジニア

ライブ配信アプリのソーシャル寄りの領域を受け持ちました。 いちばん大きな担当は配信者のプロフィール動画機能で、そもそも実現できるのかという技術検証から入り、 再生基盤、投稿フロー、BGM合成、ログ設計まで一通りを担当しています。在籍中に978本のコミット。

  • スクロールで次々と動画が切り替わる体験のため、AVPlayerItemのキャッシュ機構を自前で実装し、再生開始までの待ち時間を削った
  • 動画とBGMを並列再生したときの音量バランスを、Android版と突き合わせて検証
  • SNS連携、Twitter APIの仕様変更への追従、招待コード機能のSMS認証フロー
  • Swift Concurrency対応とMainActorへの移行を推進
  • ペアプログラミングとテスト駆動開発をチーム内で実践し、Mockoloを導入

Swift / SwiftUI / AVFoundation / Swift Concurrency / Mockolo

ヤフー 正社員 2019.07 — 2023.02

PayPayフリマ / iOSエンジニア・テックリード

新卒で入社し、立ち上げ途中から参画してグロースまで携わりました。後半はテックリードとしてチームの生産性を高める役割です。 開発体制はLeanXPで、テスト駆動開発とペアプログラミングが日常。約4年で3,400本以上のコミットを積み、 リポジトリ全体で最もコミット数の多いメンバーでした。

  • 動画出品の著作権侵害対策。ShazamKitが使えない制約からiOS標準のSound Analysisによる音分類に切り替え、出品を止めずに撮影直後へ注意喚起を出す設計にした
  • ContextMenusを導入し、商品を非表示にするのに詳細画面まで進む必要があった問題を一覧から解けるようにした。ストアレビューの改善につながった
  • ユーザーフォロー、ハッシュタグフォロー、投稿機能といったソーシャル系の大規模案件
  • 出品導線、ほしい物ランキング、持ち物リスト、閲覧履歴まわり、集荷依頼、ホーム画面ウィジェット
  • SwiftPMへの移行、Snykによるライブラリ脆弱性チェック、fastlaneのリリース整備

Swift / Clean Architecture + Coordinator / Sound Analysis / SwiftPM / fastlane / Firebase

副業・業務委託

本業と並行して、小さなチームで企画から運用まで受け持っています。

Bitta 業務委託 2023.04 — 現在

7プロダクトのiOSとサーバーを一人で開発 / フルスタックエンジニア

開発者は基本的に自分ひとりで、企画の壁打ちから設計、実装、ストア申請、保守運用まで受け持っています。 3年で7プロダクト、1,700本以上のコミット。オーナーと1対1で仕様を詰めるので、 言語化される前の会話から入って、実現できる形に翻訳して実装まで運ぶ進め方です。

  • リマインダーアプリでAlarmKitを本番投入し、Live ActivityとApp Intentsを組み合わせた。前例の少ないフレームワークだったため、仕様設計とデザイン仕様書、実装方針書を先に書いて実装に入っている
  • ここで得た知見がiOSDC Japan 2025の登壇につながった
  • 写真共有アプリでAction ExtensionとShare Extension、ウィジェットからの起動、In-App Purchase、ペアリングによるルーム参加
  • 法人向けアプリでCloud Functions連携、メディアのアップロードとダウンロード、利用実績の記録、アカウント削除まわり
  • FlutterとゲームエンジンでSNS障害時に集まるアプリを、StoreKit課金つきで開発

iOS / SwiftUI / AlarmKit / Live Activity / App Intents / Flutter / Firebase / Firestore / Cloud Functions (TypeScript) / StoreKit

結.JAPAN 業務委託 2020.12 — 2026.05

旅行アプリ「nicody」のiOSとサーバーサイド / iOSエンジニア

1〜10名の小規模チームで、iOSアプリだけでなくCloud FunctionsとFirestoreのセキュリティルールまで担当しました。 立ち上げ期は旅程を組み立てる「しおり」機能から入り、その後はポイント経済圏まわりを受け持っています。

  • ポイント付与の正しさをFirestoreのトランザクションで担保。報酬受け取りの二重付与リスクと、二重クリック時のフォールバックを実装した
  • HealthKit連携の歩数機能と、ホーム画面ウィジェット
  • 期間限定クイズ、タイアップクイズ、動画リワード広告、外部ポイントサービスとの交換導線
  • アフィリエイトのトラッキングURL対応をユニットテスト付きで実装、SMS認証とURLスキームによるディープリンク

Swift / SwiftUI / UIKit / Combine / Firebase / Firestore / Cloud Functions / HealthKit

できること

仕事で実際に手を動かしてきた範囲です。

iOS

Swift、SwiftUI、UIKit、WidgetKit、App Intents、AlarmKit、Live Activity、Swift Concurrency、AVFoundation、HealthKit、StoreKit

設計・テスト

MVVMとRepository、Translator層によるAPI依存の分離、Clean Architecture、XCTest、Swift Testing、テスト駆動開発、Flakyテストの解消

サーバー・基盤

Firebase、Firestore、Cloud Functions(TypeScript)、セキュリティルール、Flutter

CI・リリース

Bitrise、GitHub Actions、fastlane、Danger、SwiftLint、DeployGate、TestFlight、リリースマネジメント

話したこと

アウトプットが好きで、iOSDCやLT会で話しています。

資格

 

応用情報技術者(2018) 基本情報技術者(2016) ITパスポート MOS 2013 Master 普通自動車免許