Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
RECRUIT TECH CONFERENCE 2025 プレイベント【関田】
Search
Recruit
PRO
February 13, 2025
Technology
0
630
RECRUIT TECH CONFERENCE 2025 プレイベント【関田】
2025/2/4に開催したRecruit Tech Conference 2025 プレイベントの関田のLT資料です
Recruit
PRO
February 13, 2025
Tweet
Share
More Decks by Recruit
See All by Recruit
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
180
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
3
180
『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと
recruitengineers
PRO
4
1.6k
経営の意思決定を加速する 「事業KPIダッシュボード」構築の全貌
recruitengineers
PRO
4
300
Browser
recruitengineers
PRO
12
3.7k
JavaScript 研修
recruitengineers
PRO
8
2.1k
TypeScript入門
recruitengineers
PRO
37
15k
モダンフロントエンド 開発研修
recruitengineers
PRO
13
7.9k
Webアクセシビリティ入門
recruitengineers
PRO
4
2.2k
Other Decks in Technology
See All in Technology
ピープルウエア x スタートアップ
operando
2
3.4k
新米エンジニアをTech Leadに任命する ー 成長を支える挑戦的な人と組織のマネジメント
naopr
1
360
書籍『実践 Apache Iceberg』の歩き方
ishikawa_satoru
1
480
設計は最強のプロンプト - AI時代に武器にすべきスキルとは?-
kenichirokimura
1
140
Logik: A Free and Open-source FPGA Toolchain
omasanori
0
140
JAWS UG AI/ML #32 Amazon BedrockモデルのライフサイクルとEOL対応/How Amazon Bedrock Model Lifecycle Works
quiver
1
840
サブドメインテイクオーバー事例紹介と対策について
mikit
16
7.5k
DMMの検索システムをSolrからElasticCloudに移行した話
hmaa_ryo
0
370
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
190
GTC 2025 : 가속되고 있는 미래
inureyes
PRO
0
150
InsightX 会社説明資料/ Company deck
insightx
0
210
CloudComposerによる大規模ETL 「制御と実行の分離」の実践
leveragestech
0
190
Featured
See All Featured
Music & Morning Musume
bryan
46
6.9k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
640
BBQ
matthewcrist
89
9.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
2.9k
Facilitating Awesome Meetings
lara
57
6.6k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
Testing 201, or: Great Expectations
jmmastey
46
7.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Navigating Team Friction
lara
190
15k
Keith and Marios Guide to Fast Websites
keithpitt
412
23k
Transcript
iOS未経験エンジニアがSwift Concurrencyの検証を行い、 サービスリリースまで行った話 『ホットペッパービューティー』の事例 #iOS開発 #未経験 #SwiftConcurrency プロダクトディベロップメント室 販促領域エンジニアリン グ2ユニット(飲食・ビューティー) ビューティー領域エ ンジニアリング部
ビューティープロダクト開発2グループ 関田 陸 RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night-
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- #iOS開発、#未経験、#SwiftConcurrency iOS未経験エンジニアが Swift
Concurrencyの検証を行い、 サービスリリースまで行った話 『ホットペッパービューティー』の事例
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 関田 陸 ゴルフ⛳・MLB観戦⚾・旅行✈
経歴 / Career 2023年4月に新卒として入社し、3ヶ月 間の研修を経てホットペッパービュー ティーのiOSチームに配属 趣味 / Hobbies プロダクトディベロップメント室 販促領域エンジ ニアリング2ユニット(飲食・ビューティー) ビューティー領域エンジニアリング部 ビュー ティープロダクト開発2グループ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- - 国内最大級のヘアサロン・リラク&ビューティーサロンの検索・予約サイト ホットペッパービューティー
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- iOSプロダクトの規模感 画面数 API数
コード行数 循環複雑度 認知複雑度 150本以上 20万行以上 高い(1.9万以上) 高い(1.1万以上) ※複雑度は静的分析コード解析ツールにてプロダクト全体の値を参照 100画面以上 - 規模が大きく、複雑度が高い → 「コーディングコスト」「コード認知コスト」が高い🔥
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- プロダクトの課題解決に貢献できていなかった・・・ - 未経験だったので、とにかく目の前の案件をこなすことで必死だったが、
中長期改善プロジェクトに携わることでプロダクトの課題を知った - とりあえず、小さい分野でいいのでチームで自分が一番詳しいと言える分野を 作り、プロダクト課題への解像度を上げようと思った → まずは、Swift言語の最新機能をキャッチアップしていくことに!
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- やったこと - Swift5.5〜5.9までの機能を洗い出して、
プロダクトに活かせるものはないか検討する - その中で、プロダクトの課題を解決できるものを採用する - コーディングコストの削減 - コード可読性の向上
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 目的に照らし合わせながら取捨選択 コーディングコスト コード認知コスト
メンテナンス性 コード減少量 Swift Concurrency 🔥
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Swift Concurrencyとは? -
Swift5.5から導入された新しい並行処理モデル - より安全で簡単な非同期処理のコードを書くことができる - async / await / actor など
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- なぜSwift Concurrencyが良いのか クロージャを用いた非同期処理
- クロージャを使用した非同期処理により、 コールバック地獄になりやすい - ネストが深く、可読性が低い - クロージャを呼び忘れても、コンパイルが 通ってしまう
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- なぜSwift Concurrencyが良いのか Swift
Concurrencyを用いた非同期処理 - クロージャを使わないのでネストが減り、 可読性が高い - Actorを使うことでデータ競合を防ぐこと ができる
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- やることの整理 - 2画面で検証する
- どの画面で検証するかを検討する - 実装・リリースする - 目的が達成できているかを確認する
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 画面選定 - (MUST)検証フェーズなので
- ①大きな障害が起こることを避けたい - ②他の案件への影響を避けたい - ③修正の変更範囲を小さくしたい - (WANT)改修頻度が高い
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 実装 Before After
ネストが減り、 直感的にコードが 読みやすくなった
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- 評価 ※検証した画面の1ファイルあたりの比較 循環複雑度
50%Down↓ 認知複雑度 75%Down↓ プロダクト課題に貢献できた
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- Agenda 1. プロダクトついて
2. Swift Concurrency導入の背景 3. Swift Concurrency導入検証と振り返り 4. まとめ
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- まとめ - Swift
Concurrencyを導入することで複雑度を下げることができた - また、個人としても小さい分野でもチームで1番詳しい領域を作ることで、 プロダクトへの貢献もできるし、自信にも繋がった - 今後は他画面にも順次展開していきたい
RECRUIT TECH CONFERENCE 2025 プレイベント -LT Night- メッセージ 未経験エンジニアは小さい分野でもいいので、 自分が1番詳しいと言えるような専門知識を身につけよう!