Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RECRUIT TECH CONFERENCE 2025 プレイベント【関田】

Recruit
February 13, 2025

RECRUIT TECH CONFERENCE 2025 プレイベント【関田】

2025/2/4に開催したRecruit Tech Conference 2025 プレイベントの関田のLT資料です

Recruit

February 13, 2025
Tweet

More Decks by Recruit

Other Decks in Technology

Transcript

  1. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- #iOS開発、#未経験、#SwiftConcurrency iOS未経験エンジニアが Swift

    Concurrencyの検証を行い、 サービスリリースまで行った話 『ホットペッパービューティー』の事例
  2. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 関田 陸 ゴルフ⛳・MLB観戦⚾・旅行✈

    経歴 / Career 2023年4月に新卒として入社し、3ヶ月 間の研修を経てホットペッパービュー ティーのiOSチームに配属 趣味 / Hobbies プロダクトディベロップメント室 販促領域エンジ ニアリング2ユニット(飲食・ビューティー) ビューティー領域エンジニアリング部 ビュー ティープロダクト開発2グループ
  3. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて

    2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
  4. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて

    2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
  5. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- iOSプロダクトの規模感 画面数 API数

    コード行数 循環複雑度 認知複雑度 150本以上 20万行以上 高い(1.9万以上) 高い(1.1万以上) ※複雑度は静的分析コード解析ツールにてプロダクト全体の値を参照 100画面以上 - 規模が大きく、複雑度が高い → 「コーディングコスト」「コード認知コスト」が高い🔥
  6. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて

    2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
  7. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- プロダクトの課題解決に貢献できていなかった・・・ - 未経験だったので、とにかく目の前の案件をこなすことで必死だったが、

     中長期改善プロジェクトに携わることでプロダクトの課題を知った - とりあえず、小さい分野でいいのでチームで自分が一番詳しいと言える分野を  作り、プロダクト課題への解像度を上げようと思った → まずは、Swift言語の最新機能をキャッチアップしていくことに!
  8. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- やったこと - Swift5.5〜5.9までの機能を洗い出して、

     プロダクトに活かせるものはないか検討する - その中で、プロダクトの課題を解決できるものを採用する - コーディングコストの削減 - コード可読性の向上
  9. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Swift Concurrencyとは? -

    Swift5.5から導入された新しい並行処理モデル - より安全で簡単な非同期処理のコードを書くことができる - async / await / actor など
  10. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- なぜSwift Concurrencyが良いのか クロージャを用いた非同期処理

    - クロージャを使用した非同期処理により、  コールバック地獄になりやすい - ネストが深く、可読性が低い - クロージャを呼び忘れても、コンパイルが  通ってしまう
  11. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- なぜSwift Concurrencyが良いのか Swift

    Concurrencyを用いた非同期処理 - クロージャを使わないのでネストが減り、  可読性が高い - Actorを使うことでデータ競合を防ぐこと  ができる
  12. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて

    2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
  13. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- やることの整理 - 2画面で検証する

    - どの画面で検証するかを検討する - 実装・リリースする - 目的が達成できているかを確認する
  14. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 画面選定 - (MUST)検証フェーズなので

    - ①大きな障害が起こることを避けたい - ②他の案件への影響を避けたい - ③修正の変更範囲を小さくしたい - (WANT)改修頻度が高い
  15. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 実装 Before After

    ネストが減り、 直感的にコードが 読みやすくなった
  16. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて

    2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
  17. RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- まとめ - Swift

    Concurrencyを導入することで複雑度を下げることができた - また、個人としても小さい分野でもチームで1番詳しい領域を作ることで、  プロダクトへの貢献もできるし、自信にも繋がった - 今後は他画面にも順次展開していきたい