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
60
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
Node.js, Deno, Bun 最新動向とその所感について
yosuke_furukawa
PRO
9
3.7k
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
4.1k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
230
Removing Corepack
yosuke_furukawa
PRO
9
1.6k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.8k
Strip Types と Storage
yosuke_furukawa
PRO
4
400
Module Harmony について
yosuke_furukawa
PRO
3
1.7k
LTのやり方
yosuke_furukawa
PRO
16
2.6k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
810
Other Decks in Technology
See All in Technology
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
130
“社内”だけで完結していた私が、AWS Community Builder になるまで
nagisa53
1
220
ユーザーのプロフィールデータを活用した推薦精度向上の取り組み
yudai00
0
490
AIのAIによるAIのための出力評価と改善
chocoyama
0
510
実践! AIエージェント導入記
1mono2prod
0
140
20250623 Findy Lunch LT Brown
3150
0
780
CI/CDとタスク共有で加速するVibe Coding
tnbe21
0
230
本部長の代わりに提案書レビュー! KDDI営業が毎日使うAIエージェント「A-BOSS」開発秘話
minorun365
PRO
14
2.3k
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
1
140
Create a Rails8 responsive app with Gemini and RubyLLM
palladius
0
140
監視のこれまでとこれから/sakura monitoring seminar 2025
fujiwara3
10
2.9k
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
280
Featured
See All Featured
A better future with KSS
kneath
239
17k
RailsConf 2023
tenderlove
30
1.1k
Typedesign – Prime Four
hannesfritz
42
2.7k
Rails Girls Zürich Keynote
gr2m
94
14k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.6k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Site-Speed That Sticks
csswizardry
10
650
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Become a Pro
speakerdeck
PRO
28
5.4k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠