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
スペシャリストになる覚悟
Search
Yosuke Furukawa
PRO
January 19, 2021
Technology
61
24k
スペシャリストになる覚悟
2021/01/19 の Forkwell Engineer Career Study の資料です
Yosuke Furukawa
PRO
January 19, 2021
Tweet
Share
More Decks by Yosuke Furukawa
See All by Yosuke Furukawa
デザインシステムが必須の時代に
yosuke_furukawa
PRO
2
160
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
10
4.6k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.3k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
270
Removing Corepack
yosuke_furukawa
PRO
9
1.7k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.9k
Strip Types と Storage
yosuke_furukawa
PRO
4
440
Module Harmony について
yosuke_furukawa
PRO
3
1.8k
LTのやり方
yosuke_furukawa
PRO
16
2.7k
Other Decks in Technology
See All in Technology
様々なファイルシステム
sat
PRO
0
290
プロダクト開発と社内データ活用での、BI×AIの現在地 / Data_Findy
sansan_randd
1
760
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
950
ゼロコード計装導入後のカスタム計装でさらに可観測性を高めよう
sansantech
PRO
1
660
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
170
現場の壁を乗り越えて、 「計装注入」が拓く オブザーバビリティ / Beyond the Field Barriers: Instrumentation Injection and the Future of Observability
aoto
PRO
1
860
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
280
累計5000万DLサービスの裏側 – LINEマンガのKotlinで挑む大規模 Server-side ETLの最適化
ldf_tech
0
130
20251027_findyさん_音声エージェントLT
almondo_event
2
530
20251102 WordCamp Kansai 2025
chiilog
1
480
次世代のメールプロトコルの斜め読み
hirachan
3
290
短期間でRAGシステムを実現 お客様と歩んだ生成AI内製化への道のり
taka0709
1
150
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.5k
A Tale of Four Properties
chriscoyier
161
23k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
The Pragmatic Product Professional
lauravandoore
36
7k
Agile that works and the tools we love
rasmusluckow
331
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Embracing the Ebb and Flow
colly
88
4.9k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.2k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
KATA
mclloyd
PRO
32
15k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Transcript
εϖγϟϦετʹͳΔ ֮ޛ 2021/01/16 @ Engineer Career Study #1
Twitter: @yosuke_furukawa Github: yosuke-furukawa ࠷ۙͷ׆ಈ $ISPNF"EWJTPSZ#PBSE +4$POG+1PSHBOJ[FSFUD
ϚωʔδϟʔͱεϖγϟϦετ
ITΤϯδχΞͷΩϟϦΞͱͯ͠ޠ ΒΕΔʮεϖγϟϦετʯͱͳ Μͳͷ͔ɻ ҰൠతͳΩϟϦΞͱͯ͠ޠΒΕͯ ͍ΔͷͷɺҰͭͷઐੑͷΈͰ څྉΛ͍͋͛ͯ͘͜ͱͷ͠͞Λ ײ͡ΔΤϯδχΞɺࣗͷߟ͑ ͱཪෲʹϚωʔδϟʔͷಓΛٻ ΊΒΕΔํ͍·͢ɻ https://forkwell.connpass.com/event/200159/
Զ͡ΌΜ... (γχΞιϑτΣΞΤϯδχΞ݉ άϧʔϓϚωʔδϟ)
ͦͦεϖγϟϦετͱϚ ωʔδϟʔͳͥରཱ͢Δ֓ ೦͔ͷΑ͏ʹѻΘΕͯΔͷ͔
ݹయ ୈޒষʮϚωʔδϟʔͱԿ͔ʯ ϚωʔδϟʔͰ͋ΕɺઐՈͰ͋ ΕɺϚωδϝϯτͷҰһͰ͋Δ͜ͱ ʹมΘΓ͕ͳ͍ɻ ϚωʔδϟʔͱઐՈͷҧ͍Ϛ ωʔδϟʔͷ΄͏͕Ұ͚ͭͩ༨ͳ ଆ໘Λ͍࣋ͬͯΔͱ͍͏ࣄ͚ͩͩɻ ɹɹɹɹɹʹʹதུʹʹ ҧ͍ɺػೳͰߩݙͰͳ͘खஈ
ʹ͋Δɻ྆ऀʹཁٻ͞ΕΔͷಉ ͡Ͱ͋Δɻ https://www.diamond.co.jp/book/9784478410233.html
εϖγϟϦετ ݸਓͰՌΛग़͢ਓ
Ϛωʔδϟʔ ৫ΛӡӦ͠ՌʹΛ࣋ͭਓ
εϖγϟϦετ ݸਓͰՌΛग़ ͢ਓ Ϛωʔδϟʔ ৫ΛӡӦ͠Ռ ʹΛ࣋ͭਓ ͦͦڥքઢ͕ͦ͜·Ͱ͖ͬΓ͍ͯ͠ͳ͍ɻ ιϑτΣΞ։ൃʹ͓͍ͯಛʹɻ
εϖγϟϦετ ιϑτΣΞ։ൃʹ͓͍ͯݸਓ୯ ମͰՌΛग़͢͜ͱ͕গͳ͍ɻ νʔϜ։ൃͱͯ͠νʔϜશମͰՌ Λग़͢ඞཁ͕͋Δɻ
Ϛωʔδϟʔ ιϑτΣΞ։ൃʹ͓͍ͯϚωʔ δϟʔઐతͳࣝඞཁɻ ਐԽͷ͍ۀքͰखΛಈ͔ͯ͠Π ϯϓοτ͢Δඞཁ͋Δɻ
εϖγϟϦετͱϚωʔδϟʔରཱ͢Δ ֓೦͡Όͳ͍ͱ͍͏ࣄΛೝࣝͯ͠΄͍͠ɻ εϖγϟϦετͰ͋ͬͯਓΛϦʔσΟϯ άͨ͠Γɺҭ͢Δඞཁ͋Δ͠ɺϚωʔ δϟʔͰ͋ͬͯίʔυॻ͘ɻ
ʮϚωʔδϟʔʹͳͬͯ΄͍͠ʯͱ ݴΘΕͨ࣌ʹΫϥγοΫͳఆٛͷϚ ωʔδϟʔͷҹ͔ΒωΨςΟϒʹ ߟ͑Δͷ͍ͬͨͳ͍ɻ
ݹϚωʔδϟʔʹͳͬͯ ΄͍͠ͱݴΘΕͨ࣌ʹ ʮͬͨ͜ͱͳ͍͔Βͬͯ Έ͍ͨʯͱࢥͬͨɻ
εϖγϟϦετಉ༷ɺࣗ ͷΓ͍ͨ։ൃΛଓ͚ΔͳΒ νʔϜશମʹߟ͑ํΛ͛Δ ඞཁ͕͋Δ͠ɺͦͷͨΊʹ Ϛωʔδϟʔ͕ΔΑ͏ͳ ࣄΔඞཁ͕͋Δɻ
ͱ͍͑ɺେมͦ͏...
ͷ߹
γχΞΤϯδχΞ • ΞϓϦέʔγϣϯ։ൃͦͷͷʹؔΘΔ͜ͱগ ͳ͍ʢͨ·ʹͦΕΔ͚ͲΔͱ͖ࠈʣ • ͦͦͷઃܭϓϩτλΠϓ։ൃ͕ϝΠϯ • ։ൃͷखॿ͚ʹͳΔΑ͏ͳϥΠϒϥϦͷ։ൃ OSSͷதʹ౿ΈࠐΜͩௐࠪ߹ʹΑͬͯPRΛ ग़͢ɺ·ͱ·ͬͨΒϒϩάͰࣝΛڞ༗͢ΔͳͲ
ҰํͰϚωʔδϟʔͱͯͬͯ͠ Δ͜ͱ • ϝϯόʔͷλεΫΞαΠϯʢΓ͍ͨ͜ͱͱΒͳ ͖Ό͍͚ͳ͍͜ͱΛ߹ΘͤΔʣ • ࠾༻ɺҭʢ໘༏लͳީิऀͷ͔͚ɺ৽ਓݚ मͷߨࢣʣ • ษڧձϋοΧιϯͳͲɺࣾͰΤϯδχΞίϛϡχ
ςΟ࡞Γ • ࠾༻ ϝϯόʔ͕༏लͰ͋ΔͱɺͲΕͦΜͳʹ͘͠ͳ͍ɻ ίϛϡχςΟ࡞ΓࣗͷϥΠϑϫʔΫʹ͍ۙͷͰͦ͜·Ͱ͘͠ͳ͍ɻ
ϚωδϝϯτͱεϖγϟϦετͷཱ͕྆େ ม͔Ͳ͏͔ϝϯόʔʹڧ͘ґଘ͢Δɻ पғͷϝϯόʔ͕༏लͳΒϚωδϝϯτΛ ߦ͍ͳ͕ΒίʔυΛॻ͘͜ͱՄೳ ܲͱཛͷΑ͏ͳؔʹͳ͍ͬͯΔɺͳͷͰେมɻ ࠾༻ҭҰேҰ༦ͰͰ͖ͳ͍ɻ͜͜·ͰདྷΔͷʹ͔͔ͬͨɻ
εϖγϟϦετ ൃද 044 ϥΠϒϥϦ αʔϏε Output φϨοδ Ϛωʔδϟʔ Team Assign
Share Engineer Community Recruitment
εϖγϟϦετ ൃද 044 ϥΠϒϥϦ αʔϏε Output φϨοδ Ϛωʔδϟʔ Team Assign
Share Engineer Community Recruitment εϖγϟϦετνʔϜ͕Ξτϓοτͨ͠ͷΛڞ༗͠ɺίϛϡχςΟʹؐݩ Ϛωʔδϟʔ͔ͦ͜ΒڵຯΛ࣋ͬͯ͘ΕͨਓΛ࠾༻͠ɺҭͯ͠νʔϜʹؐݩ
Q.εϖγϟϦετͱϚωʔ δϟʔΛ྆ํΔͷେมʁ A. ͪΖΜେม ͚ͩͲ྆ํΕΔ͜ͱ͕ཧ େม͞ΛΓӽ͑ΕΓ͍ͨ ͜ͱ͕͕͍ͬͯ͘ɻ
ͦͦεϖγϟϦετʹͳΔͬ ͯͲ͏ͬͨΒΕΔͷ͔...?
ͷ߹
ϦΫϧʔτʹ͓͚ΔγχΞͷཁ݅ • ࣾ֎ͰΤΩεύʔτͱͯ͠ೝ͞Ε͍ͯΔ͜ͱ ʢNode.js ͷୈҰਓऀͱͯ͠ೝࣝ͞Ε͍ͯΔʣ • ͦͷਓ͕Ұਓ͍Δ͚ͩͰɺϓϩμΫτઓུ͕มΘΔɻ ࠓ෩ʹݴ͏ͱɺʮபʯ ʢ௨ৗͰ࡞Εͳ͍Α͏ͳͷ࡞ΕΔɺϋΠύϑΥʔ ϚϯεͳΞϓϦέʔγϣϯʣ
• γχΞʹͳΔͱɺϝϯόʔ͔ΒϩʔϧϞσϧͱͯ͠ೝࣝ͞ΕΔ
ΤϯδχΞʹͳΔ֮ޛ • 3΄Ͳલʹൃදͨ͠ • ΞϓϦέʔγϣϯΛ࡞Ζ͏ • ඇػೳཁ݅ʹͩ͜ΘΖ͏ • ࣝʹ֞ࠜ࡞Βͳ͍
εϖγϟϦετʹͳΔͨΊʹ৺ ͕͚Δ͜ͱ • ࣗͷʹ͢Δ • ଉΛు͖ଓ͚Δ • Կ͔͠ΒͷνϟϨϯδΛଓ͚Δ
ࣗͷʹ͢Δ
Node.js ຊϢʔβʔάϧʔϓ දʹͳͬͨ࣌ͷࠒ (2014)
Node.js ࠞཚظͰͨ͠ɻ
ࢭ·Γଓ͚ΔϦϦʔε Revert͞Εଓ͚Δίϛοτ Ұͭୡ͠ͳ͍ϚΠϧετʔϯ
io.js ͱ Node.js ͱ͍͏அ
͜ͷ࣌ʹࢥ͍ͬͯͨͷɺ ʮNode.jsͱio.jsͷࠞཚΛࢭΊͳͯ͘ʯ
Node.js fork ͞Εͯ io.js ʹϝ Πϯίϛολ͕ྲྀΕɺ Node.js Node.js
ͰϨΨγʔ։ൃͱ͠ ͯෆ۩߹मਖ਼͕ਐΉ సػ
ࠓ·Ͱάϩʔόϧʹى͖͍ͯΔมߋΛϩʔΧϧ ʢຊʣʹ͑Δ͜ͱ͔ͯ͠͠ͳ͔ͬͨɻ ݴΘɺ֎Ͱى͖͍ͯΔ͜ͱΛ͑Δ͚ͩͩͬͨɻ
Node.jsͰى͖ͯΔ͜ͱΛ io.js ʹల։ ͠ɺ io.js Ͱى͖ͯΔ͜ͱΛ Node.js ʹ ϑΟʔυόοΫ͢ΔࣄͰɺมߋͷࠩΛ খ͘͢͞Δ͜ͱʹΊͨɻ
ͦ͏͢ΕɺҠߦͦ͜·Ͱ͘͠ͳ͍ɻ ͲͬͪΛબͿ͔Ϣʔβʔ͕બ͢Ε ྑ͍ɻ
ٕज़తʹى͖͍ͯΔมԽΛ୭͔͕ͬͯ͘ ΕΔͱࢥͬͯͤΔͷͰͳ͘ɺࣗͷ͜ ͱͱͯ͠Λ͏ɻ
݁Ռ: 2015ʹ Node.js ͱ io.js ౷߹ ͦͷ࣌ͷ׆ಈ͕͖͔͚ͬͰ ίΞίϯτϦϏϡʔλʔ݉ΤϰΝϯδΣϦετʹɻ
ଉΛు͖ଓ͚Δ
ଉΛు͖ଓ͚Δ = ΞτϓοτΛ͠ଓ͚Δ
ଉΛు͖ଓ͚ΔͱٵΘͳ͍ͱ ͍͚ͳ͘ͳΔɺΠϯϓοτ ܧଓతʹͰ͖ΔΑ͏ʹͳΔ
Node.js / io.js ૽ಈ͕͋ͬͨ࣌ ͔Βಛʹߟ͑ํ ʮάϩʔόϧΛҙࣝͯ͠Δʯ
άϩʔόϧͰͬͯΔ͜ͱΛ ຊʹೖΕΔΑΓຊͰى͖ͯ Δ͜ͱΛάϩʔόϧʹల։͢Δ
ͳͷͰΞτϓοτ άϩʔόϧΛҙ͍ࣝͯͨ͠ɻ jsconf.asia 2016 Node interactive 2017 AMP Fest 2020
ຊͩͱੈքͷϩʔΧϥΠζͰൃ දʹͳΔ͚Ͳੈքͩͱͦͷ্Λ͑ ͍ͯ͘ඞཁ͕͋Δɻ ͳͷͰΞτϓοτ࣭͕มΘΔɻ
Կ͔͠ΒͷνϟϨϯδΛଓ͚Δ
1ؒͱ͍͏εύϯΛઃ͚ͯ ԿΒ͔ͷνϟϨϯδΛଓ͚͖ͯͨɻ Japan Node.js Association ๏ਓԽ ೦ئͷ JSConf.JP ։࠵
͜͜࠷ۙϚωʔδϟʔ͚ͩͲຖ ίʔυॻ͘ͷΛΔͷΛνϟϨϯδ ʹ͍ͯ͠·͢ɻ Leetcode Λຖղ͍ͯΔʢ࠷ۙRustͰ) Write Code Everyday Ͱ1ܧଓ
ৗʹͳʹ͔Δɻ खΛಈ͔͢͜ͱΊͳ͍ɻ
ίϯϑΥʔτκʔϯʹཹ·Β ͳ͍Α͏ʹͯ͠ΔʢͭΓʣ
·ͱΊ
·ͱΊ • ϚωʔδϟʔͱεϖγϟϦετ • ϚωʔδϟʔͱεϖγϟϦετରཱ֓೦͡Όͳ͍ • ιϑτΣΞ։ൃʹ͓͍ͯΉ͠Ζڞ௨߲͕ଟ͍ • ཱ྆͢ΔͷͪΖΜେม͚ͩͲɺΓӽ͑ΕΓ͍ͨ͜ͱ͕Ͱ͖Δ •
εϖγϟϦετʹͳΔʹ • ࣗͷʹ͢Δ • ଉΛు͖ଓ͚Δ • ৗʹԿ͔͠ΒνϟϨϯδ͢Δ
ͦͯ͠ࠓ܅͕ͨͪ ޙഐΛकΔபͱͳΔͷͩɻ (َ໓ͷਕ 8ר: Ẃࠈҍण) ஶ: ޗಕݺੈ ग़൛ࣾ: ूӳࣾ ग़൛:
2017
͋Γ͕ͱ͏͍͟͝·ͨ͠