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
SUZUKI Ryo
October 28, 2016
1
1.2k
フィードフォースのエンジニア組織デザイン
弊社の開発チーム体制がどのような考えに基づいているのか、社内勉強会で説明した資料です。
SUZUKI Ryo
October 28, 2016
Tweet
Share
More Decks by SUZUKI Ryo
See All by SUZUKI Ryo
英語の本をこんな風に読んでいます / My training in reading English
hapicky
0
480
フィードフォースにおけるManagement3.0的な取り組み
hapicky
0
400
フィードフォースのエンジニア環境
hapicky
0
270
20160318LT.pdf
hapicky
1
180
情報共有ツールお悩みNight #2 LT資料
hapicky
8
4.2k
マネジメントの仕事を図で説明してみる
hapicky
1
460
Self introduction 2014
hapicky
1
240
Let's マシュマロチャレンジ!
hapicky
0
970
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
Documentation Writing (for coders)
carmenintech
69
4.7k
The Language of Interfaces
destraynor
157
25k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
GraphQLとの向き合い方2022年版
quramy
46
14k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
13
1.4k
BBQ
matthewcrist
88
9.6k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
ΤϯδχΞ৫σβΠϯ ɹ 2016/10/28 feedforceࣾษڧձ Ryo Suzuki(@hapicky)
ຊͷझࢫ » ݱࡏͷΤϯδχΞ৫ମ੍͕ͲͷΑ͏ͳߟ͑ʹج͍ͮ ͍ͯΔ͔ͬͯΒ͏ ܅ࠓ͔ΒϚωʔδϟʔ » ՝Λڞ༗͠ɺࠓޙʹ͚ͨҙݟΛืΔ » ᝦϑΟʔυόοΫେܴ »
͜ͷϙΠϯτ͕ͨΊʹͳͬͨ » ͬͱҧ͏/ͬͱৄ͘͠ฉ͖͍ͨ » ͬͱ͜͏ͨ͠ํ͕Α͘Ͷʁetc
͢ਓ » CTO » not founder » 20121݄͔ΒΤϯδχΞΛ౷ׅ » ೝఆεΫϥϜϚελʔ(expired)
» ৫ɺਓؒɺνʔϜɺϑΝγϦςʔγϣϯ͕
ϑΟʔυϑΥʔεʹ͍ͭͯ » https://www.feedforce.jp/ » ϚʔέςΟϯάؔ࿈ͷSaaS։ൃ/ఏڙ(BtoB) » ࣄۀυϝΠϯ͕ҟͳΔෳͷϓϩμΫτΛల։ » ʹ1,2݅ͷ৽نϓϩμΫτ։ൃ »
10ͷྺ࢙Λ࣋ͭϓϩμΫτ
৫σβΠϯͱ
৫σβΠϯͱ ܉ࣄ৫Ͱ͋Ζ͏ͱɺاۀ৫Ͱ͋Ζ͏ͱɺ৫ͱݺ ΕΔͷͷಛɺجຊతʹۀͱௐͷೋͭͰ͋Δɺ ͱຊॻͰߟ͍͑ͯΔɻ (1) ۀ: ׂ͕͚ΒΕɺͦΕͧΕͷׂΛ͚Δ͜ͱ Ͱɺͨͱ͑ઐੑΛൃشͤ͞ΔͳͲɺԿΒ͔ͷϝϦο τΛٻ͍ͯ͠Δ (2)
ௐ: ۀͷҰ෦ͣͭΛ୲͍ͬͯΔਓʑͷ׆ಈ͕ɺ࣌ ؒతɾۭؒతʹௐ͞Εɺଟͷਓʑͷ׆ಈ͕ɺ͔͋ͨ ҰͭͷશମͰ͋Δ͔ͷΑ͏ʹ࿈ಈͯ͠ಈ͘Α͏ʹͳͬ ͍ͯΔ(͋Δ͍ɺͦ͏ͳΖ͏ͱྗ͍ͯ͠Δ)
৫σβΠϯͱ ʮ৫Λઃܭ͢Δʯͱ͍͏࡞ۀɺۀΛઃܭ͠ɺਓʑ ͷ׆ಈ͕࣌ؒతɾۭؒతʹௐ͞ΕͨͷʹͳΔΑ͏ͳ Λࢪ͢͜ͱ Ͱ͋ΓɺͦͷΑ͏ʹͯ͠ग़དྷ্͕ͬͨ ۀͱௐखஈͷύλʔϯ͕৫σβΠϯͳͷͰ͋Δɻ — ʰ৫σβΠϯʱp.16
৫σβΠϯͱ » ͲΜͳ৫Ͱ͋ͬͯنͷ֦େࣄۀͷ૿ՃʹΑΓ ۀͷඞཁੑ͕ߴ·Δ » ۀͷํʹ͍Ζ͍Ζ͋Δ͕ɺͦΕͧΕʹϝϦο τ/σϝϦοτ͕͋Δ » ۀ୲౷߹͢ΔͨΊͷʮௐʯൃੜͤ͞Δ »
͏·͘ۀΛઃܭ͢Δ͜ͱͰʮࣗવͱௐ͞ΕΔʯ ʮશମͱͯ͠ྑ͍݁Ռʹͭͳ͕Γ͍͢ʯঢ়ଶΛ࡞Γ ग़ͤΔͱߟ͍͑ͯΔ
ΤϯδχΞ৫ͱ ࣮ͯ͠ݱ͍ͨ͜͠ͱ
ΤϯδχΞ৫ͱ࣮ͯ͠ݱ͍ͨ͜͠ͱ (اۀͱͯ͠) » ϏδωεཁٻΛεϐʔσΟʹ࣮ݱ͢Δ͜ͱ » ͷࢄ(ෳϓϩμΫτల։) » ࣋ଓՄೳੑͷ֬อ
ΤϯδχΞ৫ͱ࣮ͯ͠ݱ͍ͨ͜͠ͱ (ཧ೦ͱͯ͠) » ʮಘҙͳ͜ͱ͕׆͖ۤखͳ͜ͱ͕ද໘Խ͠ͳ͍ʯ( ఱಊݩࣾؠా૱ࢯ) » HOBO NIKKAN ITOI SHINBUN
- 1101.com » ΤϯδχΞݸʑਓֶ͕ͼଓ͚ΒΕΔɺ৫ͱֶͯ͠ͼ ͕ڞ༗͞ΕΔڥ(ֶश͢Δ৫ɺڠௐֶश) » ਓؒͰͳ͘γεςϜ(Έ)ʹ͢Δ(γεςϜ ࢥߟͷߟ͑ํ)
͜͏͍ͬͨ͜ͱ͕࣮ݱ͞ΕΔ ৫ΛσβΠϯ͍ͨ͠
͜͜·Ͱલஔ͖
ϑΟʔυϑΥʔεΤϯδχΞ͕ ܦݧ͖ͯͨ͠ۀͷύλʔϯ
1. ฒྻۀ » ಉ͡ྨͷࣄΛෳͷ୲ ऀʹಉ࣌ฒߦͯ͠ਐΊͯ Β͏͜ͱ » ͋ΔϓϩμΫτ͕ओྗͩͬ ͨࠒɺ΄ͱΜͲͷΤϯδχ Ξ͕1ਓ1ϓϩδΣΫτ୲
͍ͯͨ͠ » 1ϓϩδΣΫτͷظؒ 1ϲ݄ఔ » ࠷େͰ6,7ਓ΄Ͳ
1. ฒྻۀ » ϝϦοτ » ฒྻ࣮ߦ͕࠷େʹ » σϝϦοτ » ݸਓͷೳྗ͕ϓϩδΣ
Ϋτͷ൱ʹ݁͢Δ » ݁Ռͱͯ͠શһʹಉ͡ Α͏ͳೳྗಛੑ͕ظ ͞ΕΔ » ڠௐֶशͷػձ͕ൃੜ ͠ʹ͍͘
2. ػೳผۀ » શମʹରͯ͠Ռͨ͢ػೳʹ Ԡͨ͡ۀ » ՌΛ౷߹͠ͳ͚Εશମ ͕Ͱ͖͕͋Βͳ͍ » ྫ:
ΞϓϦ/ΠϯϑϥͰผ ৫
2. ػೳผۀ » ϝϦοτ » ػೳผʹઐੑͷڞ ༗/ٻ͕༰қ » σϝϦοτ »
ௐϘτϧωοΫ͕ ൃੜ͍͢͠ » ݸผ࠷దʹؕΓ͍͢ » ܦҢతͷڞ༗ෆ » Λ֎෦ʹٻΊ͕ͪ
3. ػೳԣஅ৫ ʮػೳԣஅతͰ͋ΔɻΠϯΫ ϦϝϯτΛ࡞͢ΔεΩϧΛ νʔϜͱͯͯ͢͠උ͍͑ͯ Δɻ(։ൃνʔϜͷಛ)ʯ » εΫϥϜΨΠυ ʮνʔϜҎ֎ʹཔΒͣʹ࡞ۀ Λ͛͠ΔೳྗΛ͍࣋ͬͯ
Δɻʯ » ʮεΫϥϜ࣮ફೖʯ
3. ػೳԣஅ৫ » νʔϜ֎ͱͷௐ͕ى͖ͳ ͍ͷͰʮ࡞ۀͷखͪʯͷ ൃੜΛ͑ΒΕΔ » νʔϜ͕ࣗײ(Φʔ φʔγοϓ)Λ͍࣋ͪ͢ »
ଞਓʹͬͯΒͬͨ ͜ͱʹΛ࣋ͪʹ ͍͘ͷ
ྺ࢙ » ฒߦۀ(1ਓ1ϓϩδΣΫτ) » ػೳผۀ(ΞϓϦͱΠϯϑϥ͕ผ) » ػೳԣஅ৫ ͱ͍͏ܦҢΛܦͯɺݱࡏϓϩμΫτຖʹػೳԣஅతͳ ։ൃνʔϜΛἧ͍͑ͯΔɻ
ͪͳΈʹ ʮ৫ͱɺͦͷϏδωεϞσϧͰ࠷େݶʹޮՌ͕ग़Δ Α͏ʹ࠷దԽ͞Ε͍ͯΔʯ » ৫มֵͷ͠͞ͱฒΈΛἧ͑ͳ͍ਐΊํ | Social Change!
ϏδωεϞσϧͱ৫ » ৫ʹͲΜͳಇ͖͕ظ͞ΕΔ͔ʁϏδωεϞσϧ ʹେ͖͘نఆ͞ΕΔ » ͳͷͰ୯ʹཧతͳ৫Λ͍ٻΊΔͷʮͪΐͬ ͱҧ͏ʯͱߟ͍͑ͯΔ » ͠ʮ͜Μͳ৫͕ཧ!ʯͱ͍͏ڧ͍͍͕͋Δͷ Ͱ͋ΕɺͦΕʹ߹͏ϏδωεϞσϧϚωδϝϯτ
Λબ͢Δ/ม͍͑ͯ͘ඞཁ͕͋Δ(ͪΖΜͦΕ͕ଥ Ͱ͋ΔલఏͰ)
[ิ] ʮۀʯ͕ࢦࣔ͢͠ͷ ৫(୭ͱۀ͍ͯ͠Δ/ڠۀ͍ͯ͠Δ)ʹݟ͑ͳ͍ɻ ͔͠͠ҎԼͷͷ͔Βݸʑਓͷҙࣝͱͯ͠࡞ΒΕΔɻ » ৫ਤ(ݖݶࢦࣔܥ౷) » ۀʹ͓͚Δڠௐ/࿈ܞؔ » ԿΛҰॹʹऔΓΉͷ͔
» ใ࣌ؒɺۭؒͷڞ༗/ִͨΓ
ڠۀΛҙࣝͤ͞ΔͨΊͷπʔϧ
ͦͷଞͷऔΓΈ
1. ࣾίϛϡχςΟ׆ಈ » ϑϩϯτΤϯυΤϯδχΞɺΠϯϑϥΤϯδχΞɺ AWSΦϯϥΠϯηϛφʔΛݟΔձͳͲ » ॴଐ͢ΔϓϩμΫτνʔϜʹؔΘΒͣɺઐࣝΛڞ ༗͢ΔͨΊͷू·Γ » ػೳผ৫Λબ͍ͯ͠ͳ͍σϝϦοτΛ؇͢Δޮ
Ռ͋Γ
2. 1νʔϜ1ϓϩμΫτΦʔφʔݪଇ » 1νʔϜʹෳͷϓϩμΫτΛ୲ͯ͠Β͏߹͕ ͋Δ » ͦΕ·͍͜͠ͱͰͳ͍͕ɺ͞ΒʹϓϩμΫτ Φʔφʔผਓͩͱௐසൃͷݩ » ෳϓϩμΫτΛ୲͢Δ߹ͰɺϓϩμΫτΦʔ
φʔ1ਓʹݶఆ͍ͨ͠
3. νʔϜ3ਓҎ্ ʮ։ൃνʔϜͷϝϯόʔ͕ 3 ਓະຬͷ߹ɺ૬ޓ࡞ ༻͕গͳ͘ɺੜ࢈ੑͷ্ʹͭͳ͕Βͳ͍ɻʯ (εΫϥϜΨΠυΑΓ) » 2ਓׂͷݻఆԽҙݟͷিಥ͕ʹͳΓ͍͢ »
3ਓ͍Δ͜ͱͰհऀ/ϑΝγϦςʔλʔ͕ൃੜͯ͠ ࣗવͱεϜʔζʹͳΔ(͜ͱΛظ͍ͯ͠Δ) » εΫϥϜʹ3ͭͷϩʔϧ͕ଘࡏ͢Δ͜ͱಉ͡എܠ͔
4. όϦϡʔνΣʔϯΛҙࣝ
4-1. αϙʔτ/ӡ༻վળΤϯδχΞ » Ұ෦ͷϓϩμΫτͰΤϯδχΞ͕։ൃ()͚ͩͰ ͳ͘ೲ(ྲྀ௨)ʹؔΘΔඞཁ͕͋ͬͨ » ೲ࡞ۀׂΓࠐΈ࡞ۀͱͳΓɺ։ൃͷԆϞν ϕʔγϣϯԼͷݪҼʹ » ೲ࡞ۀʹదੑͷ͋ΔΤϯδχΞΛαϙʔτ/ӡ༻վ
ળΤϯδχΞͱͯ͠Γग़͢͜ͱͰׂΓࠐΈϞν ϕʔγϣϯԼΛղফͤͨ͞
4-2. ࣾITࢧԉϦιʔεΛ੍ݶ » ࣾͷITࢧԉ(ITௐୡωοτϫʔΫཧ)Τϯδχ Ξ͕ؔ༩͍ͯ͠Δ » ҎલΠϯϑϥΤϯδχΞશһͰؔ༩͍͕ͯͨ͠ɺओ ׆ಈͨΔϓϩμΫτ։ൃΛԆͤ͞Δ͜ͱ » ୲ऀΛݶఆͯ͠ओ׆ಈͷӨڹΛݮΒ͢͜ͱʹͨ͠
» ࢧԉ׆ಈͰʮͪʯΛൃੜͤ͞Δ͕ɺࠓओ׆ಈͷ ํ͕ॏཁͱ͍͏ߟ͑(τϨʔυΦϑ)
5. ։ൃج൫νʔϜ » ϓϩμΫτ։ൃνʔϜͱผͷಠཱͨ͠νʔϜͱͯ͠ ൃ » @masutakaΛൈṅ » ֤ϓϩμΫτ։ൃνʔϜʹدΓఴ͍ɺϩά/σʔλج ൫ͷߏஙܧଓతΞοϓσʔτͷ࣮ݱΛࢧԉ
» ࠓΠϯϑϥΤϯδχΞશһΛަ͑ͯϛʔςΟϯά͠ ͍ͯΔ͕ɺ͜Εݟ͍͖͍ͯͨ͠(ޙड़)
ݱࡏͷঢ়گ
ݱࡏͷঢ়گ » ϓϩμΫτຖʹػೳԣஅత νʔϜΛ݁ » ։ൃج൫νʔϜ͕ϓϩμΫ τνʔϜΛࢧԉ » ࣾίϛϡχςΟͰઐ ࣝΛڞ༗
» αϙʔτ/ӡ༻վળνʔϜ (Րน) » ଐCTO͕ຊਓͷرͱ શମ࠷దΛߟྀܾͯ͠ఆ
ࠓޙͷऔΓΈ
ίΞνʔϜ/νʔϜ ίϯαϧλϯτ੍
ίΞνʔϜ/νʔϜίϯαϧλϯτ » ʰεΫϥϜݱΨΠυʱͰհ͞Ε͍ͯΔʮνʔϜͷ ੜ࢈ੑΛ࠷దԽ͢ΔʯͨΊͷΞϓϩʔν » ͜ͷߟ͑ํͷҙࣝ » ձࣾͷͯ͢ΛػೳԣஅతͳઐνʔϜʹͰ͖Δ ΄Ͳ։ൃऀ͕ἧ͍ͬͯͳ͍ »
৭ΜͳνʔϜ͔ΒҾͬுΓͩ͜ͳϝϯόʔ͕͍Δ » νʔϜϓϩμΫτΑΓٕज़ʹϑΥʔΧεͨ͠ ͍։ൃऀ͍Δ
ίΞνʔϜ/νʔϜίϯαϧλϯτ » ղܾࡦ » ٕज़ࢤͰ͋ͬͨΓɺ৭ΜͳνʔϜͰྗΛൃش͠ ͯཉ͍͠։ൃऀΛʮνʔϜίϯαϧλϯτʯͱఆ ٛ͠ɺϓϩμΫτ։ൃνʔϜ(ίΞνʔϜ)ͱͷؔ ΘΓํΛఆٛ͢Δ͜ͱͰੜ࢈ੑΛߴΊΔ
ίΞνʔϜͷఆٛ ʮϓϩδΣΫτʹϑϧλΠϜͰࢀՃ͢ΔϝϯόʔͰߏ ͢ΔɻίΞνʔϜͷϝϯόʔϓϩμΫτͷʹڞಉ ͯ͠Λ࣋ͭɻϓϩδΣΫτ1͚ͭͩʹϑϧλΠϜͰί ϛοτ͢ΔػೳԣஅνʔϜͰ͋Γɺ࡞ۀΛΓସ͑ͨΓ ϚϧνλεΫͨ͠Γ͠ͳ͍ɻʯ
νʔϜίϯαϧλϯτͷఆٛ ʮνʔϜίϯαϧλϯτɺձࣾͷதʹ͍ͯɺνʔϜͱ ϓϩδΣΫτͰΒͳ͍εΩϧΛຒΊͯ͘ΕΔɻ νʔϜίϯαϧλϯτίΞνʔϜϝϯόʔͰͳ͍ɻ νʔϜʹଐ͞ͳ͍ͱݴ͍͍ͬͯɻձࣾ෦ͷʮ༭ ฌʯͱͯ͠ɺࣗͷઐੑΛνʔϜʹചΔͱ͍͏αʔϏ εΛఏڙ͢ΔΜͩɻʯ
͜ͷߟ͑ํͷ؊ » ͕ࣗίΞνʔϜ/νʔϜίϯαϧλϯτͲͪΒΛબ Ϳ͖͔ຊਓ͕Ұ൪Α͍ͬͯ͘Δ(ࢤੑͷ) » ։ൃͷओମ͋͘·ͰίΞνʔϜ » ϓϩμΫτΦʔφʔγοϓͷඞཁੑ » νʔϜίϯαϧλϯτͱͯ͠ظ͞ΕΔಇ͖ํΛ໌ࣔ
͢Δ » ୯ʹٕज़ྗ͕͋Ε͍͍Θ͚Ͱͳ͘ɺίΞνʔ ϜϓϩμΫτʹ͔ͬ͠ΓՁΛఏڙ͢Δ
͜ͷߟ͑ํʹظ͢Δ͜ͱ » ٕज़ࢤͳϝϯόʔ͕ΑΓॊೈʹ׆༂Ͱ͖ΔΑ͏ʹͳ Δ͜ͱ » ίΞνʔϜͷϓϩμΫτΦʔφʔγοϓ͕ਐΈɺεΩ ϧशಘ͕Ճ͢Δ͜ͱ » ಛʹϑϩϯτΤϯυɺΠϯϑϥ෦
ࠓޙͷਐΊํ » ֤ϝϯόʔʹίΞνʔϜ/νʔϜίϯαϧλϯτͲͪ ΒΛࢤ͢Δͷ͔ώΞϦϯά » ώΞϦϯά݁ՌΛड͚ͯίΞνʔϜͷฤΛม͑Δ͜ ͱ͋Γ͏Δ » ج൫νʔϜΛνʔϜίϯαϧλϯτूஂͱͯ͠࠶ఆٛ
·ͱΊ
·ͱΊ » ϓϩμΫτ͝ͱʹػೳԣஅνʔϜΛߏ͠ɺదͳ ͷࢄڠௐ͕࣮ؔݱ͞Ε͖ͯͨ » Ϗδωε͕͠ɺ༏लͳΤϯδχΞ͕ू·Γ/ ҭ͖͔ͬͯͨΒͦ͜ » ίΞνʔϜ/νʔϜίϯαϧλϯτ੍ͷಋೖͰɺ͞Β ʹݸʑਓͷڧΈ͕׆͖Δ։ൃମ੍Λਪਐ͍ͨ͠
ࢀߟจݙ » ৫σβΠϯ (ܦจݿ) : প্ װ » εΫϥϜΨΠυ »
εΫϥϜݱΨΠυ | Mitch Lacey, ҆Ҫ ྗ, ۙ౻ ت, ݪా ٍ » Τοηϯγϟϧ εΫϥϜ: Kenneth Rubin, Ԭᖒ ༟ ೋ, ֯ య, ߴ ਖ਼߂, ஐ ӈܡ » ৫ύλʔϯ | James O. Coplien, Neil B.Harrison, ஐ ӈܡ