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.1k
実践 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
1k
一方、私はなぜEMでありつづけるか / TECH TRACK vol.1
_atsushisakai
0
440
子育てとEMと転職と
_atsushisakai
2
800
「家族アルバム みてね」を支える エンジニアリング組織/introduce-familyalbum-engineering-team
_atsushisakai
2
220
ミクシィのマネージャーは悩んでいる / 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.4k
How to use New Relic in Mitene Development Team
_atsushisakai
0
580
Other Decks in Technology
See All in Technology
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
2
180
Two Blades, One Journey: Engineering While Managing
ohbarye
3
1.1k
エンジニアが加速させるプロダクトディスカバリー 〜最速で価値ある機能を見つける方法〜 / product discovery accelerated by engineers
rince
4
550
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
290
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
460
日経のデータベース事業とElasticsearch
hinatades
PRO
0
200
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
150
人はなぜISUCONに夢中になるのか
kakehashi
PRO
6
1.8k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
150
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
130
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
5
350
Pwned Labsのすゝめ
ken5scal
0
280
Featured
See All Featured
4 Signs Your Business is Dying
shpigford
182
22k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Writing Fast Ruby
sferik
628
61k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.3k
Code Reviewing Like a Champion
maltzj
521
39k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Being A Developer After 40
akosma
89
590k
A Philosophy of Restraint
colly
203
16k
GraphQLの誤解/rethinking-graphql
sonatard
68
10k
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!!