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 / practice engineering m...
Search
atsushisakai
July 02, 2019
Technology
19
8.2k
実践 Engineering Manager / practice engineering manager
Developers Summit 2019 Summer での発表資料です。
atsushisakai
July 02, 2019
Tweet
Share
More Decks by atsushisakai
See All by atsushisakai
大規模 SaaS の技術的意思決定を支える三要素 / Three elements that support technical decision-making for large-scale SaaS
_atsushisakai
0
1.3k
一方、私はなぜEMでありつづけるか / TECH TRACK vol.1
_atsushisakai
1
500
子育てとEMと転職と
_atsushisakai
2
880
「家族アルバム みてね」を支える エンジニアリング組織/introduce-familyalbum-engineering-team
_atsushisakai
2
240
ミクシィのマネージャーは悩んでいる / mixi's manager is in trouble
_atsushisakai
16
14k
Scalable Microservice for Media Transcoding / Transcoder
_atsushisakai
4
1.5k
New Relic {FUTURE} STACK 3/14, 2019 / newrelic_future_stack
_atsushisakai
1
1.5k
実践 WorkManager / WorkManager
_atsushisakai
3
7.5k
How to use New Relic in Mitene Development Team
_atsushisakai
0
610
Other Decks in Technology
See All in Technology
VCC 2025 Write-up
bata_24
0
180
Goにおける 生成AIによるコード生成の ベンチマーク評価入門
daisuketakeda
2
100
10年の共創が示す、これからの開発者と企業の関係 ~ Crossroad
soracom
PRO
1
170
Goに育てられ開発者向けセキュリティ事業を立ち上げた僕が今向き合う、AI × セキュリティの最前線 / Go Conference 2025
flatt_security
0
350
「Verify with Wallet API」を アプリに導入するために
hinakko
1
230
stupid jj tricks
indirect
0
7.9k
extension 現場で使えるXcodeショートカット一覧
ktombow
0
210
Trust as Infrastructure
bcantrill
0
330
自動テストのコストと向き合ってみた
qa
0
110
20250929_QaaS_vol20
mura_shin
0
110
多野優介
tanoyusuke
1
420
KAGのLT会 #8 - 東京リージョンでGAしたAmazon Q in QuickSightを使って、報告用の資料を作ってみた
0air
0
200
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Making Projects Easy
brettharned
119
6.4k
A Modern Web Designer's Workflow
chriscoyier
697
190k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Being A Developer After 40
akosma
91
590k
How to train your dragon (web standard)
notwaldorf
96
6.3k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
32
2.2k
Transcript
࣮ફ Engineering Manager ञҪ ಞ @_atsushisakai גࣜձࣾϛΫγΟ
ञҪ ಞ @_atsushisakai 2011 גࣜձࣾϛΫγΟʹத్ೖࣾ 2014 ՈΞϧόϜʮΈͯͶʯͷ։ൃΛ։࢝ 2018 ΈͯͶࣄۀ෦։ൃάϧʔϓϚωʔδϟʔ ݉
SRE
ຊ͓͍ͨ͜͠͠ͱ • Ϛωʔδϟʔೖऀͱͯ͠ͷߟ͑ͱ࣮ફ͖ͯͨ͜͠ͱ • ཧࢥͰͳ͘۩ମతͰཧ༝ͷ͋ΔΞΫγϣϯΛத৺ʹ͓͠͠·͢ • ࠓޙɺͲΜͳνʔϜͷϚωʔδϟʔΛΔͱ͖ʹ࣮ࢪ͍ͨ͜͠ͱ • Ϛωʔδϟʔ͕ԿΛߟ͑ͯߦಈΛ͍ͯ͠Δͷ͔ʢඇϚωʔδϟʔ͚ʣ
0 ʮΈͯͶʯʹ͍ͭͯ
ಛ ࢠͲͷࣸਅಈըΛڞ༗ɾཧ Ո͚ͩͷ҆৺ͳίϛϡχέʔγϣϯ Λײ͡Δ͜ͱ͕Ͱ͖ΔৼΓฦΓػೳ ར༻ऀ 500ສਓ Λಥഁʂ ʮΈͯͶʯʹ͍ͭͯ 0
ւ֎ల։ ੈքதʹϢʔβʔ͕֦େத 2019ʹւ֎ͷAwardෳड ʮΈͯͶʯʹ͍ͭͯ 0
1 ͡Ίʹ
͡Ίʹ 1 ΤϯδχΞϦϯάϚωʔδϟʔʹͳΔ·Ͱ • ͱͱۃগਓͷεΫϥϜνʔϜ • Ϛωʔδϟʔෆࡏͷϑϥοτͳ։ൃ৫ • ϓϩμΫτͷͱͱʹεέʔϧՄೳͳ৫ʹ͢Δඞཁੑ͕͋ͬͨ •
͘ࡏ੶͓ͯ͠ΓυϝΠϯ͕ࣝੵ͞Ε͍͕ͯͨࣗϚωδϝϯτͷׂΛ Ҿ͖ड͚ͯࠓʹࢸΔ
͡Ίʹ 1 ݱࡏͷ։ൃ৫ • 3ͭͷνʔϜ • ωΠςΟϒΞϓϦ։ൃ • ݚڀ։ൃ •
SRE
͡Ίʹ 1 ΤϯδχΞϦϯάϚωʔδϟʔ͕ࢦ͢ͷ • ෳͷΤϯδχΞͷੜ࢈ੑΛ࠷େԽ͢Δ • ࣄۀͷඪΛେ෯ʹ͑ΔՌͷग़͢Δ
͡Ίʹ 1 ࣗͷΩϟϦΞ εέδϡʔϧ ਓࣄධՁ ༧ࢉ ݖݶ ίετ ϝϯόʔͷ
͡Ίʹ 1 ετϨεΛ๊͑ͳ͍Α͏ʹ࠷ॳʹܾΊͨ͜ͱ • ඪʹର࣮ͯ͠ʹɺୡ͢ΔͨΊʹඞཁͳ͜ͱΛʮͻͱͭͣͭʯΔ͜ͱ • ग़དྷͳ͍/Θ͔Βͳ͍͜ͱɺͦΕΛΦʔϓϯʹ͖ͬΓͱ͑Δ͜ͱ • Ͱ͖ΔݶΓ͕ܾࣗࡋՄೳͳ༧ࢉΛ֬อ͢Δ͜ͱʢқߴʣ •
ָ͘͠ΔͨΊʹɺ΄Μͷগ͠ͰࣗίʔυΛॻ͘Α͏ʹ͢Δ͜ͱ • ͔ͤͬ͘ͳͷͰΩϟϦΞͱͯ͠ॆ࣮ͨ͠ͷʹ͢ΔΑ͏ྗ͢Δ͜ͱ
2 ཧͷνʔϜ
ཧͷνʔϜ 2 ֶश ϘτϜΞοϓ
ϘτϜΞοϓ ཧͷνʔϜ 2
ʮΤϯδχΞʯʮνʔϜʯͷҙݟͷॏཁੑΛ ϚωʔδϟʔɾPOɾܦӦऀͳͲશһ͕ཧղ͍ͯ͠Δ ཧͷνʔϜ 2
༷ʑͳ՝ΤϯδχΞͷʹΑͬͯղܾ͞ΕΔ͖ͱ ΤϯδχΞ͕ࣗײ͍ͯ͡Δ ཧͷνʔϜ 2
ʮେ͖ͳʯʹ͖͗͢ͳ͍ͨΊͷ ίϛϡχέʔγϣϯ͕Ͱ͖͍ͯΔ ཧͷνʔϜ 2
ϘτϜΞοϓͷޮՌ • νʔϜͷҙݟɾߦಈͷࣗ༝্͕͕͍ͬͯ͘ • ϦεΫʹରͯ͠༰ʹͳΔ • τοϓμϯΑΓΉ͠Ζ͕େ͖͘ͳΓɺదͳۓுײ͕ੜ·ΕΔ ཧͷνʔϜ 2
ֶश ཧͷνʔϜ 2
༷ʑͳࢹʹΑΔʮৼΓฦΓʯ ཧͷνʔϜ 2
ଞਓνʔϜͷࣦഊɺҙݟͷରཱΛ ྫྷ੩ʹड͚ೖΕΔ͜ͱ͕Ͱ͖Δۭؾ͕͋Δ ཧͷνʔϜ 2
ֶशͷޮՌ • ࣦഊ͕ྐʹͳͬͯνϟϨϯδ͕૿͑Δ • ϘτϜΞοϓͱಉ͘͡ϦεΫʹରͯ͠༰ʹͳΔ • ۩ମతͳߦಈ͕͏ͨΊɺΛײ͡ɺνʔϜશମʹॆ࣮ײ͕ੜ·ΕΔ ཧͷνʔϜ 2
ཧͷνʔϜ 2 ֶश ϘτϜΞοϓ
ֶश ϘτϜΞοϓ ૬ޓʹඞཁͳཁૉ ཧͷνʔϜ 2 ৺ཧత҆શ͔ͭͷେ͖͍ Learning Zone
ֶश OK ϘτϜΞοϓ NG ֶश NG ϘτϜΞοϓ OK ྫʣτοϓμϯͷࢦࣔʹରͯ͠ʮݡ͘कΔʯ อकతͳνʔϜʹͳΔ
ྫʣৼΓฦΓ͕దʹߦΘΕͳ͍ຉ์ͳঢ়ଶͰ ϝϯόʔಉ࢜ͷରཱͳͲى͜Γ͍͢ ཧͷνʔϜ 2
3 ΤϯδχΞϦϯάϚωʔδϟʔͷׂ
ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3 ཧͷνʔϜΛ࡞ΔͨΊʹʂ • োͱͳΔࣄͷൃੜΛ༧͢Δ • োʹ͍ͪૣ͘ؾ͚ͮΔΑ͏ʹ४උ͢Δ • ສ͕ҰɺνʔϜʹো͕͋Δ߹ੵۃతʹͦΕΒΛऔΓআ͘
ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3 োͷྫ • ձ͕ٞଟͯ͘࡞ۀ͕࣌ؒेʹऔΕͳ͍ • ॏཁࣄ߲ͷܾఆϑϩʔ͕ෳࡶͰ͕͔͔࣌ؒΓ͗ͯ͢։ൃऀ͕ߦಈͮ͠Β͍ • ใ͕ेʹγΣΞ͞Ε͓ͯΒͣஅΛݟޡͬͯ͠·͏
Ϛωʔδϟʔ͕ͱΓ͋͑ͣΕΔ͜ͱ • νʔϜӡӦʹؔΘΔ࠷ݶͷϧʔϧΛ࡞Δ • ۩ମతͰΞΫγϣϯՄೳͳνʔϜͱݸਓͷඪΛ࡞Δ • ఆظతͰΦʔϓϯͳৼΓฦΓͷΛ࡞Δ ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3
νʔϜӡӦʹؔΘΔ࠷ݶͷϧʔϧΛ࡞Δ • ϧʔϧͱ੍͍ͬͯΛ࡞ΓɺϝϯόʔΛ੍͢ΔΑ͏ͳͷͰͳ͍ • ϝϯόʔΛकΓɺϞνϕʔγϣϯΛҡ࣋͢ΔͨΊͷϧʔϧ ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3
ྫʣ • ఆྫձٞΛ࠶ཧ͠ɺෆཁͳձٞΛݮΒ͢͜ͱͰ࡞ۀ࣌ؒΛ૿͢ • վળ׆ಈʹͲͷ͘Β͍ͷ࣌ؒΛͬͯྑ͍ͷ͔ͷํΛܾΊΔ • ձٞͰ͕ٞൃࢄͨ͠Γҙݟ͕ରཱͨ࣌͠ͷରॲͷํΛࣄલʹܾΊΔ ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3
۩ମతͰΞΫγϣϯՄೳͳνʔϜͱݸਓͷඪΛ࡞Δ • νʔϜ͕େ͖ͳΛ࣋ͪͳ͕ΒɺνϟϨϯδ͍ͨ͠ͱࢥ͑ΔඪΛʮࣗ ͨͪͰʯσΟεΧογϣϯͯ͠࡞Δ • ݸਓͷඪجຊతʹࣗͰߟ͑ɺͦͷ্ͰϚωʔδϟʔ͕ٻΊΔ͜ͱͱͷࠩ ΛຒΊ͍ͯ͘ ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3
ఆظతͰΦʔϓϯͳৼΓฦΓͷΛ࡞Δ • νʔϜϝϯόʔ͕ࣦഊͨ࣌͠ɾޭͨ࣌͠ʹɺͦΕΒΛͲͪΒࢍ͢Δ Α͏ͳৼΓฦΓͷΛఆظతʹ࣋ͭʢޙड़ʣ • ظతͳৼΓฦΓΛଟ࣋ͪ͘ɺࣦഊͷӨڹൣғΛখ͘͢͞ΔΑ͏ʹಋ͘ • ࣦഊͨ࣌͠ʹ͙͢ʹ۩ମతͳվળΞΫγϣϯΛଅ͢ ΤϯδχΞϦϯάϚωʔδϟʔͷׂ 3
4 ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ
ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ 4 ܗ͚ͩͰ͠ΐʁ • ܗ͔ΒೖΔͷ୯७ʹָͰ͋Δ • ϑϨʔϜϫʔΫʹ͚ͭͨΒͲ͜Ͱ͑Δ • ࠷ॳԼखͰ܁Γฦ্͍͚ͯ͠ख͘ͳΔ •
ʮৼΓฦΓʯ͕༻ҙ͞Ε͍ͯΔΑ͏ͳϑϨʔϜϫʔΫΛ࠾༻͢Δͷ͕ಘࡦ
OKR • ࣄۀඪʹରͯ͠ԿΛ͖͔͢Λࣗͨͪͷ಄Ͱߟ͑Δ͜ͱ͕Ͱ͖Δ • ظͱ͕໌֬ʹͳΓࣗͷೳྗͷॏཁੑΛײ͡Δ͜ͱ͕Ͱ͖Δ • ٬؍తͳࢦඪΛ༻͍Δ͜ͱͰ׆ಈΛৼΓฦΓ͘͢͢Δ͜ͱ͕Ͱ͖Δ ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ 4
1on1 • 2िؒ͝ͱʹ30ͣͭશͯͷϝϯόʔͱߦ͏ • ʑͷߦಈɾߟ͑ํͱ͔ΩϟϦΞͷͱ͔লతͳৼΓฦΓͷ • ݸਓʹରͯ͠ྑ͔ͬͨ͜ͱΛͲΜͳʹখ͍͜͞ͱͰඞͣͻͱͭ͑Δ • ਐḿΛ્͍ͯ͠ΔཁૉΛऔΓআͨ͘ΊʹԿΛ͖͔͢Λߟ͑ͯΒ͏ ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ
4
εΫϥϜ։ൃ • εϓϦϯτϨτϩεϖΫςΟϒ͕ͱͯॏཁ • ظؒͷৼΓฦΓͰɺࣦഊͷنΛͰ͖ΔݶΓখ͘͞อͭ • ۩ମతͳΞΫγϣϯΛى͜͢ͱ͜Ζ·Ͱ͕ϑϨʔϜϫʔΫͱͯ͠Έࠐ·Εͯ ͍ΔͨΊண࣮ͳվળ͕ظͰ͖Δ ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ 4
ৼΓฦΓͷϚϯωϦԽ • ෳͷεΫϥϜͷৼΓฦΓํࣜΛࢼ͢ • Α͋͘ΔKPTํࣜ • ɺࢮΜͩڕɺᅅు • ࢹΛม͑Δ͜ͱͰ͍ΖΜͳܹʹͳΔ ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ
4 ϦʔɾΪϟϥΨʔ ʮ Airbnb Story େͳΞΠσΞΛੜΈɺࠔΛΓӽ͑ɺਓؾαʔϏεΛͭ͘Δํ๏ʯ
ϑϨʔϜϫʔΫ ৼΓฦΓର ಛ 1on1 ݸਓతͳ লతͳৼΓฦΓ εΫϥϜ։ൃ ʢϨτϩεϖΫςΟϒʣ ։ൃϓϩηε ۩ମతɾతͳ
ΞΫγϣϯ OKR ࣄۀඪ ఆྔධՁ ϑϨʔϜϫʔΫΛ༻͍ͨܦݧओٛϚωδϝϯτ 4
5 νʔϜಠࣗͷֶशɾϘτϜΞοϓจԽ
ϢʔβʔετʔϦʔϚοϐϯά • େ͖ͳ৽ػೳͷ։ൃϓϩδΣΫτΛ։࢝͢Δ࣌ʹඞ࣮ͣࢪ͢Δ • اըऀͱҰॹʹΤϯδχΞ͕ࣗϢʔβʔΛࢥߟ͠ɺநతͳཁٻΛղऍ͢Δ • ཁٻʹରͯ͠၆ᛌతͳࢹΛ࣋ͭ͜ͱͰϓϩδΣΫτதͷߦಈ͕͘͢͠ͳΔ • ػೳͷ༏ઌɺ՝ͷଘࡏɺқ…ͳͲ νʔϜಠࣗͷֶशɾϘτϜΞοϓจԽ
5
ྠ൪੍ͷϦϦʔεϚωʔδϝϯτ • ֤ΤϯδχΞ͕ϦϦʔεຖʹϦϦʔεϓϥϯχϯά/ϚωδϝϯτΛߦ͏ • QAͷਐߦϚʔέςΟϯά෦ͱͷௐͳͲɺϦϦʔεຖʹඞཁͳใཧ ΞΫγϣϯΛΤϯδχΞ͕ࣗߦ͏Α͏ʹ͍ͯ͠Δ • ࣗͷ։ൃ׆ಈͷӨڹൣғΛೝࣝ͠ɺϦϦʔεʹؔ͢ΔͷվળΛߦ͏ • ʮ͜͏͍͏ใࣄલʹϚʔέςΟϯάʹల։͠ͱ͍ͨํ͕ྑ͍ΑͶʯ
• ʮϦϦʔεͷखॱ͕໘͔ͩΒɺ͜ΕࣗಈԽ͠Α͏Αʯ 5 νʔϜಠࣗͷֶशɾϘτϜΞοϓจԽ
όοΫϩά४උձ • εΫϥϜ։ൃͷεϓϦϯτதʹඞͣ1ճߦΘΕΔఆྫձٞ • ΤϯδχΞ/CS/ϓϩϞʔγϣϯͳͲ༷ʑͳࢹ͔Β՝Λग़͠߹͏ • ՝ʹରԠ͢ΔͨΊͷόοΫϩά͕͢Δ͜ͱΛΰʔϧͱ͍ͯ͠Δ • ΤϯδχΞઢͰࣄۀʹͱͬͯඞཁͳ͜ͱΛఏҊՄೳ •
ΤϯδχΞ͔ͩΒͦ͜ఏҊͰ͖Δػೳ • ٕज़తෛ࠴ࣄۀͷܧଓੑੜ࢈ޮͳͲΛݱͷΤϯδχΞ͕ࣗରԠͷ ඞཁੑΛઆ໌͢Δ 5 νʔϜಠࣗͷֶशɾϘτϜΞοϓจԽ
ϓϩδΣΫτνʔϜ੍ • ΤϯδχΞ͕ϦʔμʔͱͳΓɺ࠷େظʹ࣮ͬͯࢪ͍ͨ͠վળͳͲΛখن ͳϓϩδΣΫτͱ͓ͯ͠·͔ͤ͢Δ੍ • ՝ͷϦαʔνఏҊʙඪͷઃఆɺࢪࡦͷ࣮ࢪ·Ͱجຊతʹશ͓ͯ·͔ͤ • ϓϩδΣΫτӡӦΛܦݧ͢Δ͜ͱͰϦʔμʔγοϓΛଅਐ͢Δ 5 νʔϜಠࣗͷֶशɾϘτϜΞοϓจԽ
ϓϩδΣΫτͷྫ • Push௨ͷڐՄ্ϓϩδΣΫτ • σβΠϯγεςϜߏஙϓϩδΣΫτ • ཧը໘վળϓϩδΣΫτ ϓϩδΣΫτ੍ʹΑͬͯ ΞϓϦͷUI/UXʹؔΘΔΑ͏ͳॏཁͳվળ͕ͨ͘͞ΜߦΘΕ͍ͯΔʂ 5
νʔϜಠࣗͷֶशɾϘτϜΞοϓจԽ
6 ·ͱΊ
6 ໌͔ΒϚωʔδϟʔʹͳΔ͋ͳͨ • ΤϯδχΞνʔϜʮϘτϜΞοϓʯͰৗʹʮֶशʯΛߦ͏͜ͱ͕Ͱ͖Δ৫ Ͱ͋Δ͜ͱ͕ཧͰ͢ • Ϛωʔδϟʔೖऀ͕͙͢ʹͬͯଛ͠ͳ͍۩ମతͳࢪࡦΛհ͠·ͨ͠ • ͍͔ͭ͘ͷϑϨʔϜϫʔΫΛͬͯɺͱʹָ͔͘Λ͠·͠ΐ͏ ·ͱΊ
େࣄͳ͜ͱ • ൚༻తͳϧʔϧΛ࡞ΓɺϧʔϧͷͱͰࣄΛߟ͑Δ • ৗʹ༏ઌΛߟ͑ͯߦಈ͢Δ͜ͱͰετϨεϑϦʔͳϚωδϝϯτ • ৫࠷దͳख๏ʹͳΒͳ͍Α͏ɺϚωʔδϟʔͷΩϟϦΞΛָ͠Έ·͠ΐ͏ʂ 6 ·ͱΊ
͋ͳͨͷνʔϜɺϘτϜΞοϓͰಈ͍͍ͯ·͔͢ʁ ͋ͳͨͷνʔϜɺֶश͕Ͱ͖͍ͯ·͔͢ʁ 6 ·ͱΊ
THANK YOU!!