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
新規サービスのアプリ開発で経験したリアルな出来事
Search
Tomohiro Imaizumi
February 20, 2018
Programming
1
2.7k
新規サービスのアプリ開発で経験したリアルな出来事
mixi GROUP Tech Meet ! でのPoiboyグループ 今泉の発表資料です。
https://connpass.com/event/78324/
Tomohiro Imaizumi
February 20, 2018
Tweet
Share
More Decks by Tomohiro Imaizumi
See All by Tomohiro Imaizumi
VisionFrameworkで実現する - プライバシーに配慮した「顔ぼかし」機能 / Face blurring with Vision Framework
imaizume
0
17
Feature Flagを使った開発で高速かつストレスフリーなデリバリーを実現する / Fast and stress-free delivery with Feature Flag-based development
imaizume
3
4.1k
プロダクトグロースと技術のベースアップを両立させるRettyのアプリ開発スタイル / Achieve Product Growth and Tech Update
imaizume
1
830
git branchを自由に操れるようになろう / Let's Play with Git branch!
imaizume
2
1.2k
スナップショットテスト実戦投入 / Practical Snapshot Testing
imaizume
14
7.4k
コーディング以外のエンジニアリング / About Engineering Without Coding
imaizume
1
1.8k
Firebase Remote Configの運用で知ったこと・知っておくと良いこと / Things I Learned from Operation of Firebase Remote Config
imaizume
6
4.1k
iOSアプリのテストを書きたいのに書けないあなたへ / How You Should Start to Write Your First Unit Test for iOS
imaizume
6
5.1k
循環的複雑度を上げないためのSwiftプログラミングTips / Tips of Swift Programming to Reduce Code Complexity
imaizume
11
8.4k
Other Decks in Programming
See All in Programming
基礎から学ぶ大画面対応(Learning Large-Screen Support from the Ground Up)
tomoya0x00
0
6.5k
請來的 AI Agent 同事們在寫程式時,怎麼用 pytest 去除各種幻想與盲點
keitheis
0
140
API Platform 4.2: Redefining API Development
soyuka
0
450
速いWebフレームワークを作る
yusukebe
5
1.8k
2025年版 サーバーレス Web アプリケーションの作り方
hayatow
6
1.1k
ファインディ株式会社におけるMCP活用とサービス開発
starfish719
0
2.2k
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
22
6k
Navigating Dependency Injection with Metro
zacsweers
3
5.7k
Testing Trophyは叫ばない
toms74209200
0
900
AI時代のUIはどこへ行く?
yusukebe
18
9.3k
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
240
Featured
See All Featured
Producing Creativity
orderedlist
PRO
347
40k
Unsuck your backbone
ammeep
671
58k
Making the Leap to Tech Lead
cromwellryan
135
9.5k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Practical Orchestrator
shlominoach
190
11k
Typedesign – Prime Four
hannesfritz
42
2.8k
A designer walks into a library…
pauljervisheath
207
24k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
930
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Transcript
新規サービスのアプリ開発で 経験したリアルな出来事 株式会社Diverse 新規サービス事業部 Poiboyグループ 今泉智博 (2018/02/20 @mixi GROUP Tech
Meet)
今泉智博 (2017年新卒⼊社) @imaizume 所属 iOSデビュー1ヶ⽉⽬で iOS版の開発を担当 学⽣時代はRubyやWebフロントエンド開発が中⼼ 2015年 サマーインターン in
(内定者に聞く!現場で実務を経験できるサマーインターンシップ「Dive into mixi GROUP」 - ミクシィグループ公式ブログ)
就活時の企業選択軸 サービス作りしたい フルスタックになりたい 事業創造の仕⽅ 経営者のビジョン 経営状態 福利厚⽣ 技術スタック 優秀な社員の存在 ⾃⾝のやりたいこと/⽬標
組織/制度 事業/経営 短期的/狭域的 ⽐較的よく⾒られる ⻑期的/⼤域的 難しいけど⼤事
組織/制度 ✅ ライフサービス×エンタメ ✅ SNS時代の失敗経験 ✅ 「⽂化」の数値⽬標 ✅ 優秀な新卒がリードする現場 ✅
個⼈の⽬標実現を仕事で応援 ✅ ⽣産性向上のための福利厚⽣ 事業/経営 ミクシィグループの強み
とは❓
⼥性主導の カジュアルマッチングアプリ❤
社内表彰
過去には ノンスタ井上さんとのコラボも
そんな での活動記録&'
メンターさん 自分 メンターさんを上回るコードをpushし 圧倒的 Contributionを達成❗❗ 失敗・修正しながら技術を覚える 「現場で育つ」ミクシィの新卒研修⽂化
インセンティブ強化施策 ⭐写真分析機能 夏CPスロットポップアップ ⭐セカンドリニューアル ⭐XCTest/mock/stub導⼊ 学校/職業追加 ストア申請 (リリース毎) コードレビュー&対応 (毎⽇)
リファクタリング (毎⽇) 本業 ⭐Diverse 公式HP Renewal ⭐チームKPTの環境作り/運⽤ Android版デバッグ (毎⽇) 採⽤/技術イベント登壇 懇親会幹事3回 サブ タスク実績
インセンティブ強化施策 ⭐写真分析機能 夏CPスロットポップアップ ⭐セカンドリニューアル ⭐XCTest/mock/stub導⼊ 学校/職業追加 ストア申請 (リリース毎) コードレビュー&対応 (毎⽇)
リファクタリング (毎⽇) 本業 ⭐Diverse 公式HP Renewal ⭐チームKPTの環境作り/運⽤ Android版デバッグ (毎⽇) 採⽤/技術イベント登壇 懇親会幹事3回 サブ タスク実績
夏CPスロットポップアップ 2017年夏のキャンペーン アプリ内にスロットゲームを設置 賞品が当たる抽選企画を実施 概要
㘬㘲㖽㘻 サーバーから事前に結果を受け取る ボタン押下で3つのリールが独⽴に回転 対応する絵柄を揃え停⽌ Auto Layout 要件 中⼼で⽌める 独⽴に回転 無限スクロール
適度な待ち時間 開始ボタン押下でリクエスト送信 /api/campaign , {“type”: 1 } サーバーは抽選結果を返す {“result”: 3 } — // 賞品ID
無限スクロールすら⼤変なのに 複雑な座標計算が必要? 初の⼤きなタスクを前に ⼿を動かせずにいた時 「指定位置で⾃動停⽌」の⽅法 はネットには載ってないし… ⾃動停⽌なんてどう実装するんだ… 締切りまで時間なさそうだな…
難しい実装だよね ⾃分も経験無くて良いアドバイスできないかも でも全⼒でサポートするし時間かけて良いから どんどん試して結果を教えてほしいな❗ チャレンジする仲間を応援する⽂化 考えるより、とにかく⼿を動かしてトライする メンターさんのフォロー UIScrollView UITableView UICollectionView
SpriteKit 最終的に UICollectionView で実装に成功 @cfiken さん
できたもの
しかし現実は残酷だった
なんとその後、他の機能が原因で Appleの審査を通過できない事態が発⽣ 通った時には既に夏が終わり スロットが⽇の⽬を⾒ることはなかった… チャレンジは成功ばかりではない 失敗も学びと捉え前に進む⼒を得た!
学校/職業追加 ⾒た⽬以外の魅⼒を伝える またマッチング後の話題提供のため プロフィールに学歴と職業を追加 概要
登録時にFacebookから情報を受け取る 情報は⼀旦サーバーへ送られる 編集時はサーバーから情報を受け取って編集 要件 学歴職歴の取得許諾 FBデータを転送 編集時に取得 学歴/職歴データ ここだけ⾒ると簡単そうだが…
学歴職歴の取得許諾 FBデータを転送 編集時に取得 学歴/職歴データ 既存/FB以外で登録のUserは そもそも情報がない String? で返却 = 条件分岐増
許諾降りない場合のハンドリング FBに職業ないUserには「カテゴリ」を表⽰ カテゴリ表⽰と実職業表⽰をスイッチ可に 取得不可だったら デフォルト値を送信? 学校登録ない場合は カテゴリに「学⽣」を追加 隠れた仕様が⼤量に… これはデスマしそうな予感
変化・不確定要素と向き合い ⾃発的に⾏動することが⼤切 仕様の⽬的・機能の価値を理解 すべきこと1 関係者へこまめに報告/相談 (⼯数に⾒合わない価値の仕様はないか) エンジニアから仕様を提案する (エンジニア視点の制約を仕様に反映する) (⼝頭確認もSlack&Wikiへの記録を⽋かさない)
できたもの 登録 編集 v5.4.0で無事リリースされました❗
未来: これからの話 (次の1年に向けて)
今まで ✓ リリース優先 ✓ 実装重視 ✓短期/狭域的問題解決 ✓ ⼈海戦術 ✓ 局所最適化
これから ✓ 開発効率と持続性 ✓ 設計重視 ✓⻑期/広域的問題解決 ✓ ⾃動化の推進 ✓ ⼤域的最適化 はこんな状態だった ⾒えたもの
今後続く開発/運⽤に 持続的に対応可能な へ を⽀えるにはまだ⼒不⾜ しかし経験値は着実に上がっている 既存実装にとらわれず設計から⾒直す 強い意志で⾃動テストやMock/Stubを導⼊ 壁にぶつかってもチャレンジをやめない 現状 次の⽬標
⾏動