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.2k
一方、私はなぜEMでありつづけるか / TECH TRACK vol.1
_atsushisakai
1
500
子育てとEMと転職と
_atsushisakai
2
870
「家族アルバム みてね」を支える エンジニアリング組織/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
Unlocking the Power of AI Agents with LINE Bot MCP Server
linedevth
0
110
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
260
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
dbt開発 with Claude Codeのためのガードレール設計
10xinc
2
1.3k
データ分析エージェント Socrates の育て方
na0
5
480
テストを軸にした生き残り術
kworkdev
PRO
0
210
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
OCI Oracle Database Services新機能アップデート(2025/06-2025/08)
oracle4engineer
PRO
0
170
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
490
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
はじめてのOSS開発からみえたGo言語の強み
shibukazu
3
890
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
120
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
368
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
850
Visualization
eitanlees
148
16k
The Language of Interfaces
destraynor
161
25k
Building Adaptive Systems
keathley
43
2.7k
Unsuck your backbone
ammeep
671
58k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Site-Speed That Sticks
csswizardry
10
820
We Have a Design System, Now What?
morganepeng
53
7.8k
Code Reviewing Like a Champion
maltzj
525
40k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
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!!