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
Software Craftsmanship against Nova Era
Search
Koichi ITO
March 27, 2023
Technology
0
1.5k
Software Craftsmanship against Nova Era
Koichi ITO
March 27, 2023
Tweet
Share
More Decks by Koichi ITO
See All by Koichi ITO
Organizational Pattern Hatching
koic
0
1.4k
A Practitioner's Journey from Ruby 1.8 to Present
koic
1
1.8k
A Story Featuring Right Hand Archetype
koic
0
1k
Without Practice, No Emergence
koic
4
2.1k
The Resurrection of the Fast Parallel Test Runner
koic
1
5.4k
RuboCop Philosophy
koic
2
1.8k
%q is for Quine
koic
0
1.4k
Engineering Manager in Action
koic
4
2.1k
RuboCop Under a Microscope
koic
11
2.5k
Other Decks in Technology
See All in Technology
レガシーをぶっ壊せ。AEONで始めるDevRelの話 / Qiita Night 2024-2-22
aeonpeople
3
150
DevOpsDays History and my DevOps story
kawaguti
PRO
8
1.6k
Data and AI Governance: Existing Challenges and Emerging Trends
scotthsieh825
0
160
Databricks における 『MLOps』
databricksjapan
2
140
カオナビの利用実績をアウトカムへつなげる旅 / example-of-data-management-startup-in-kaonavi
kaonavi
0
120
コンパウンドスタートアップのためのスケーラブルでセキュアなInfrastructure as Codeパイプラインを考える / Scalable and Secure Infrastructure as Code Pipeline for a Compound Startup
yuyatakeyama
3
3k
GraphQL 成熟度モデルの紹介と、プロダクトに当てはめた事例 / GraphQL maturity model
mh4gf
4
130
最近たまに見かけるTiDBってなんだ? - Findy
pingcap0315
2
610
クラウドサインにおけるプロダクトマネージャーの役割と開発プロセス / 20240410_cloudsign-PdM
bengo4com
1
680
自動生成を活用した、運用保守コストを抑える Error/Alert/Runbook の一元集約管理 / Centralized management of Error/Alert/Runbook to minimize operational costs using automated code generation
biwashi
9
2.1k
[PlatformCon 24] Platform Orchestrators: The Missing Middle of Internal Developer Platforms?
danielbryantuk
1
180
人間の尊厳、幸福、アクセシビリティ / 第116回「WEB TOUCH MEETING」アクセシビリティSP
nulabinc
PRO
2
180
Featured
See All Featured
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
60
14k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
19
1.9k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.4k
Mobile First: as difficult as doing things right
swwweet
216
8.6k
Designing Experiences People Love
moore
136
23k
Practical Orchestrator
shlominoach
181
9.7k
Fireside Chat
paigeccino
20
2.6k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
321
20k
How to Ace a Technical Interview
jacobian
272
22k
WebSockets: Embracing the real-time Web
robhawkes
59
7k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
39
4.4k
Building an army of robots
kneath
300
41k
Transcript
৽࣌ʹ͔͏ ιϑτΣΞ৬ਓؾ࣭ Software Craftsmanship against Nova Era !LPJD
w աڈʹಡΜͩΑ͏ͳؾ͕͢Δ͚ΕͲɺ௨ಡ͠ ͚ͨͬʁΛͨ·ʹಡΈฦ͍ͯ͠Δॻ੶ w հ͢Δॻ੶ͷ༰ʹͦΕ΄Ͳ৮Ε·ͤΜ w ͋Β͢͡௨ಡʹ͔ͣ͠ w ͦͯ͠ɺࠓޙͷզʑͷࣄʹ͍ͭͯߟ͑Δ ࠓͷͳ͠
3VCZY"HJMF 2VJ[ ಥવͰ͕͢ΫΠζͰ͢
2
3VCZ͕ग़ͯ͘Δͷॻ੶ͲΕʁ
2
w "MJTUBJS$PDLCVSO w +F⒎4VUIFSMBOE w +JN)JHITNJUI w 1FUF.D#SFFO w 3PCFSU$.BSUJO
ΞδϟΠϧϚχϑΣετʹॺ໊͕ͳ͍ͷ୭ʁ
ࠓͷҰ
ϐΞιϯɾ Τσϡέʔγϣϯ
ιϑτΣΞ৬ਓؾ࣭ ਪનͷݴ༿%BWFୡਓ5IPNBT
ஶऀϐʔτɾϚΫϒϦʔϯ wਪનͷݴ༿͕,FOU#FDLͷ91ࠇຊ ͷஶऀͰ͋Δ w࣌ϑϦʔͷιϑτΣΞ։ൃ ίϯαϧλϯτͩͬͨΒ͍͠ wΞδϟΠϧϚχϑΣετʹ໊લ͕ ͳ͍ͷ͕ෆࢥٞͳ͘Β͍ͷਓ
"NB[POͰങ͑·͢😅
ιϑτΣΞ։ൃͱ͍͏ࣄ 91&OEୈষ ʰςΠϥʔओٛͱιϑτΣΞʱ ιϑτΣΞ৬ਓؾ࣭ୈষ ʰ৬ਓͷཧʱ
w ௨ৗɺࣄܭըͲ͓ΓʹਐΉɻ w ہॴ࠷దԽશମ࠷దԽʹͭͳ͕Δɻ w ਓ΄΅ସՄೳͰ͋ΓɺԿΛ͖͔͢ Λࢦࣔ͢Δඞཁ͕͋Δɻ ͭͷ୯७Խ͞ΕͨԾఆ 91&OEୈষʰςΠϥʔओٛͱιϑτΣΞʱΑΓ ςΠϥʔओٛͷਂԕͳܽؕͱ͞ΕΔ
ϑϨσϦοΫɾςΠϥʔ d
w ςΠϥʔओٛͷͱͯ͠ۀͷແବ w ϚχϡΞϧϫʔΧʔͱφϨοδϫʔΧʔͰ ٻΊΒΕΔ͜ͱͷҧ͍ w ιϑτΣΞ։ൃͷத৺͕ਓͰ͋Δ͜ͱʹ ϑΥʔΧε͍ͯ͠Δ θϩײ͋;ΕΔ چ͍ιϑτΣΞֶؾ࣭ͷ佀
ʮՊֶతཧ๏ʯͷܥේͰͳ͘ ʮెఋ੍ʯʹΑΔਓͷʹ ϑΥʔΧεΛ͋ͯΔ ༁ ༁
ख़࿅৬ਓ ιϑτΣΞ৬ਓͷεςʔδ δϟʔχʔϚϯ ϓϩμΫτ։ൃͷதͰͷెఋ੍ ΞϓϨϯςΟε ٕܳͱख़࿅
w ΞϓϨϯςΟε͕͍Δͱ͖ϕςϥϯϝϯ όʔʹࠞͥͨνʔϜߏʹ͢Δ w ΞϓϨϯςΟεʹΞυόΠεͰ͖Δଘࡏͱ ҰॹʹࣄΛ͢Δ͜ͱͰɺ࣮ࡍͷιϑτ ΣΞ։ൃʹ͓͚ΔৼΔ͍Λഎத͔Βֶ ͿػձΛ֫ಘͰ͖Δ ҭͱ࣮ફΛΘ͚ͳ͍
w ੜ͖ͨڭࡐͷଆ໘ͱͯ͠ͷϓϩμΫτ։ൃ w '#$͔Βத్ೖࣾͯ͠ҭ༻ΧϦΩϡϥϜ ͳ͘ϓϩδΣΫτଐ͚ͩͬͨΕͲɺͦ ΕͰΉ͠Ζ࣮ӡ༻͍ͯ͠ΔϓϩμΫτ͔Β ͷϑΟʔυόοΫΛಘΒΕͨ ࣮ફʹউΔͷͳ͠
w ਓੜ࣌ NKL w ϒϥΠΞϯɾΧʔχϋϯࡀ͘Β͍Ͱ ʰϓϩάϥϛϯάݴޠ(PʱΛ্Ѹʁ w ΤϯδχΞ͍ͭ͘ʹͳͬͯͰ͖Δ w
ݱબखੜ໋Λͱͯ͘Ͱ͖Δ৬ۀ ख़࿅৬ਓͱͯ͠ͷਓੜ
ख़࿅৬ਓ ͱ *5اۀ IUUQTOPUFDPNUEUETOOGEB⒎B
ΤϯδχΞϦϯάͱԿͰ͔͢ʁ ٕܳ ୭͕͍ͬͯۙ݁ՌΛ ग़ͤΔΑ͏ʹ͢ΔΈ !LBNJQP
w ͲΜͳϓϩδΣΫτʹͰϑΟοτ͢Δ ϑϦʔαΠζͷϓϩηεͳ͍ w ҰํͰ୭͕ಉ݁͡ՌΛಘΔ͜ͱ͕Ͱ͖Δ πʔϧྨ͕ॆ࣮ͯ͠׆༻Ͱ͖Δݱ w ৬ਓͱͯ͠ͷٕܳΛߴΊଓ͚Δ w ϓϩάϥϚʔͷ༏ྼͰೳྗࠩԿेഒ͋Δʁ
Φʔτϝʔγϣϯͱٕܳ
IUUQTTQFBLFSEFDLDPNLBLVUBOJNBLFJUGVO TMJEF +PCJTOPU1SPGFTTJPO
w ೦ͳ͕ΒςΠϥʔཧ͕ΔιϑτΣΞ։ൃ ͷݱ͍·ͩଟ͋͘Δ͕·͔͞Εͳ͍ w ਓ͋ΒΏΔπʔϧΑΓॏཁͰ͋Δɻ༏Εͨ ਓʑʹ༏ΕͨπʔϧΛ༩͑ΕɺπʔϧΛ࣋ͨͳ ͍ਓʑΑΓޮ্͕͕Δ άϥσΟɾϒʔν w
ਓͻͱΓͻͱΓͷʹয͕ͨΔ͖ɻ࣮ࡍ ੲ͔Βͣͬͱͦ͏ɻ ͜͜·Ͱطʹਓྨ͕า͍ͨ
/PWB&SB /PWB&SBJTUIFQBTTBHFUPZPVSNJOE "OEGPSFWFSZPVNBZpOEBCFUUFSUJNF /PWB&SBCSJOHUIFBOHFMTCBDLUPMJGF-JGF
(15͕ੌ͍Β͍݅͠ ΠϯλʔωοτΛத৺ʹۀք૽વʁ What is life all about? &NCSBDF$IBOHFʹ͍ͭͯߟ͑Α͏
w ہॴ͝ͱʹਓྨΛ͍͍͑ͯͬͯΔ w ιϑτΣΞ։ൃғޟɺকعɺνΣεͷΑ͏ ͳήʔϜͷউഊ͕͖݅ͬΓͨ͠ྨͷͷͰ ͳ͍ w ڝٕͱͯ͠ͷ໘ന͕͞ݮͬͨΘ͚Ͱͳ͘ɺ"* ͷ׆༻Ͱਓྨ͕ඈ༂͢Δ͖͔͚ͬʹ͍ͯ͠Δ "*ͷ༂ਐ;ͨͨͼ
ਐԽͷઌʹ͋Δڞੜࣾձʹ͚ͯ ͍·ͷͱ͜Ζࢲ͍ͬͯ·ͤΜ͕ IUUQTHJUIVCDPNGFBUVSFTQSFWJFXDPQJMPUY ਓྨͷະདྷ ͷՄೳੑ ΛݟͤͯΔ ࣮ͷҰྫ
Λ͏ɻ Λ্ख͘ղ͘ wطʹख़࿅͕ߴ͍։ൃऀࠨଆͷߴ͞ͷ্ʹӈଆߴ͍ wͷղ๏ͷҾ͖ग़͠ͷଟ͞ఆٛͷ෯ʹͳΔ ߋͳΔ"*ࢀೖ͕ૣͦ͏ ਓؒʹٻΊΒΕΔ؊ Λ্ख͘ఆٛ͢Δ ఆٛͷ্ख͕͞ࡍཱͭ࣌ʁ
w ࣮ࡍʹΛ্ख͘ղ͘ख़࿅ͷٕ͋ͬͯ ͷɺશମ࠷దͰͷఆٛΛ্ख͘͢Δٕೳ w ղܾೳྗͷߴΈͷٻґવͱͯ͠ॏཁ w ΤϯλʔϓϥΠζΞϓϦέʔγϣϯϏδω εཁ͔݅ΒΠϯϑϥ·Ͱ෯͍શମੑ͕͋Δ w ߴ͍ࢹͱࢹ࠲ͷ֫ಘ͕ख़࿅৬ਓಓͷͻͱͭ
ہॴ࠷దͰऴΘΒͣશମ࠷దΛ
-&5644)*/& wબ w wײ ࠓޙφϨοδϫʔΧʔͱͯ͠ॏࢹ͞ΕΔͩΖ͏
w "*ͦΕͬΆ͍ճΛ͢Δ͕ɺαδΣετ ͞ΕͨͷΛӏವΈʹ͖͢Ͱͳ͍ w "*Ͱͳͯ͘ྫ͑Ϧϯλʔͷࣗಈमਖ਼ ิతͳͷͳͷͰɺ·ͣࣗͷཉ͍͠ ͷΛࢥ͍ඳ͘ͷͱɺ͑߹ΘͤͰ͖Δ ೳྗ͕ඞཁ ಓ۩͏ͷ ϰΟδϣϯΛ࣋ͪɺओैΛٯస͠ͳ͍
w աڈ001ߏԽઃܭख๏ͷઌʹͰ͖ͨ ରཱߏͰͳ͍ w Ϗδωεͦ͏ͩ͠ɺ044ͰΠγϡʔΛද໘͚ͩͰղܾ ͠Α͏ͱ͢ΔͷͰͳ͘ɺ༰Λۛຯ͢Δͷ͕େࣄ w ԿނͳΒఆ͕ٛඍົͳ͜ͱ͕··͋Δ͔Β w
ίʔυϨϏϡΞʔͷ͕ΤʔεϓϩάϥϚʔͰ͋Δ͜ͱ͕ ଟʑɻͭ·Γͬͱ༏ΕͨධՁऀͰ͋Δɻ w 044ͷੈքͰͦΕΛίϛολʔͱ͍͏ܗͰ࣮ݱ͍ͯ͠Δ ύϥμΠϜγϑτθϩϦηοτͰͳ͍
w զʑ͕࡞ΔιϑτΣΞ৺͋Δਓ͕ਓͷ ͨΊʹ࡞Δͷ w ʮ࣭ͱސ٬ຬʯ w ؒͱސ٬ͱίϛϡχςΟࣾձͳͲͷ8JO Λ"/%ͰऔΔ͜ͱΛࢦ͢ͷʹมΘΓͳ͍ ۦΓཱͯΔͷ৺ͱཉɺԣͨΘΔͷݘͱಲ
ࣗΒͷٕज़ʹؔ৺Λ࣋ͭ͜ͱ ͋ͳͨͷࣄʹ͍ͭͯߟ͑Δ͜ͱʂ ܅ֶͿ͜ͱ͕৺͔Β͖ͩ ܅ιϑτΣΞͷ͜ͱΛେʹࢥ͍ͬͯΔ ΞδϟΠϧαϜϥΠ +POBUIBO3BTNVTTPO ୡਓϓϩάϥϚʔ %BWJE5IPNBT "OESFX)VOU ԁख़ͷٕʹࢸΔ͜͜Ζ
w ݴΘΕͨ͜ͱΛ࣮ݱ͢ΔͨΊͷํ๏Λௐͨ ݁ՌΛॻ͍͍ͯΔ͚ͩͷΤϯδχΞ·͍ͣ w FHऑ͍આ໌ऀɺऑ͍࣮ߦऀ w ࣗͷ಄Ͱߟ͑ͨΑΓྑ͍ఏҊΛ͑ͯɺௐ ࣮ͯ͠Ͱ͖ΔΤϯδχΞΛࢦ͢ w FHڧ͍આ໌ऀɺڧ͍࣮ߦऀ
·ͣݱͰͰ͖Δ͜ͱ͔Β
ख़࿅৬ਓ ιϑτΣΞ৬ਓͷεςʔδ δϟʔχʔϚϯ ϓϩμΫτ։ൃͷதͰͷెఋ੍ ΞϓϨϯςΟε ٕܳͱख़࿅
͓ͷॻ੶
࠷ޙͷҰจΑΓ
ιϑτΣΞ։ൃָ͘͠ͳ͚Ε ͳΓ·ͤΜɻͦ͏Ͱͳ͚Εɺͦͷ ϓϩηεؒҧ͍ͬͯΔͷͰ͢ɻ 4PGUXBSFEFWFMPQNFOUJTNFBOUUPCFGVO*GJUJTOU UIFQSPDFTTJTXSPOH 1FUF.D#SFFO