Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
実践 Engineering Manager / practice engineering manager
atsushisakai
July 02, 2019
Technology
20
7.3k
実践 Engineering Manager / practice engineering manager
Developers Summit 2019 Summer での発表資料です。
atsushisakai
July 02, 2019
Tweet
Share
More Decks by atsushisakai
See All by atsushisakai
子育てとEMと転職と
_atsushisakai
1
430
「家族アルバム みてね」を支える エンジニアリング組織/introduce-familyalbum-engineering-team
_atsushisakai
2
140
ミクシィのマネージャーは悩んでいる / mixi's manager is in trouble
_atsushisakai
16
13k
Scalable Microservice for Media Transcoding / Transcoder
_atsushisakai
4
1.3k
New Relic {FUTURE} STACK 3/14, 2019 / newrelic_future_stack
_atsushisakai
1
1.3k
実践 WorkManager / WorkManager
_atsushisakai
3
6.2k
How to use New Relic in Mitene Development Team
_atsushisakai
0
470
みてねのスクラム開発 / scrum development style in mitene
_atsushisakai
3
2.9k
海外展開を目指すアプリで実装したセキュアで高速な画像配信の話 / Image distribution for overseas
_atsushisakai
8
5.1k
Other Decks in Technology
See All in Technology
マイクロサービス宣言から8年 振り返りとこれから / Eight Years After the Microservices Declaration A Look Back and A Look Ahead
eisuke
2
320
MarvelClient Upgrade 64bit クライアントへの自動アップグレード設定
mitsuru_katoh
0
190
ECテックカンファレンス2023 EC事業部のモバイル開発2023
tatsumi0000
0
340
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
250
PHPのimmutable arrayとは
hnw
1
170
ユーザーテストガイドライン VERSION 2.0
kouzoukaikaku
0
1.6k
目指せCoverage100%! AutoScale環境におけるSavings Plans購入戦略 / JAWS-UG_SRE_Coverage
taishin
0
520
Hatena Engineer Seminar #23 「チームとプロダクトを育てる Mackerel 開発合宿」
arthur1
0
640
PCI DSS に準拠したシステム開発
yutadayo
0
310
SPA・SSGでSSRのようなOGP対応!
simo123
2
160
2年で10→70人へ! スタートアップの 情報セキュリティ課題と施策
miekobayashi
1
690
ChatGPT for Hacking
anugrahsr
0
4.7k
Featured
See All Featured
Code Review Best Practice
trishagee
50
11k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
236
1.1M
The Cult of Friendly URLs
andyhume
69
5.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
32
6.7k
Large-scale JavaScript Application Architecture
addyosmani
499
110k
Writing Fast Ruby
sferik
613
58k
How to Ace a Technical Interview
jacobian
270
21k
Support Driven Design
roundedbygravity
88
8.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
254
12k
Unsuck your backbone
ammeep
659
56k
Side Projects
sachag
451
37k
The Web Native Designer (August 2011)
paulrobertlloyd
76
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!!