VPoEのアンチパターンを考える / VPoE Anti-Pattern

Ba0cce2241a7133aec62afc8ed15a172?s=47 Kenji Suzuki
September 17, 2020

VPoEのアンチパターンを考える / VPoE Anti-Pattern

VPoEが語るエンジニア組織マネジメント iCARE Dev Meetup #13 での登壇資料です
https://icare.connpass.com/event/186557/

Ba0cce2241a7133aec62afc8ed15a172?s=128

Kenji Suzuki

September 17, 2020
Tweet

Transcript

  1. VPoEͷΞϯνύλʔϯΛߟ͑Δ iCARE Dev Meetup #13 FiNC Technologies VPoE @kenjiszk

  2. • @kenjiszk • FiNC Technologies, VPoE • झຯ ϘϧμϦϯά 8IPBN*

  3. ※ ೔ຊࠃ಺ App Store / Google PlayʮϔϧεέΞʢ݈߁ʣ/ϑΟοτωεʯΧςΰϦ ʹ͓͚Δ1೥ؒʢ2019೥1݄ʙ12݄ʣͷμ΢ϯϩʔυ਺ͷ߹ࢉͰ͢ʗग़యɿApp Annie

  4. None
  5. • ͍ͨͦ͏ͳλΠτϧͰ͋Δ • ৭ʑͱ౿ΜͰ͖ͯ͸͍ΔͷͰҰॿʹͳΕ͹͍͍͔ͳͱ • VPoE͚ͩͰͳ͘EMͷ࣌ͷ࿩΋͠·͢ 71P&Ξϯνύλʔϯʁ

  6. 71P&Ξϯνύλʔϯʁ ςʔϚԿ͕͍͍͔ͬ͢Ͷʔ @kenjiszk @threetreeslight FiNC͞Μ৭ʑࢼͯ͠Δ͠ɺVPoEͷΞϯ νύλʔϯͱ͔͍͍Μ͡Όͳ͍͔͢ʔʁ @kenjiszk ͓ɺ͍͍͢Ͷɺ͡Ό͋ͦΕʹ͠·͢

  7. ͍͟ߟ͑ͯΈͨΒ͘͢͝೉͍͠ςʔϚͩͬͨ 71P&Ξϯνύλʔϯʁ

  8. Ұपճͬͯࢥͬͨ͜ͱ ΞϯνύλʔϯͳΜͯͳ͍ͷͰ͸ʁʁʁ 71P&Ξϯνύλʔϯʁ

  9. ਖ਼֬ʹ͍͏ͱɺ શͯͷ૊৫ʹڞ௨ͯ͠ར༻Ͱ͖ΔΞϯνύλʔϯ͕ແ͍ 71P&Ξϯνύλʔϯ͸ແ͍ʁ

  10. 71P&Ξϯνύλʔϯ͸ແ͍ʁ VPoE ૊৫ن໛ ૊৫ߏ੒ ϓϩμΫτ CTO ܦӦਞ ച্ن໛ EM Ϛʔέοτ

  11. FiNC TechnologiesͰ΍͖ͬͯͨࣄΛͳΔ΂͘ந৅Խ͠ ͓ͯ࿩͠͠·͢ ͳͷͰ͋·ΓΞϯνύλʔϯ͡Όͳ͍಺༰΋ؚ·Ε·͢ 71P&Ξϯνύλʔϯ͸ແ͍ʁ

  12. • FiNC Technologies ࠷ॳͷΠϯϑϥΤϯδχΞͱͯ͠ೖࣾ • SREνʔϜ͕ग़དྷΔɺࣗಈతʹEM(Engineering Manager)ʹ • ෳ਺ͷνʔϜΛݟΔΑ͏ʹͳΔ •

    VPoEʹͳΔ(2୅໨) ܦྺ
  13. • ͍͍note͕͋Γ·͢ • લ೚VPoE͕·ͱΊͨVPoE handbook • https://note.com/shimizu/m/mfd50fcdbf07f 71P&ͷ࢓ࣄͬͯͳΜͩʁ

  14. ͓͞Β͍

  15. 71P&ͷ੹೚ൣғ ࣗ෼ͷ૊৫ = ΤϯδχΞ ࣗ෼ͷӨڹ͕ٴͿྡ઀ॾ૊৫ = VPoE Ͱ͋Ε͹͓ͦΒ͘શ෦໳

  16. 71P&ͷ෢ث ٕज़ : ΤϯδχΞग़਎Ͱ͋Δ͜ͱ͕ଟ͍͸ͣ ϚωδϝϯτɿͳΜΒ͔ͷϚωδϝϯτܦݧΛܦͯVPoEʹ ͳΔ͸ͣ

  17. • ձ͕ࣾ΍Γ͍ͨ͜ͱΛ • ΤϯδχΞ෦໳Λ཰͍ͯ • ࣮ߦ͍ͯ͘͠ 71P&͕΍Βͳ͍ͱ͍͚ͳ͍͜ͱ

  18. 71P&ͷઓ৔ ٕज़ Ϛωδϝϯτ ࣗ෦໳ ྡ઀෦໳ ͜ͷล

  19. • ૊৫ͱͷؔΘΓ • Ϗδωε/ϓϩμΫτͱͷؔΘΓ • ٕज़ͱͷؔΘΓ ͱͳΔͱ΍Βͳ͍ͱ͍͚ͳ͍ͷ͸

  20. • ͦΕ͸ෆՄೳ • CTO΍EM • ଞͷεςʔΫϗϧμʔͷڠྗ͕ෆՄܽ ͪͳΈʹશ෦ҰਓͰ΍͍ͬͯΔΘ͚Ͱ͸͋ Γ·ͤΜ

  21. ૊৫࡞Γʹ͍ͭͯ

  22. • جຊతʹ͸ • ΍Γ͍ͨ͜ͱ͕ଟ͍ • ਓ͕গͳ͍ • Ͱ΋શ෦ૣ͘΍ͬͯཉ͍͠ • ͱ͍͏ঢ়گͰɺͲΜͳ૊৫ͮ͘Γ͕ϕετ͔ʁΛߟ͑Δ

    ૊৫࡞Γʹ͍ͭͯ
  23. ύζϧͷΑ͏ͳΞαΠϯʹؕͬͨ

  24. ύζϧͷԿ͕ѱ͍͔ • डୗײ͕ग़Δ • νʔϜྗ͕ৢ੒͞Εͳ͍ • ػೳʹѪண͕ग़ͳ͍ • ݉຿͕૿͑Δ •

    શମͱͯ͠Ͳͷ͘Β͍ͷ։ൃྗ͕͋Δͷ͔͕Α͘Θ͔Βͳ͍ • ܦӦ͕ଟ͘ͷاըΛಉ࣌ʹ͜ͳͤͦ͏ͳงғؾʹؕΔ • ΦʔτεέʔϦϯά͍ͯ͠ΔΑ͏ͳࡨ֮
  25. νʔϜʹاըΛΞαΠϯ͢Δํ޲΁

  26. ௕ظతʹ҆ఆͨ͠ݻఆͨ͠νʔϜ • Ұͭͷػೳʹ͍ͭͯɺاը~։ൃ~ӡ༻·Ͱ • ϝϯόʔͷؔ܎ੑͷ޲্ • νʔϜͷ։ൃྗ͕͸͔ΕΔͷͰɺձࣾͱͯ͠ͷ։ൃྗ͕Θ͔Δ • ༏ઌ౓͕มΘͬͨ৔߹ʹɺશ෦΍ΔɺͰ͸ͳͯ͘ͲΕΛམͱ ͔͢ʁͱ͍͏ٞ࿦ʹͳΕΔ

  27. νʔϜྗΛ্͛Δ͜ͱ͕։ൃ଎౓Λ্͛Δ • ݉຿૿΍ͯ͠Ұݟ͢Δͱෳ਺Ҋ݅͜ͳͯ͠ΔͷͰ͸ͳ͘ • Ұͭͷݻఆͨ͠νʔϜ͕νʔϜྗΛ্͛ͯɺνʔϜ͕͜ͳ͢͜ ͱ͕Ͱ͖Δ։ൃྔΛ૿΍͢

  28. ৬ೳผ͔Β৬ೳԣஅ΁ • νʔϜྗΛ্͛Δํ਑ม׵ʹΑΓEMͷ੹຿΋มԽ • ৬ೳผͷϚωδϝϯτϥΠϯ͔Β৬ೳԣஅͷϚωδϝϯτϥΠ ϯ΁ • EM͕ΑΓձࣾͷ੒ՌʹίϛοτͰ͖Δମ੍ʹ

  29. Ϗδωε/ϓϩμΫτͱͷؔΘΓʹ͍ͭͯ

  30. ձ͕ࣾ΍Γ͍ͨ͜ͱʹରͯ͠ɺΤϯδχΞϦϯά͓Αͼ ΤϯδχΞ૊৫Λ཰͍ͯɺ࠷ળͷํ๏Ͱ࣮ݱ͍ͯ͘͠ 71P&ͷ੹຿͸ࣗ෦໳Λ҆ఆͤ͞Δ͜ͱͰ͸ͳ͍

  31. ձࣾͷ΍Γ͍ͨ͜ͱ ܦӦɾϓϩμΫτ੹೚ऀ VPoE ࣮ߦஈ֊ اը৬ ΤϯδχΞ σβΠφ QA ϏδωεϓϩμΫτͱͷڑ཭ΛݶΓͳ͘ʹ

  32. • ͜ͷڑ཭͕௕͍ͱద੾ͳνʔϜߏ੒͕ ࡞Εͳ͍ • ਖ਼͍͠ධՁɺਖ਼͍͠ҭ੒ɺਖ਼͍͠࠾༻ • ਖ਼͍͠૊৫Λ࡞Δ্Ͱ࠷΋ඞཁͳཁ݅ • ձࣾͷ΍Γ͍ͨ͜ͱɺ༏ઌॱҐΛத௕ ظతʹਖ਼͘͠ཧղ͢Δ

    ձࣾͷ΍Γ͍ͨ͜ͱ ܦӦɾϓϩμΫτ੹೚ऀ VPoE ϏδωεϓϩμΫτͱͷڑ཭ΛݶΓͳ͘ʹ
  33. • ͜ͷڑ཭͕௕͍ͱຊ౰ͷҙຯͰͷ৬ೳ ԣஅνʔϜ͕Ͱ͖ͳ͍ • ہॴ࠷దͯ͠͠·͏ • ΤϯδχΞͷਓ਺͕ۃ୺ʹଟ͔ͬͨ Γ͢ΔͱؕΔ • શͯͷνʔϜʹհೖ͢Δࣄ͸Ͱ͖ͳ͍

    ͷͰɺEM΍ଞ෦ॺͱࢥ૝Λ߹ΘͤΔ ࣮ߦஈ֊ اը৬ ΤϯδχΞ σβΠφ QA ϏδωεϓϩμΫτͱͷڑ཭ΛݶΓͳ͘ʹ
  34. • ద੾ͳࡋྔΛ࣋ͬͨEM͕֤νʔϜʹ͍Δ͜ͱ͕େ੾ • ֤νʔϜͷݸผࣄ৘·ͰVPoE͕ೖ͍ͬͯ͘ͱશମઓུͷํ ʹ͕࣌ؒ͘͞ͳ͘ͳΔ • ͜͜ʹ͕࣌ؒආ͚ͳ͍ͱ͔ͳΓ΍͹͍ • EM͕ద੾ͳࡋྔΛ͍࣋ͬͯͳ͍ͱ΍͸Γݸผ࠷దʹؕΔ •

    جຊશ෦೚ͤΔ 71P&ʹͱͬͯ࠷ॏཁਓ෺͸&OHJOFFSJOH.BOBHFS
  35. ٕज़ͱͷؔΘΓ

  36. • ͜Ε͕Ұ൪೉͍͠ • ͪΐͬͱؾΛൈ͘ͱΰϛर͍͓͡͞ΜʹͳΔ • CTOͱҰॹʹ΍Δ • ࣾ಺ͷϘτϧωοΫΛ୳ͯ͠ςίೖΕΛ͢Δҙࣝ • ྫ͑͹…

    • ৬ೳԣஅਓࡐͷҭ੒ • R&DͳͲͷऔΓ૊Έ ձࣾʹରٕͯ͠ज़ͰϨόϨοδΛ͔͚Δ
  37. • ࣮͸R&D͸ΤϯδχΞ͚ͩͰ͸͏·͍͔͘ͳ͍ • Ͳ͏΍ͬͯϓϩμΫτʹ૊ΈࠐΉ͔ɺͲ͏ϥΠϯʹ ࡌͤΔ͔ɺͱ͍ͬͨͭͳ͗ࠐΈ͕େࣄ • ͕ͦ͜Ͱ͖ͣʹ͍ΖΜͳࣦഊΛͨ͠ 3%ΛਐΊΔʹ͸ٕज़ྗ͚ͩͰ͸ͩΊ

  38. • ΞΧσϛΞΑΓͷਓࡐͷ࠾༻͔Βελʔτ • Ϟσϧ͸ग़དྷ্͕Δ͕ɺϦϦʔεͷύΠϓϥΠϯ΍MLOpsͷ੔උ͕Ͱ͖ͣɺվળ ͕͏·͘ճΒͳ͍ঢ়ଶʹ • αʔόʔαΠυΤϯδχΞΛίϯόʔτ͢ΔࣄͰ଍ճΓͷ੔උ΋ؚΊͯऔΓ૊Ί ΔΑ͏ʹͳΔ • ୯ମػೳͱͯ͠͸ग़དྷ্͕͖͕ͬͯͨɺαʔϏε಺ͷϢʔβʔମݧʹ߹Θͤͨઃ

    ܭ͕Ͱ͖͍ͯͳ͍ͳͲͷ໰୊͕ൃੜ • اը੹೚ऀΛר͖ࠐΈɺϢʔβʔͷମݧʹԊͬͨػೳͱͯ͠Ϟσϧ͚ͩͰ͸ͳ͘ UIUX΋ؚΊͨνϡʔχϯάΛ࢝ΊΔ "*ܥͷϓϩδΣΫτͷาΈ
  39. ͦͷଞ

  40. Կ͔ͷࢪࡦΛ࢝Ίͯগ͠ܦͬͯײ৮͕ͳͯ͘΋Ί͛ͳ͍ • ϑΝΫτϑϧωεͷੈքʹ͍ۙ • গͣͭ͠ঢ়گ͕มΘ͍ͬͯͯ΋ؾ͔ͮͳ͍ • ؾͮ͘ࠒʹ͸େ͖͘มΘ͍ͬͯΔ • ݸਓతʹ͸͕͜͜Ұ൪΍Γ͕͍Λײ͡Δ ৘ใ఻ୡɾงғؾ఻ୡʹ͍ͭͯ

  41. • ໨త΋ͳ͘μΠόʔγςΟΛ্͛ͯ΋μϝ • μΠόʔγςΟΛ্͛ΔͨΊʹμΠόʔγςΟΛ্͛Δͷ͸NG • ྫ͑͹ɺ֎ࠃਓΛ࠾༻͍ͨ͠ͳΒɺ೔ຊਓͷײ֮Ͱ͸ཧղͰ͖ͳ ͍͜ͱΛड͚ೖΕΔ౔୆͕ඞཁ ૊৫ͷμΠόʔγςΟ

  42. ·ͱΊ

  43. ·ͱΊ • VPoEͷීวతͳΞϯνύλʔϯ͸ͳ͍͔΋͠Εͳ͍ • ੈͷதͷ͋;Ε͍ͯΔ৘ใ͸ɺલఏ৚͕݅େ͖͘ҟͳΔͷ ͰશͯΛӏವΈʹ͢Δͱ݁ߏؒҧ͑Δ͜ͱ͕ଟ͍ • ಛʹ૊৫಺ͷਓʹେ͖͘ґଘ͢ΔͷͰɺ૊৫಺ΛΑ͘؍࡯ ͯ͠ɺத௕ظతͳࢹ఺ͰࢪࡦΛਏ๊ڧ͘΍Δ͜ͱ͕େ੾