Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
エンジニアとしてこの先生きのこるために
Search
Recruit Technologies
June 24, 2019
Technology
74k
29
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニアとしてこの先生きのこるために
2019年度リクルート新人ブートキャンプ エンジニアコースの講義資料です
Recruit Technologies
June 24, 2019
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
800
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.6k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
2k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
43k
【RTC新人研修 】 TPS
rtechkouhou
1
42k
Android Boot Camp 2020
rtechkouhou
0
42k
HTML/CSS
rtechkouhou
10
52k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
Obsidian Vault Architectures
x5gtrn
PRO
0
210
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
280
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
140
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
130
Vibe-to-Spec開発_実践ガイド
happysamurai294
0
130
AI秘書と毎日働くのはもう当たり前。開発以外の業務に足りない機能をどう埋める?
minorun365
PRO
4
2k
データマネジメント × 法務で作りあげる、 freeeの新しいデータガバナンスへの軌跡
freee
PRO
2
580
今から始めるAWS環境の暗号移行 - ポスト量子時代に備える
sato4mi
0
130
Patterns in AI Driven Software Development
akosma
PRO
0
380
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
7
4.9k
AIテスト自動化と評価駆動開発EDD
happysamurai294
0
110
デザインレビューは自動化できるのか?─ Flutter × Figma で UI 品質保証を考える
techiro
2
670
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
340
The untapped power of vector embeddings
frankvandijk
2
2k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
870
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
660
Building Adaptive Systems
keathley
44
3.3k
Code Review Best Practice
trishagee
74
20k
Agile that works and the tools we love
rasmusluckow
331
22k
Navigating Weather and Climate Data
rabernat
0
570
Designing Experiences People Love
moore
143
24k
Crafting Experiences
bethany
1
400
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Transcript
ΤϯδχΞͱͯ͠ ͜ͷઌੜ͖ͷ͜ΔͨΊʹ ాਓ "QS !ϦΫϧʔτςΫϊϩδʔζ
UXBEB U@XBEB UXBEB ాਓ
मɺ༁ɺ༁ͨ͠ຊͨͪ
テスト書いてますか!! ελϯυ໊ϫΠϧυɾαόϯφ
assert(typeof item.id === 'strong') | | | | | |
| false | | "foo" | Item{id:"foo",name:"bar"} "string" --- [string] 'strong' +++ [string] typeof item.id @@ -1,6 +1,6 @@ str -o +i ng power-assert IUUQTHJUIVCDPNQPXFSBTTFSUKTQPXFSBTTFSU
wେֶࡏֶத͔ΒઃܭͱϓϩάϥϛϯάͷΞϧόΠτ Λ࢝ΊΔ wଔۀޙϓϩάϥϚͱͯ͠ͷΩϟϦΞΛ։࢝ wిࢠͷαϒϓϩδΣΫτ ઍਓن ͰϦʔυ ϓϩάϥϚ w91ͷίʔνͱͯ͠ਓͷΞδϟΠϧνʔϜʹࢀՃ wߨԋɺࣥචɺ044׆ಈΛ࢝ΊΔ wݱࡏʮྲྀ͠ͷϖΞϓϩۀʯΛߦ͍ͬͯΔ
ΩϟϦΞతͳͷ
ΑΖ͓͘͠ئ͍͠·͢
None
ֶͼଓ͚Δ࢟
lৗʹ͋ͳͨͷ ࣝϙʔτϑΥϦΦ ʹࢿ͢Δ͜ͱz
ٕज़ΛֶͿͷͰ ͳ͘ɺٕज़ͷ ֶͼํΛֶͿ
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
l࢛ظຖʹ ٕज़ॻΛಡΉz
None
感覚記憶 0.5 〜 2sec 短期記憶 15 〜 30 sec 長期記憶
死ぬまで? ֶͼͷΈ
ΠϯσοΫεΛ࡞Δ ピッカーを育てる = 反復練習 何度も長期記憶から出し入れする 荷物を他の荷物とくっつける 連想記憶を育てる
1999 2000 2001 2002 2003 2004 2005 2006 ͨͱ͑ɺ࣌ܥྻʹฒΔ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
lखΛಈ͔͠ ֶͯͿz
Ͱ͖Δ ͖ʹͳΔ Δ
σʔϧͷԁਲ਼
ࣸܦ
IUUQUXJUUFSDPNU@XBEBTUBUVTFT
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
lຖগͳ͘ͱ ҰͭͷݴޠΛ ֶश͢Δz
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
http://www.thoughtworks.com/radar/languages-and-frameworks
lӳޠ͕Ͱ͖ΔΑ͏ʹͳΔͱ͍͏ͷɺ ʮେ͖ͳਤॻؗͷݤʯΛ͞ΕΔΑ͏ͳ ͷͰ͢ɻҰਓͻͱΓͷਓੜʹ͍ΖΜͳ ՄೳੑΛ༩͑ͯ͘Ε·͢z ߴদचࢠ http://blogos.com/article/85541/ ٕज़ऀͱӳޠʹ͍ͭͯ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
ͷճΓΛ ϓϩάϥϛϯά ରʹ͢Δ
ϓϩάϥϚ͚ͷຊͷमऀ Ͳ͏͋Δ͖͔
ϓϩάϥϚΒ͘͠ ଵଦɺၗຫɺؾ ϓϨʔϯςΩετΛΉ ͯ͢Λόʔδϣϯཧ͢Δ ͯ͢ΛࣗಈԽ͢Δ มԽΛ๊༴͢Δ
ϓϩάϥϚΒ͘͠ ݪߘNBSLEPXOܗࣜ ݪจεΫϨΠϐϯάͯ͠औಘ HJUΛ͍όʔδϣϯཧ IFSPLVʹQVTIͯ͠αΠτʹө मࠩEPDEJGGͰදࣔ
None
None
࠷ۙͭͬͨ͘ͷ ࢠҭͯڭҭؔͷ -*/&#PU "NB[PO"MFYB4LJMM ͳͲͳͲ
࢛ظຖʹٕज़ॻΛಡΉ खΛಈֶ͔ͯ͠Ϳ ຖগͳ͘ͱͭͷݴޠΛֶश͢Δ ͷճΓΛϓϩάϥϛϯάରʹ͢Δ ΞτϓοτΛߦ͏
Ξτϓο τΛߦ͏
σʔϧͷԁਲ਼
https://twitter.com/ProfFeynman/status/981943455508148225
Πϯϓοτ Ξτϓοτ ਖ਼ͷϑΟʔυόοΫϧʔϓ
ྔ࣭ʹసԽ͢Δ http://d.hatena.ne.jp/KZR/20080808/p1
CMPHΛॻ͘
lใൃ৴ɺCMPH ൃ ද ެ։ͳͲɺֶͷ ະղܾͷ ূ໌Ͱ ͳ͘ɺྉཧͷΑ͏ͳ ͷz
ࣥච͢Δ ·ͣࡶࢽ͔Β
HJIZPKQͷ࿈ࡌ ʰʦಈըͰղઆʧాਓͷlςετۦಈ։ൃzߨ࠲ʱ IUUQHJIZPKQEFWTFSJBMUEE શճͯ͢ಈը͖ղઆ χίχίಈըͰݟΕ·͢ 8&# %#աڈهࣄͷಛઃαΠτͱಈը
ίʔυΛެ։͢Δ
assert(typeof item.id === 'strong') | | | | | |
| false | | "foo" | Item{id:"foo",name:"bar"} "string" --- [string] 'strong' +++ [string] typeof item.id @@ -1,6 +1,6 @@ str -o +i ng power-assert IUUQTHJUIVCDPNQPXFSBTTFSUKTQPXFSBTTFSU
power-assert
power-assert
ߨԋ͢Δ
Ͱ͖ΕϥΠϒίʔσΟϯάͰ
w5XJUUFS wCMPH 2JJUB wࡶࢽهࣄ 8FC ࢴഔମ ిࢠഔମ wॻ੶ ڞஶ
༁ ༁ ୯ஶ wߨԋ ࣾษڧձ ࣾ֎-5 ࣾ֎ߨԋ wϥΠϒίʔσΟϯά w(JUIVC Ξτϓοτͷνϟωϧ
JOUFSWBM
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
ຖίʔυΛ ॻ͘
w K2VFSZ࡞ऀ+PIO3FTJHिʹࣗͷϓϩ μΫτ։ൃΛؤுΖ͏ͱ͕ͨ͠ɺࣦഊɻ w ฏͱಉ͡അྗͰॻ͚ͳ͍ w શͯͷि͕ۭ͍͍ͯΔΘ͚Ͱͳ͍ w Ұिؒ ͋Δ͍ೋिؒ
͍ɻίʔυ ΛΕͯ͠·͏ w ͦ͜Ͱ+PIO3FTJH͕ߦͬͨ͜ͱʜʜ ͋ͷ+PIO3FTJHͰ͏·͍͔͘ͳ͍͜ͱ
IUUQFKPIOPSHCMPHXSJUFDPEFFWFSZEBZ
ຖίʔυΛॻ͘͜ͱɻϒϩάɺυΩϡϝϯ τɺͦͷଞίʔυΛॻ͍ͨΒͬͯΑ͍ɻ ҙຯͷ͋ΔίʔυΛॻ͘͜ͱɻΠϯσϯτ ϑΥʔϚοτͷमਖ਼ɺՄೳͳΒϦϑΝΫ λϦϯάίʔυॻ͖ʹΧϯτ͠ͳ͍ɻ ਂ࣌લʹऴΘΒͤΔ͜ͱɻ ॻ͍ͨίʔυΛHJUIVCͰશͯ044ʹ͢Δ ͜ͱɻ ࢛ͭͷϧʔϧ IUUQFKPIOPSHCMPHXSJUFDPEFFWFSZEBZ
࣌ͷ !KFSFTJHͷHJUIVCQSPpMF IUUQTHJUIVCDPNKFSFTJH
w ඞཁ࠷খݶͷίʔυͷूதҰʙ࣌ؒఔͰҙ ຯͷ͋ΔίʔυΛॻ͘͜ͱ͕ڧ͍ΒΕΔ ٳʹͬͱ ͔͚ΒΕΔ w ϓϩάϥϛϯάͷश׳ԽHJUIVCʹΛੜ͢ͷ͕తͰ ͳ͍ɻࣗͰࣗࣗͷͨΊʹੜ׆श׳Λม͑Δͷ͕େ ࣄ
w ෆ҆ͱͷઓ͍ҎલʮेʹʯਐΜͰ͍Δ͔ɺʮे ʹʯ͍ͯ͠Δ͔ɺෆ͕҆͋ͬͨɻຖίʔυΛॻ͍ͯ ΈͯɺਐΜͰ͍Δͱ͍͏࣮ײɺ࣮ࡍͷਐḿͱಉ͘͡Β͍ ॏཁͩͱ͍͏ؾ͖ͮΛಘͨ +PIO3FTJHʹىͬͨ͜มԽ
w िͷա͔ͨ͝͠Ҏલ։ൃͷશͯΛिʹṌ͚ࣦͯ ഊ͍͕ͯͨ͠ɺ͍·िͦΕ΄ͲॏཁͰͳ͘ͳΓɺ ϦΞϧϥΠϑΛॆ࣮Ͱ͖ΔΑ͏ʹͳͬͨ w όοΫάϥϯυॲཧࢄาதɺγϟϫʔதɺৗʹίʔ υͷ͜ͱΛόοΫάϥϯυͰߟ͑ΔΑ͏ʹͳΓɺྑ ͍ΞΠσΞ͕ු͔ͿΑ͏ʹͳͬͨ w ίϯςΫετεΠονҎલिʹҰճͷ։ൃͩͬͨͷ
ͰίϯςΫετεΠονͷίετ͕͕͋ͬͨɺ͍· ຖͳͷͰͦΕ͕ͳ͍ +PIO3FTJHʹىͬͨ͜มԽ
w ϫʔΫϥΠϑόϥϯεࣄੜ׆ࣗͷϓϩδΣΫτ ͷόϥϯεͷऔΓํ͕͔ͬͨͷ͕࠷େͷऩ֭ͩͬͨɻ ຖΔͱ͍͏͜ͱɺόϥϯεΛऔΔͱ͍͏͜ͱ w ·ΘΓ͔ΒͷཧղʮຖίʔυΛॻ͘ʯͱ͍͏श׳Λ ެݴͨ͜͠ͱͰɺύʔτφʔ͔ΒͷཧղಘΒΕΔΑ ͏ʹͳͬͨ w ͲΕ͚ͩίʔυΛॻ͍͔ͨ͜ͷश׳Λଓ͚Δͱॻ͘
ίʔυΞτϓοτࣗͰ֮͑ΒΕͳ͍͘Β͍ ͷྔʹͳΓɺॆ࣮ײΛಘΒΕΔ +PIO3FTJHʹىͬͨ͜มԽ
ݱࡏͷ!KFSFTJHͷHJUIVCQSPpMF IUUQTHJUIVCDPNKFSFTJH
ࢲ݁ߏଓ͚·ͨ͠
ࣄྫ
ॅΉॴΛ͢Δ
ҙਤతʹΦϑϥΠϯ࣌ؒΛͭ͘Δ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
Լ͔Β ֶͿ
lҰੜϓϩάϥϚʔͰ͍ ΕΔ͔Ͳ͏͔ɺݴ͍ ͑ΕԼ͔Βֶ Δ͔൱͔ɻz
Ͱ͖Δ ͖ʹͳΔ աద߹ͱλίπϘԽ
wఆظతʹࣗͷεΩϧΛ୨Է͢͠Δ wੵۃతʹ֎෦ʹग़ͯɺࣗͷεΩϧΛ ૬ରԽ͢Δ w͏ಓ۩Λఆظతʹม͑Δ wະͷίϛϡχςΟʹࢀՃ͢Δ wएऀ͔ΒֶͿ wएऀͱಉ͡ඨͰڝ͏ ϕϯνϚʔΫͱΞϯϥʔχϯά
ペアプログラミング ベテランにはアンラーニングのチャンス
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
աڈ͔Β ະདྷΛΔ
ٕज़ʮৼΓࢠʯ
ٕज़ʮΒͤΜʯ
IUUQTTQFBLFSEFDLDPNUXBEBVOEFSTUBOEJOHUIFTQJSBMPGUFDIOPMPHJFT
IUUQXXXQVCMJDLFZKQCMPHIUNM
ʮ5ࣈܕʯͰͳ͘ෳͷபΛ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
ਓͷͭ͘Δ ӔΛݟΔ
৫ͷ͔࣌Βݸਓͷ࣌
ݸ͕ଟ͘ू·ΔͱԿ͔͕ى͜Δ
ϩʔυϚοϓࢦ͔ΒΤίγεςϜࢦ
IUUQEIBUFOBOFKQFTTBQ
l͔͠͠ɺࠓͷۀքɺʮΤίγεςϜʯͷ࣌ͩɻ ଳӍྛͷΑ͏ʹɺ৯͍͍͋ͭͭڞੜ͋͠͏͞·͟ͳ λΠϓͷϓϨΠϠʔ͕ɺࣗͷҝ͚ͩͷݸผͷҙࢥܾ ఆΛͯ͠ɺͦͷ૬ޓ࡞༻Ͱٕज़͕ൃల͍ͯ͘͠ɻʮΤ ίγεςϜʯໃ६ͩΒ͚Ͱɺ͋Δٕज़͕ൃల͢Δͷ ͱಉ࣌ʹɺͦͷΞϯνςʔθͱͳΔٕज़৳ͼΔz lʮϩʔυϚοϓʯ͕ࢦࣔ͢͠ະདྷͷํͱҧ͏ํ ʹਐΉ͜ͱக໋తͳؒҧ͍͕ͩɺʮΤίγεςϜʯ Ή͠Ζத৺෦͕ϨουΦʔγϟϯͰɺपล෦ʹੜ͖ Γ͕༰қͳϒϧʔΦʔγϟϯ͕͋Δz
IUUQEIBUFOBOFKQFTTBQ
lී௨ͷਓʮϩʔυϚοϓʯ ͷதͰਅΜதΛਐΉ͖Ͱɺ ʮΤίγεςϜʯͷதͰਅΜ தΛආ͚Δ͖ͩz IUUQEIBUFOBOFKQFTTBQ
IUUQDIBTFOPSHdEBJUJNUFYUXPSTFJTCFUUFSKBIUNM 5IF3JTFPGl8PSTFJT#FUUFSz
IUUQTUXJUUFSDPNU@XBEBTUBUVT
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
େࣄͳ͜ͱʹ ूத͢Δ
IUUQTXXXBNB[PODPKQEQ
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
ֶͼଓ͚Δ࢟
ٕज़ΛֶͿͷͰ ͳ͘ɺٕज़ͷ ֶͼํΛֶͿ
ތΓ͋Δϓϩʹͳ͍ͬͯͩ͘͞ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠