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.3k
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
450
Beyond the RuboCop Defaults
koic
3
3k
Minify Ruby Code
koic
2
2.2k
Permanent Agility
koic
37
7.7k
RuboCop: LSP and Prism
koic
3
4.2k
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.4k
Other Decks in Business
See All in Business
CData 製品を使って不動産API を可視化!実際に注文住宅を買ってみるまでの話
cdataj
2
140
Go See!で見つけるプロダクト開発の突破口とその実践法
ta0o_o0821
0
140
ログラス会社紹介資料 / Loglass Company Deck
loglass2019
7
250k
Sales Marker Culture book
salesmarker
PRO
6
24k
会社紹介資料 / ProfileBook
gpol
4
25k
ハードウェア企業から700万ユーザーを抱えるB2B SaaSへ:PMのキャリアシフトで見えた共通点とギャップ
kubell_hr
0
3.8k
UIL広島駅前 利用検討者への事業所紹介
ymtyhka7o4o8
0
240
知識を超えて実践するためのマインドの作り方
mayforblue
0
1.6k
会社説明資料_20241001.pdf
mina0307
0
110
職員給与等実態調査のDX
tokyo_metropolitan_gov_digital_hr
0
280
デジタルで創れ!未来の東京消防庁
tokyo_metropolitan_gov_digital_hr
1
310
概要
_connect
0
690
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
How STYLIGHT went responsive
nonsquared
95
5.2k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
The Pragmatic Product Professional
lauravandoore
32
6.3k
What's in a price? How to price your products and services
michaelherold
243
12k
Rails Girls Zürich Keynote
gr2m
94
13k
Testing 201, or: Great Expectations
jmmastey
40
7.1k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
2
170
Git: the NoSQL Database
bkeepers
PRO
427
64k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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ͳͲ͔ΒϏϧυΞοϓ͍͖ͯ͠·͠ΐ͏