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
8k
実践 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
930
一方、私はなぜEMでありつづけるか / TECH TRACK vol.1
_atsushisakai
0
420
子育てとEMと転職と
_atsushisakai
2
760
「家族アルバム みてね」を支える エンジニアリング組織/introduce-familyalbum-engineering-team
_atsushisakai
2
210
ミクシィのマネージャーは悩んでいる / 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.3k
How to use New Relic in Mitene Development Team
_atsushisakai
0
560
Other Decks in Technology
See All in Technology
ハイテク休憩
sat
PRO
2
140
どちらを使う?GitHub or Azure DevOps Ver. 24H2
kkamegawa
0
690
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
MLOps の現場から
asei
6
630
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
370
Qiita埋め込み用スライド
naoki_0531
0
860
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
280
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
220
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
530
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
Writing Fast Ruby
sferik
628
61k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Why Our Code Smells
bkeepers
PRO
335
57k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
97
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
A better future with KSS
kneath
238
17k
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!!