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
VPoEのアンチパターンを考える / VPoE Anti-Pattern
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kenji Suzuki
September 17, 2020
Technology
860
2
Share
VPoEのアンチパターンを考える / VPoE Anti-Pattern
VPoEが語るエンジニア組織マネジメント iCARE Dev Meetup #13 での登壇資料です
https://icare.connpass.com/event/186557/
Kenji Suzuki
September 17, 2020
More Decks by Kenji Suzuki
See All by Kenji Suzuki
マイクロサービスにおける 最高のDXを目指して / Microservices vs DX
kenjiszk
7
5.1k
マイクロサービスでのセキュリティパッチ含めた ライブラリ更新のつらみと取り組み / security-jaws-no13-kenjiszk
kenjiszk
2
1.2k
Rubyでブロックチェーンを実装してみた話 / Blockchain by Ruby
kenjiszk
2
630
FiNCのRelease Engineering / finc_release_engineering
kenjiszk
0
770
デプロイおじさんのお葬式 / Good-Bye Deploy Ojisan
kenjiszk
0
1.1k
イーサリアムとスマートコントラクト入門 / BlockTecCo vol.1
kenjiszk
1
490
FiNCのデータ戦略と AWSでのデータプラットフォーム構築 / Healthcare Data in FiNC
kenjiszk
0
2.4k
FiNCにおけるブロックチェーンの取り組み
kenjiszk
1
1.9k
How to manage containers in FiNC
kenjiszk
0
3.9k
Other Decks in Technology
See All in Technology
AsyncStreamでマルチブロードキャストを実装する
1mash0
1
180
AIAgentと取り組むKaggle
508shuto
2
470
20260515 OpenIDファウンデーション・ジャパンご紹介
oidfj
0
260
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
2.1k
いつの間にかデータエンジニア以外の業務も増えていたけど、意外と経験が役に立ってる
zozotech
PRO
0
740
その英語学習、AWSで代替できませんか?
suzutatsu
1
180
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
270
生成AI時代に信頼性をどう保ち続けるか - Policy as Code の実践
akitok_
1
530
20260516_SecJAWS_Days
takuyay0ne
2
540
The Making of AI Chips
pfn
PRO
0
570
Purview Endpoint DLP 動かしてみた
kozakigh
1
460
実践 TanStack Start ― 新規プロダクトを開発して確立した、サーバーとクライアント境界の設計パターン / Practical TanStack Start Server-Client Boundary Patterns
kaminashi
2
160
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Context Engineering - Making Every Token Count
addyosmani
9
890
Code Reviewing Like a Champion
maltzj
528
40k
エンジニアに許された特別な時間の終わり
watany
106
240k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
410
A better future with KSS
kneath
240
18k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
360
How to train your dragon (web standard)
notwaldorf
97
6.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
BBQ
matthewcrist
89
10k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Transcript
VPoEͷΞϯνύλʔϯΛߟ͑Δ iCARE Dev Meetup #13 FiNC Technologies VPoE @kenjiszk
• @kenjiszk • FiNC Technologies, VPoE • झຯ ϘϧμϦϯά 8IPBN*
※ ຊࠃ App Store / Google PlayʮϔϧεέΞʢ݈߁ʣ/ϑΟοτωεʯΧςΰϦ ʹ͓͚Δ1ؒʢ20191݄ʙ12݄ʣͷμϯϩʔυͷ߹ࢉͰ͢ʗग़యɿApp Annie
None
• ͍ͨͦ͏ͳλΠτϧͰ͋Δ • ৭ʑͱ౿ΜͰ͖͍ͯΔͷͰҰॿʹͳΕ͍͍͔ͳͱ • VPoE͚ͩͰͳ͘EMͷ࣌ͷ͠·͢ 71P&Ξϯνύλʔϯʁ
71P&Ξϯνύλʔϯʁ ςʔϚԿ͕͍͍͔ͬ͢Ͷʔ @kenjiszk @threetreeslight FiNC͞Μ৭ʑࢼͯ͠Δ͠ɺVPoEͷΞϯ νύλʔϯͱ͔͍͍Μ͡Όͳ͍͔͢ʔʁ @kenjiszk ͓ɺ͍͍͢Ͷɺ͡Ό͋ͦΕʹ͠·͢
͍͟ߟ͑ͯΈͨΒ͍͘͢͝͠ςʔϚͩͬͨ 71P&Ξϯνύλʔϯʁ
Ұपճͬͯࢥͬͨ͜ͱ ΞϯνύλʔϯͳΜͯͳ͍ͷͰʁʁʁ 71P&Ξϯνύλʔϯʁ
ਖ਼֬ʹ͍͏ͱɺ શͯͷ৫ʹڞ௨ͯ͠ར༻Ͱ͖ΔΞϯνύλʔϯ͕ແ͍ 71P&Ξϯνύλʔϯແ͍ʁ
71P&Ξϯνύλʔϯແ͍ʁ VPoE ৫ن ৫ߏ ϓϩμΫτ CTO ܦӦਞ ച্ن EM Ϛʔέοτ
FiNC TechnologiesͰ͖ͬͯͨࣄΛͳΔ͘நԽ͠ ͓ͯ͠͠·͢ ͳͷͰ͋·ΓΞϯνύλʔϯ͡Όͳ͍༰ؚ·Ε·͢ 71P&Ξϯνύλʔϯແ͍ʁ
• FiNC Technologies ࠷ॳͷΠϯϑϥΤϯδχΞͱͯ͠ೖࣾ • SREνʔϜ͕ग़དྷΔɺࣗಈతʹEM(Engineering Manager)ʹ • ෳͷνʔϜΛݟΔΑ͏ʹͳΔ •
VPoEʹͳΔ(2) ܦྺ
• ͍͍note͕͋Γ·͢ • લVPoE͕·ͱΊͨVPoE handbook • https://note.com/shimizu/m/mfd50fcdbf07f 71P&ͷࣄͬͯͳΜͩʁ
͓͞Β͍
71P&ͷൣғ ࣗͷ৫ = ΤϯδχΞ ࣗͷӨڹ͕ٴͿྡॾ৫ = VPoE Ͱ͋Ε͓ͦΒ͘શ෦
71P&ͷث ٕज़ : ΤϯδχΞग़Ͱ͋Δ͜ͱ͕ଟ͍ͣ ϚωδϝϯτɿͳΜΒ͔ͷϚωδϝϯτܦݧΛܦͯVPoEʹ ͳΔͣ
• ձ͕ࣾΓ͍ͨ͜ͱΛ • ΤϯδχΞ෦Λ͍ͯ • ࣮ߦ͍ͯ͘͠ 71P&͕Βͳ͍ͱ͍͚ͳ͍͜ͱ
71P&ͷઓ ٕज़ Ϛωδϝϯτ ࣗ෦ ྡ෦ ͜ͷล
• ৫ͱͷؔΘΓ • Ϗδωε/ϓϩμΫτͱͷؔΘΓ • ٕज़ͱͷؔΘΓ ͱͳΔͱΒͳ͍ͱ͍͚ͳ͍ͷ
• ͦΕෆՄೳ • CTOEM • ଞͷεςʔΫϗϧμʔͷڠྗ͕ෆՄܽ ͪͳΈʹશ෦ҰਓͰ͍ͬͯΔΘ͚Ͱ͋ Γ·ͤΜ
৫࡞Γʹ͍ͭͯ
• جຊతʹ • Γ͍ͨ͜ͱ͕ଟ͍ • ਓ͕গͳ͍ • Ͱશ෦ૣͬͯ͘ཉ͍͠ • ͱ͍͏ঢ়گͰɺͲΜͳ৫ͮ͘Γ͕ϕετ͔ʁΛߟ͑Δ
৫࡞Γʹ͍ͭͯ
ύζϧͷΑ͏ͳΞαΠϯʹؕͬͨ
ύζϧͷԿ͕ѱ͍͔ • डୗײ͕ग़Δ • νʔϜྗ͕ৢ͞Εͳ͍ • ػೳʹѪண͕ग़ͳ͍ • ͕݉૿͑Δ •
શମͱͯ͠Ͳͷ͘Β͍ͷ։ൃྗ͕͋Δͷ͔͕Α͘Θ͔Βͳ͍ • ܦӦ͕ଟ͘ͷاըΛಉ࣌ʹ͜ͳͤͦ͏ͳงғؾʹؕΔ • ΦʔτεέʔϦϯά͍ͯ͠ΔΑ͏ͳࡨ֮
νʔϜʹاըΛΞαΠϯ͢Δํ
ظతʹ҆ఆͨ͠ݻఆͨ͠νʔϜ • Ұͭͷػೳʹ͍ͭͯɺاը~։ൃ~ӡ༻·Ͱ • ϝϯόʔͷؔੑͷ্ • νʔϜͷ։ൃྗ͕͔ΕΔͷͰɺձࣾͱͯ͠ͷ։ൃྗ͕Θ͔Δ • ༏ઌ͕มΘͬͨ߹ʹɺશ෦ΔɺͰͳͯ͘ͲΕΛམͱ ͔͢ʁͱ͍͏ٞʹͳΕΔ
νʔϜྗΛ্͛Δ͜ͱ͕։ൃΛ্͛Δ • ݉૿ͯ͠Ұݟ͢ΔͱෳҊ݅͜ͳͯ͠ΔͷͰͳ͘ • Ұͭͷݻఆͨ͠νʔϜ͕νʔϜྗΛ্͛ͯɺνʔϜ͕͜ͳ͢͜ ͱ͕Ͱ͖Δ։ൃྔΛ૿͢
৬ೳผ͔Β৬ೳԣஅ • νʔϜྗΛ্͛ΔํมʹΑΓEMͷมԽ • ৬ೳผͷϚωδϝϯτϥΠϯ͔Β৬ೳԣஅͷϚωδϝϯτϥΠ ϯ • EM͕ΑΓձࣾͷՌʹίϛοτͰ͖Δମ੍ʹ
Ϗδωε/ϓϩμΫτͱͷؔΘΓʹ͍ͭͯ
ձ͕ࣾΓ͍ͨ͜ͱʹରͯ͠ɺΤϯδχΞϦϯά͓Αͼ ΤϯδχΞ৫Λ͍ͯɺ࠷ળͷํ๏Ͱ࣮ݱ͍ͯ͘͠ 71P&ͷࣗ෦Λ҆ఆͤ͞Δ͜ͱͰͳ͍
ձࣾͷΓ͍ͨ͜ͱ ܦӦɾϓϩμΫτऀ VPoE ࣮ߦஈ֊ اը৬ ΤϯδχΞ σβΠφ QA ϏδωεϓϩμΫτͱͷڑΛݶΓͳ͘ʹ
• ͜ͷڑ͕͍ͱదͳνʔϜߏ͕ ࡞Εͳ͍ • ਖ਼͍͠ධՁɺਖ਼͍͠ҭɺਖ਼͍͠࠾༻ • ਖ਼͍͠৫Λ࡞Δ্Ͱ࠷ඞཁͳཁ݅ • ձࣾͷΓ͍ͨ͜ͱɺ༏ઌॱҐΛத ظతʹਖ਼͘͠ཧղ͢Δ
ձࣾͷΓ͍ͨ͜ͱ ܦӦɾϓϩμΫτऀ VPoE ϏδωεϓϩμΫτͱͷڑΛݶΓͳ͘ʹ
• ͜ͷڑ͕͍ͱຊͷҙຯͰͷ৬ೳ ԣஅνʔϜ͕Ͱ͖ͳ͍ • ہॴ࠷దͯ͠͠·͏ • ΤϯδχΞͷਓ͕ۃʹଟ͔ͬͨ Γ͢ΔͱؕΔ • શͯͷνʔϜʹհೖ͢ΔࣄͰ͖ͳ͍
ͷͰɺEMଞ෦ॺͱࢥΛ߹ΘͤΔ ࣮ߦஈ֊ اը৬ ΤϯδχΞ σβΠφ QA ϏδωεϓϩμΫτͱͷڑΛݶΓͳ͘ʹ
• దͳࡋྔΛ࣋ͬͨEM͕֤νʔϜʹ͍Δ͜ͱ͕େ • ֤νʔϜͷݸผࣄ·ͰVPoE͕ೖ͍ͬͯ͘ͱશମઓུͷํ ʹ͕࣌ؒ͘͞ͳ͘ͳΔ • ͜͜ʹ͕࣌ؒආ͚ͳ͍ͱ͔ͳΓ͍ • EM͕దͳࡋྔΛ͍࣋ͬͯͳ͍ͱΓݸผ࠷దʹؕΔ •
جຊશ෦ͤΔ 71P&ʹͱͬͯ࠷ॏཁਓ&OHJOFFSJOH.BOBHFS
ٕज़ͱͷؔΘΓ
• ͜Ε͕Ұ൪͍͠ • ͪΐͬͱؾΛൈ͘ͱΰϛर͍͓͡͞ΜʹͳΔ • CTOͱҰॹʹΔ • ࣾͷϘτϧωοΫΛ୳ͯ͠ςίೖΕΛ͢Δҙࣝ • ྫ͑…
• ৬ೳԣஅਓࡐͷҭ • R&DͳͲͷऔΓΈ ձࣾʹରٕͯ͠ज़ͰϨόϨοδΛ͔͚Δ
• ࣮R&DΤϯδχΞ͚ͩͰ͏·͍͔͘ͳ͍ • Ͳ͏ͬͯϓϩμΫτʹΈࠐΉ͔ɺͲ͏ϥΠϯʹ ࡌͤΔ͔ɺͱ͍ͬͨͭͳ͗ࠐΈ͕େࣄ • ͕ͦ͜Ͱ͖ͣʹ͍ΖΜͳࣦഊΛͨ͠ 3%ΛਐΊΔʹٕज़ྗ͚ͩͰͩΊ
• ΞΧσϛΞΑΓͷਓࡐͷ࠾༻͔Βελʔτ • Ϟσϧग़དྷ্͕Δ͕ɺϦϦʔεͷύΠϓϥΠϯMLOpsͷඋ͕Ͱ͖ͣɺվળ ͕͏·͘ճΒͳ͍ঢ়ଶʹ • αʔόʔαΠυΤϯδχΞΛίϯόʔτ͢ΔࣄͰճΓͷඋؚΊͯऔΓΊ ΔΑ͏ʹͳΔ • ୯ମػೳͱͯ͠ग़དྷ্͕͖͕ͬͯͨɺαʔϏεͷϢʔβʔମݧʹ߹Θͤͨઃ
ܭ͕Ͱ͖͍ͯͳ͍ͳͲͷ͕ൃੜ • اըऀΛר͖ࠐΈɺϢʔβʔͷମݧʹԊͬͨػೳͱͯ͠Ϟσϧ͚ͩͰͳ͘ UIUXؚΊͨνϡʔχϯάΛ࢝ΊΔ "*ܥͷϓϩδΣΫτͷาΈ
ͦͷଞ
Կ͔ͷࢪࡦΛ࢝Ίͯগ͠ܦͬͯײ৮͕ͳͯ͘Ί͛ͳ͍ • ϑΝΫτϑϧωεͷੈքʹ͍ۙ • গͣͭ͠ঢ়گ͕มΘ͍ͬͯͯؾ͔ͮͳ͍ • ؾͮ͘ࠒʹେ͖͘มΘ͍ͬͯΔ • ݸਓతʹ͕͜͜Ұ൪Γ͕͍Λײ͡Δ ใୡɾงғؾୡʹ͍ͭͯ
• తͳ͘μΠόʔγςΟΛ্͛ͯμϝ • μΠόʔγςΟΛ্͛ΔͨΊʹμΠόʔγςΟΛ্͛ΔͷNG • ྫ͑ɺ֎ࠃਓΛ࠾༻͍ͨ͠ͳΒɺຊਓͷײ֮ͰཧղͰ͖ͳ ͍͜ͱΛड͚ೖΕΔ͕ඞཁ ৫ͷμΠόʔγςΟ
·ͱΊ
·ͱΊ • VPoEͷීวతͳΞϯνύλʔϯͳ͍͔͠Εͳ͍ • ੈͷதͷ͋;Ε͍ͯΔใɺલఏ͕݅େ͖͘ҟͳΔͷ ͰશͯΛӏವΈʹ͢Δͱ݁ߏؒҧ͑Δ͜ͱ͕ଟ͍ • ಛʹ৫ͷਓʹେ͖͘ґଘ͢ΔͷͰɺ৫ΛΑ͘؍ ͯ͠ɺதظతͳࢹͰࢪࡦΛਏ๊ڧ͘Δ͜ͱ͕େ