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
Welcome JSConf.jp 2024
yosuke_furukawa
PRO
1
3.7k
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
190
Removing Corepack
yosuke_furukawa
PRO
9
1.5k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.6k
Strip Types と Storage
yosuke_furukawa
PRO
4
370
Module Harmony について
yosuke_furukawa
PRO
3
1.6k
LTのやり方
yosuke_furukawa
PRO
16
2.3k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
750
Node.js v22 で変わること
yosuke_furukawa
PRO
13
5.7k
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
ソフトウェアエンジニアと仕事するときに知っておいたほうが良いこと / Key points for working with software engineers
pinkumohikan
0
100
地方拠点で エンジニアリングマネージャーってできるの? 〜地方という制約を楽しむオーナーシップとコミュニティ作り〜
1coin
1
230
表現を育てる
kiyou77
1
220
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
410
関東Kaggler会LT: 人狼コンペとLLM量子化について
nejumi
3
600
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
君も受託系GISエンジニアにならないか
sudataka
2
440
OpenID Connect for Identity Assurance の概要と翻訳版のご紹介 / 20250219-BizDay17-OIDC4IDA-Intro
oidfj
0
280
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
1
240
Helm , Kustomize に代わる !? 次世代 k8s パッケージマネージャー Glasskube 入門 / glasskube-entry
parupappa2929
0
250
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
328
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Practical Orchestrator
shlominoach
186
10k
Fashionably flexible responsive web design (full day workshop)
malarkey
406
66k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Side Projects
sachag
452
42k
Automating Front-end Workflow
addyosmani
1368
200k
Designing for humans not robots
tammielis
250
25k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠