Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
VPoEのアンチパターンを考える / VPoE Anti-Pattern
Kenji Suzuki
September 17, 2020
Technology
1
210
VPoEのアンチパターンを考える / VPoE Anti-Pattern
VPoEが語るエンジニア組織マネジメント iCARE Dev Meetup #13 での登壇資料です
https://icare.connpass.com/event/186557/
Kenji Suzuki
September 17, 2020
Tweet
Share
More Decks by Kenji Suzuki
See All by Kenji Suzuki
kenjiszk
7
2.3k
kenjiszk
2
780
kenjiszk
2
480
kenjiszk
0
460
kenjiszk
0
640
kenjiszk
1
280
kenjiszk
0
1.5k
kenjiszk
1
1.5k
kenjiszk
0
3.4k
Other Decks in Technology
See All in Technology
kanaugust
PRO
0
110
ama_ch
0
3.7k
oracle4engineer
0
2.7k
kakka
0
3.7k
_kensh
1
180
kappa4
4
2.4k
i35_267
0
140
texmeijin
1
290
sakon310
4
4.3k
kawaguti
0
120
kanaugust
PRO
0
240
sasakendayo
2
440
Featured
See All Featured
tanoku
258
24k
62gerente
587
200k
chrislema
231
16k
kneath
219
15k
geoffreycrofte
19
800
hannesfritz
27
930
jacobian
255
20k
jakevdp
775
200k
skipperchong
7
670
malarkey
119
16k
sstephenson
144
12k
pedronauck
652
110k
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ͷීวతͳΞϯνύλʔϯͳ͍͔͠Εͳ͍ • ੈͷதͷ͋;Ε͍ͯΔใɺલఏ͕݅େ͖͘ҟͳΔͷ ͰશͯΛӏವΈʹ͢Δͱ݁ߏؒҧ͑Δ͜ͱ͕ଟ͍ • ಛʹ৫ͷਓʹେ͖͘ґଘ͢ΔͷͰɺ৫ΛΑ͘؍ ͯ͠ɺதظతͳࢹͰࢪࡦΛਏ๊ڧ͘Δ͜ͱ͕େ