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
tc39 x jsconf.jp Panel Discussion 2024
yosuke_furukawa
PRO
0
150
Removing Corepack
yosuke_furukawa
PRO
9
1.3k
JavaScript Runtime とはなにか
yosuke_furukawa
PRO
15
2.5k
Strip Types と Storage
yosuke_furukawa
PRO
4
340
Module Harmony について
yosuke_furukawa
PRO
3
1.5k
LTのやり方
yosuke_furukawa
PRO
16
2.2k
AppRouter Panel Talk
yosuke_furukawa
PRO
3
700
Node.js v22 で変わること
yosuke_furukawa
PRO
13
5.3k
リアーキテクトと開発生産性について
yosuke_furukawa
PRO
25
9.6k
Other Decks in Technology
See All in Technology
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
Platform Engineering for Software Developers and Architects
syntasso
1
510
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
信頼性に挑む中で拡張できる・得られる1人のスキルセットとは?
ken5scal
2
530
Terraform Stacks入門 #HashiTalks
msato
0
350
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
160
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.1k
OCI Security サービス 概要
oracle4engineer
PRO
0
6.5k
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
Security-JAWS【第35回】勉強会クラウドにおけるマルウェアやコンテンツ改ざんへの対策
4su_para
0
170
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
380
Featured
See All Featured
Ruby is Unlike a Banana
tanoku
97
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.8k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Thoughts on Productivity
jonyablonski
67
4.3k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Practical Orchestrator
shlominoach
186
10k
Optimizing for Happiness
mojombo
376
70k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
840
Building Adaptive Systems
keathley
38
2.3k
Done Done
chrislema
181
16k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠