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
Engineering Manager in Action
Search
Koichi ITO
December 06, 2022
Business
4
2.4k
Engineering Manager in Action
Koichi ITO
December 06, 2022
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Carving the Way to Ruby Engineering
koic
3
800
Beyond the RuboCop Defaults
koic
3
3.6k
Minify Ruby Code
koic
2
2.2k
Permanent Agility
koic
37
7.9k
RuboCop: LSP and Prism
koic
3
4.4k
Organizational Pattern Hatching
koic
0
1.5k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
2k
A Story Featuring Right Hand Archetype
koic
0
1.1k
Without Practice, No Emergence
koic
4
2.5k
Other Decks in Business
See All in Business
5分でわかる松鶴建設 | Shokaku Recruit
shokaku_recruit
0
560
総合研究院の概要|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
1.4k
マリッシュサービス資料
marrish
0
190
Atlassian Community Event Tokyo #69/ Confluence/JSM 全社導入展開 ナレッジマネジメント成功の秘訣
yo_freee
1
550
ホラクラシー組織の比較
hashiyaman
0
200
Sales Marker Culture Book(English)
salesmarker
PRO
2
3.8k
キャッチアップ会社紹介
catchup
2
52k
株式会社Plott Company Deck
plott
0
1.2k
国立大学法人等職員仕事ガイド(北海道地区)
univstaffhokkaido
0
2.5k
株式会社スピークバディ 会社紹介資料
speakbuddy
1
220k
SendGrid Night #10「ワンクリック配信停止の最新情報」
ken_yoshi
0
260
Eco-Pork Impact Report 2025.02.09 JP
ecopork
0
380
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
137
6.8k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
A better future with KSS
kneath
238
17k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
330
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Transcript
ҏ౻ߒҰ&4. *OD ϋϯζΦϯ ΤϯδχΞϦϯάϚωʔδϟʔ Ќ Engineering Manager in Action ެ։൛
&.ং
Ϛωδϝϯτ ͱԿ͔
Ϛωδϝϯτͱ
w ҐͱݖྗΛ࣋ͭͷͰͳ͍ w ෦ԼΛ࣋ͭͷ͕ϚωδϝϯτͰͳ͍ w ෦Լͷಇ͖Λ࣋ͭͷʹΛ࣋ͭ͜ͱ͕ ϚωδϝϯτͰͳ͍ Θ͔Δ͔ͳʁ w
ࣝΛߦಈʹ۩ମԽ͢Δ͜ͱʹΛ࣋ͭͷ υϥοΧʔࢣᐌ͘
ཧ͢Δͷ͔Β Ϧʔυ͢Δͷ ·ͣ͜͜ΛຊฤͷೖΓޱͱ͠·͠ΐ͏
ຊฤ&.ͷ ఆٛ
w POͰϐʔϓϧϚωδϝϯτͯͨ͠Β&. w ϓϩμΫτ։ൃͷνʔϜϏϧυͨ͠Β&. w ϓϩδΣΫτΛςοΫϦʔυͯͨ͠Β&. w
ϓϩδΣΫτཁһܭըΛߦͯͨ͠Β&. w ܦӦऀͱ։ൃऀͷதؒཧ৬Λͨ͠Β&. ԿΛͨ͠Β&.ͳͷʁ🤔
w ϝϯόʔϓϩμΫτͱϓϩδΣΫτΛ ͱ͓ͯ͠Ͱ͖͍ͯΔʁ w ݱͰͷ༷ʑͳղܾೳྗΛɺࣾձʹ͑Β Ε͍ͯΔʁ w ΤϯδχΞϦϯάྗΛഎܠʹϚωδϝϯτ Λߦ͢Δ ৫ݱͰͷڱؒʹ͋Δ
91ࡇΓجௐߨԋΑΓ 5BLFTIJ,BLFEB
ΤϯδχΞϦϯάͱԿͰ͔͢ʁ
ΤϯδχΞϦϯάͱԿͰ͔͢ʁ ୭͕͍ͬͯۙ݁ՌΛ ग़ͤΔΑ͏ʹ͢ΔΈ
ΤϯδχΞϦϯάͱԿͰ͔͢ʁ ٕܳ ୭͕͍ͬͯۙ݁ՌΛ ग़ͤΔΑ͏ʹ͢ΔΈ !LBNJQP
w ࣄۀࣄۀ෦TPNFUIJOHFMTFΛ୳͢ w ച্ɺӦۀɺ࠾༻ɺҭɺΩϟϦΞͳͲ՝ࢁ w ΤϯδχΞ৫ͷ՝Λදग़ͤͨ͞ઌͷ ΤϯδχΞϦϯάύʔτΛओ୲ͰϚωδϝϯτ ܦӦϚωʔδϟͷTPNFUIJOHFMTFͨΕ େࣄͳͷ ܦӦϚωʔδϟͱͷೋਓࡾ٭
ձࣾͷൟӫͱࣾһશһͷ͕ৗʹҰக͢Δ ܦӦΛߦ͏ɻ গਫ਼ӶओٛΛ؏͘ϢχʔΫͳूஂΛࢦ͠ɺ ιϑτΣΞ։ൃΛ௨͡ɺࣾձʹߩݙ͢Δɻ ΛॏΜ͡ɺνʔϜϓϨʔΛத৺ʹߴೳɾ ߴརӹΛ͋͛ɺ৴༻ͷ૿େΛਤΔɻ ࣾੋ
ࣾੋʹج͍ͮͯܦӦํΛ࠶֬ೝͯ͠Έ·͠ΐ͏
ٕܳΛ࣋ͬͯ ٕܳूஂͷ৫͕࣋ͭ ࣝΛߦಈʹ۩ମԽ͢Δ IUUQTUXJUUFSDPNNPSJNPSJIPHFTUBUVT ͜Εࢲͷ&.Ͱ͕͢ɺ ͦΕͧΕ͕ߟ͑ग़ͯ࣋ͯ͠Δͱྑ͍Ͱ͢Ͷ ΤϯδχΞϦϯά
ࣗݾհ
@koic w044ϓϩάϥϚʔ w3VCP$PQίΞνʔϜ wגࣜձࣾӬγεςϜϚωδϝϯτ &4. *OD ΤϯδχΞϦϯάϚωʔδϟʔ σΟεςΟϯάΠογϡυΤϯδχΞ w݄த్ೖࣾ
Ӭ
ࣗݾհςϯϓϨʔτ w໊લ wॴଐ෦ॺ w͜Ε·ͰͲͷΑ͏ͳࣄΛ͖͍ͯͯ͠Δ͔ʁ wιϑτΣΞ։ൃͰ͖ͳ͜ͱɺಘҙͳ͜ͱ w͜ͷηϛφʔͰ࣋ͪؼΓ͍ͨ͜ͱ
ࣄۀ෦հ
ΞδϟΠϧࣄۀ෦ wҎ্ɺ3VCZͱΞδϟΠϧιϑτΣΞ։ൃΛ࣮ ફ͓ͯ͠Γɺ8FC %#ΞϓϦ։ൃத৺ wΦϒδΣΫτ۞ָ෦͔࣌ΒίϛϡχςΟʹॏ͖Λ͓ ͍͍ͯΔ wͷؒͰաͷϝϯόʔ͕ೖΕସΘΓɺಉੈ த৺͔Βෳੈɺ৽ଔಉۀछస৬த৺͔Β ҟۀछస৬ͷ૿ՃͳͲͱมભ͍ͯ͠Δ
ࣄۀ෦հςϯϓϨʔτ w෦ॺͷಛʁ w෦ॺͷߏʁ άϧʔϓ੍ϝϯόʔͷಛ نͳͲ wͲΜͳ͓٬༷ͱࣄΛ͍ͯ͠Δʁ wͲΜͳٕज़Λ͓ͬͯࣄ͍ͯ͠Δʁ
ϚωδϝϯτλΠϓΛੳ͢Δ
ϚωδϝϯτΧςΰϦʔ IUUQTRJJUBDPNIJSPLJEBJDIJJUFNTCCDFGD
w ϓϩμΫτϚωδϝϯτ ϙΠϯτ w ϓϩδΣΫτϚωδϝϯτ ϙΠϯτ w ςΫϊϩδʔϚωδϝϯτ
ϙΠϯτ w ϐʔϓϧϚωδϝϯτ ϙΠϯτ ؔ৺߹͍ શϙΠϯτΛ͢Δ
ಉ͡ਓͰ࣌ʑͰมΘΔ ϓϩμΫτ ϓϩδΣΫτ ςΫϊϩδʔ ϐʔϓϧ ॎׂΓϝϯόʔ
0+5ҭ୲ νʔϜϝϯόʔ ιϩ ϓϩδΣΫτϦʔμʔ Ϧʔμʔҭ &. 044։ൃऀ ͓·͚ w Ͱ͖Δ͜ͱͱؔ৺ࣄผɻྫͰ͖ͳ͍͔Βؔ৺͕͋ΔɺΧϯετ͔ͨ͠Βؔ৺͕ബ͍ɺಘҙ͔ͩΒ৳͍ͨ͠ͳͲ w ϙΠϯτ͕͍͜ͱѱ͍͜ͱͰͳ͍ͷͰؾʹͤͣੳͯ͠Έ·͠ΐ͏
w ۀυϝΠϯʹͦΕ΄Ͳؔ৺ͳ͍͕ɺۀ υϝΠϯΛΒͳ͍ͱྑ͍ϓϩμΫτΛ ࡞Εͳ͍ͷͰɺސ٬ͷߟ͍͑ͯΔ͜ͱΛٕ ज़ͰղܾͰ͖ΔΑ͏ɺʮͳͥͦΕ͕ඞཁ ͔ʁʯʮͦͷՁԿ͔ʁʯͳͲຊ࣭ͷ ཧղΛΊΔΑ͏ߟ͍͑ͯΔ ϓϩμΫτϚωδϝϯτ ϙΠϯτ
w ͨͼͨͼԌ্Ҋ݅ʹग़ձ͖ͬͯͯɺͦΕ࣌ ؒɺ࣭ɺείʔϓɺίετͷނোͩͬͨ w ʮݟੵΓϛεʯͱʮະౚ݁ͷ༷ʯͱ͍͏େఢ w Ұׅܖͷ͓ॻ͖શ෦ߦͬͯɺϑΟʔυ όοΫશ෦ߦ͏ͱ͍͏ͷ։ൃऀͷਓੜΛ࣋ ͪग़͢͜ͱʹͳΔͷͰܖ͕ॏཁ ϓϩδΣΫτϚωδϝϯτ
ϙΠϯτ
w ࣾձ͔Βࣗʹظ͞Ε͍ͯͦ͏ͳࠜݯ w ۀྖҬಛԽܕͷ։ൃऀͰͳ͍ͷͰɺ ։ൃϓϩμΫτ͕มΘͬͯγϑτͰ͖Δ ٕज़ΛୈҰʹஔ͍͍ͯΔ w 044Λϕʔεʹٕͨ͠ज़Λબఆ͢ΔͨΊͷ ͦͷ044ίϛϡχςΟͷҰһͱͳΔ ςΫϊϩδʔϚωδϝϯτ
ϙΠϯτ
w ։ൃऀ͕ҰΛա͢͝தͰɺଟ͘ͷ͕࣌ؒϓ ϩμΫτ։ൃʹඅ͞ΕΔ w ۀ࣌ؒʹ͓͍ͯɺϓϩμΫτ։ൃΛ௨͡ ͯ։ൃऀͷΩϟϦΞ͕ܗ͞ΕΔͷͰɺϝϯ όʔ͕ͨͷ͘͠ΩϟϦΞΛੵΊ͍ͯΔ͔ʁ w ίϛϡχςΟͰྑ͍͚ͬͯ͘Δ͔ʁ ϐʔϓϧϚωδϝϯτ
ϙΠϯτ
ϋϯζΦϯͷώϯτ wϚωδϝϯτྖҬͷϙΠϯτΛͯ͠Έ·͠ΐ͏ wϓϩμΫτɺϓϩδΣΫτɺςΫϊϩδʔɺϐʔϓϧ wͲΜͳϚωδϝϯτྖҬʹऔΓΜͰ͖·͔ͨ͠ʁ wͲΜͳϚωδϝϯτྖҬʹؔ৺͕͋Γ·͔͢ʁ wಘҙͳϚωδϝϯτྖҬͰࣗຫͷΤϐιʔυ͕͋Ε ڭ͍͑ͯͩ͘͞ ࣗͷόϦϡʔͲΜͳʁ
ࣄۀ՝Կʁ
w ໊͕ͳ͍ͱṖͷൿີ݁ࣾײ w ্͍ͭ$.ΛଧͭΑ͏ͳେاۀͱ ҧ͏Զͨͪ w ྑ͍ࣄྑ͍ਓͱͷग़ձ͍ͷػձग़ w ୭ͱॏཁCZ!CFBLNBSL ͷ΄Ͳ͋Δ*5اۀ
ΞδϟΠϧࣄۀ෦ͷ՝ &.ண࣌ wྲྀग़ྲྀೖ wϛυϧͷԼ wςοΫΧϯύχʔͱͯ͠ͷࣾձతϓϨθϯε wϦϞʔτϫʔΫͷઌ һ૬ஊʁ wҭωοτϫʔΫ
TPNFUIJOHFMTF୳͠
ࢲ͔ΒΈͨΞδϟΠϧࣄۀ෦ wϝϯόʔͷ͜ͱ͕͖Ͱࡶஊܥͷձ͕͖ͳͷ Ͱɺ෩௨͠ͷྑ͞ҙࣝແҙࣝͰͰ͖Δ w͓٬༷ͷ͜ͱΛਅʹߟ͑ΒΕΔ͏͑Ͱɺࣄۀ෦ ϝϯόʔͷ͜ͱΛୈҰʹߟ͑ΒΕΔ wίϛϡχςΟͰϑϩϯτʹཱͭΑΓޙํࢧԉ wٕज़తͳ͜ͱࣗΑΓৄ͍͠ਓʹୗ͍ͨ͠ײ
ϋϯζΦϯͷώϯτ wTPNFUIJOHFMTFࣄۀ՝ࣄۀ෦ wࣄۀ෦Կ͕ಘҙͰԿ͕ۤखͦ͏ʁ wࣄۀ՝ʹରͯ͠ɺࣄۀ෦͚ͩͰख͕ಧ͍ ͍ͯͳͦ͞͏ͳ͜ͱԿʁ w͕ࣗಘҙͰࣄۀ෦͕ۤखͳ͜ͱԿʁ
ࣄۀ෦Ξοϓσʔτ
&.ʹͳ͍ͬͯͬͯΔ͜ͱ wύʔτλΠϜٕज़ސ ࢀըϓϩδΣΫτ͔Β wPO Ұ෦ɺࣄۀ෦!N@QJYZ͔ΒҾܧ w࠾༻࡞ઓڧԽ ॏ՝ɺҰ෦!N@QJYZ͔ΒҾܧ
wษڧձ ࠶์ૹɺಡॻձͷಓҊͳͲ wࣄۀͷࢪࡦݕ౼ɺௐɺൃ৴ͳͲ͋Ε͜Ε
ҭϞσϧͱ ࠾༻ϞσϧΛ ํཧ͢Δ
ࢢπϦʔͰͳ͍ IUUQTXXXBNB[PODPKQEQ9
ࣄۀ՝ πϦʔߏ ηϛϥςΟεߏ ҭϞσϧͷซ༻ ࣭ઌ໌֬ ੩త ͳҰํͰ ϝϯλʔͷಘҙྖҬʹґଘ͢Δ ҭମ੍Ϟσϧ ࣭ઌΛಈతʹܾΊΔ࿅͕ඞཁ͕ͩ
ಘҙ෦Λ࣋ͪدΔͷଟ͍ ҭମ੍Ϟσϧ
ϖΞϓϩάϥϛϯάίʔυϨϏϡʔ 91ࡇΓʰΦϯϥΠϯ࣌ͷϖΞϓϩάϥϛϯάʱΑΓ
ࣄۀ՝ πϦʔߏ ηϛϥςΟεߏ ҭϞσϧͷซ༻ πϦʔߏͷΘ͔Γ͢͞ ηϛϥςΟεߏͷܨ͕Γͷଟ͞ͷόϥϯεΛͱΔ ࣭ઌ໌֬ ੩త ͳҰํͰ ϝϯλʔͷಘҙྖҬʹґଘ͢Δ
ҭମ੍Ϟσϧ ࣭ઌΛಈతʹܾΊΔ࿅͕ඞཁ͕ͩ ಘҙ෦Λ࣋ͪدΔͷଟ͍ ҭମ੍Ϟσϧ
͜͏࣮ફ͢Δ͜ͱ͔Β͡ΊΑ͏ ʮຖ݄৽ϦϦʔε͠Α͏ʯ
None
None
ϦϦʔεྫ ؒΛ૿͢ػձ૿ͷग़
ະિ༗ͷΤϯδχΞืू࣌ 🗾wૉΒ͍͠ΤϯδχΞ શࠃͷίϛϡχςΟʹ͍Δ w࠾༻Ҏ্ʹӬͰΤϯδχ ΞΛଓΒΕΔػձग़ॏཁ wਓੜͷঢ়گʹ͋Θͤͨ ϥΠϑελΠϧΛଚॏ͢Δ
IUUQBHJMFFTNDPKQEPDTCVTJOFTT@QMBO@FTN@BHJMF@EJW@UIQEG ͢ΔίϛϡχςΟͱΤίγεςϜ ظࣄۀܭըॻΑΓ
ਓͱڥͷมԽ
IUUQKQSVCZJTUOFU3VCZ,BJHJ DQMVHJOQMVHJOBUUBDI@EPXOMPBEQ1SPHSBNpMF@OBNFUIF@JTMBOE@PG@SVCZ@KQEG 3VCZ,BJHJ %BWF5IPNBT
ϦϦʔεྫ OFXCJFίϛϡχςΟͱͷަྲྀ
w ͢Ͱʹ׆༂͍ͯ͠ΔΤϯδχΞͷʹ ݶΓ͕͋Δ w ͜Ε͔Β׆༂͠Α͏ͱ͍ͯ͠ΔΤϯδχΞ ͕ࠓޙͲͷΑ͏ʹ͍͔ͯ͘͠ະ w ۀքશମͰ͏·͍ͬͯ͘͘ඞཁ͕͋Δ ୣ͍͋͏ΑΓҭͪ͋͏ڥΛ
w OFXCJFͷ͜͜Ζ͕Θ͔ΔʹɺOFXCJFͷ ࠒͷؾ͕࣋ͪΧϥϑϧͳϝϯόʔ͕ྑ͍ w γχΞϝϯόʔͩͱ࣌ͷྲྀΕͰOFXCJFͷࠒ ͷ͜͜ΖΛΕͯ͠·͍ͬͯΔ෦͕͋Δ w γχΞ͕ࣗࢥ͍ͬͯΔΑΓ͍͢͝ਓͱ ͯ͠ݟΒΕΔ ϋʔτϑϧͳަྲྀΛͤΔ
ϦϦʔεྫ ࣾίϛϡχςΟͷܨ͕ΓΛ૿͢
w ࠾༻ॏཁ͚ͩΕͲɺ͍·Ұॹʹಇ͍͍ͯ Δϝϯόʔ࠷ॏཁ w ΦϯϥΠϯ࣌ʹͳͬͯɺϝϯόʔؒͷަ ྲྀͷΛҙਤతʹ࡞Βͳ͍ͱૄʹͳΓ͏Δ w ࣄۀ෦੍ʹͳ͍ͬͯΔ৫ͷࣄۀ͝ͱͷ ಛ৭ɺॴଐϝϯόʔͷಛ৭ͷू߹ ͍·͍Δϝϯόʔ͕࠷ॏཁ
ࣄۀ෦ʹͲΜͳ ࢪࡦΛఏҊͰ͖Δ ͔ߟ͑ͯΈ·͠ΐ͏
;Γ͔͑Γ
None
lιϑτΣΞਓ͕ ਓͷͨΊʹ࡞͍ͬͯΔ ,FOKJ)JSBOBCF ֤ʑͷࣄۀ෦ϝϯόʔً͕͚ΔܖػΛ POͳͲ͔ΒϏϧυΞοϓ͍͖ͯ͠·͠ΐ͏