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
660
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
事業の財務責任に向き合うリクルートデータプラットフォームのFinOps
recruitengineers
PRO
2
320
AI-DLCを現場にインストールしてみた:プロトタイプ開発で分かったこと・やめたこと
recruitengineers
PRO
2
380
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
3
970
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
4
370
dbtとBigQuery MLで実現する リクルートの営業支援基盤のモデル開発と保守運用
recruitengineers
PRO
5
270
『ホットペッパービューティー』のiOSアプリをUIKitからSwiftUIへ段階的に移行するためにやったこと
recruitengineers
PRO
4
1.8k
経営の意思決定を加速する 「事業KPIダッシュボード」構築の全貌
recruitengineers
PRO
4
450
Browser
recruitengineers
PRO
12
4.2k
JavaScript 研修
recruitengineers
PRO
9
2.3k
Other Decks in Technology
See All in Technology
複雑さを受け入れるか、拒むか? - 事業成長とともに育ったモノリスを前に私が考えたこと #RSGT2026
murabayashi
1
1.7k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
170
「違う現場で格闘する二人」——社内コミュニティがつないだトヨタ流アジャイルの実践とその先
shinichitakeuchi
0
270
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
6
3.1k
Models vs Bounded Contexts for Domain Modularizati...
ewolff
0
120
Digitization部 紹介資料
sansan33
PRO
1
6.5k
AWSと生成AIで学ぶ!実行計画の読み解き方とSQLチューニングの実践
yakumo
2
340
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
150
Claude Codeを使った情報整理術
knishioka
20
12k
たかがボタン、されどボタン ~button要素から深ぼるボタンUIの定義について~ / BuriKaigi 2026
yamanoku
1
200
形式手法特論:コンパイラの「正しさ」は証明できるか? #burikaigi / BuriKaigi 2026
ytaka23
16
4.9k
Featured
See All Featured
The Language of Interfaces
destraynor
162
26k
Deep Space Network (abreviated)
tonyrice
0
33
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
1
340
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.8k
Crafting Experiences
bethany
0
27
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Making the Leap to Tech Lead
cromwellryan
135
9.7k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Into the Great Unknown - MozCon
thekraken
40
2.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
230
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.8k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
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番詳しいと言えるような専門知識を身につけよう!