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
Recruit Technologies
August 21, 2020
Technology
23
81k
エンジニアとして この先生きのこるために
2020年度リクルート新人ブートキャンプ エンジニアコースの講義資料です
Recruit Technologies
August 21, 2020
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
710
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
12k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
46k
Other Decks in Technology
See All in Technology
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
1
1.4k
実運用で考える PGO
kworkdev
PRO
0
120
Flutterでキャッチしないエラーはどこに行く
taiju59
0
170
MCPで変わる Amebaデザインシステム「Spindle」の開発
spindle
PRO
1
260
Nstockの一人目エンジニアが 3年間かけて向き合ってきた セキュリティのこととこれから〜あれから半年〜
yo41sawada
0
100
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
200
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
5
1.3k
努力家なスクラムマスターが陥る「傍観者」という罠と乗り越えた先に信頼があった話 / 20250830 Takahiro Sasaki
shift_evolve
PRO
2
120
自社製CMSからmicroCMSへのリプレースがプロダクトグロースを加速させた話
nextbeatdev
0
370
LLM翻訳ツールの開発と海外のお客様対応等への社内導入事例
gree_tech
PRO
0
340
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
4
1.8k
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.4k
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
790
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Why Our Code Smells
bkeepers
PRO
339
57k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Navigating Team Friction
lara
189
15k
How STYLIGHT went responsive
nonsquared
100
5.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Speed Design
sergeychernyshev
32
1.1k
Transcript
ΤϯδχΞͱͯ͠ ͜ͷઌੜ͖ͷ͜ΔͨΊʹ ాਓ "QS !ϦΫϧʔτςΫϊϩδʔζ
UXBEB U@XBEB UXBEB ాਓ
मɺ༁ɺ༁ͨ͠ຊͨͪ
テスト書いてますか!! ελϯυ໊ϫΠϧυɾαόϯφ
wେֶࡏֶத͔ΒઃܭͱϓϩάϥϛϯάͷΞϧόΠτ Λ࢝ΊΔ wଔۀޙϓϩάϥϚͱͯ͠ͷΩϟϦΞΛ։࢝ wిࢠͷαϒϓϩδΣΫτ ઍਓن ͰϦʔυ ϓϩάϥϚ w91ͷίʔνͱͯ͠ਓͷΞδϟΠϧνʔϜʹࢀՃ wߨԋɺࣥචɺ044׆ಈΛ࢝ΊΔ wݱࡏٕज़ސۀΛߦ͍ͬͯΔ
ΩϟϦΞతͳͷ
ΑΖ͓͘͠ئ͍͠·͢
None
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
ୈೋͷݴޠʹɺੋඇͱɺ࠷ॳͷݴޠͱύϥμΠϜ ͷҧ͏ݴޠΛબͿ͖Ͱ͢ɻͦΕͳ͔ͥͱ͍͏ͱɺύ ϥμΠϜͷҧ͏ݴޠΛֶͿͱɺΞϧΰϦζϜɺΠσΟΦ Ϝɺύλʔϯͷ࣮ʹ͍ͭͯݏͰߟ͑ΔΑ͏ʹͳΔ͔ ΒͰ͢ɻ ಉ༷ͷΞϧΰϦζϜΛ࣮͢Δʹͯ͠ɺ৭ʑͳΓ͔ ͕ͨ͋ΓಘΔ͜ͱʹؾ͖ͮ·͢ɻ͜ͷମݧ͕ɺϓϩάϥ Ϛͷٕज़Λେ্͖ͤ͘͞·͢ɻ ϓϩάϥϛϯάݴޠෳशಘ͖͢
"OEZ)VOUͱ%BWF5IPNBTɺଟ͘ͷਓʹӨڹΛ༩ ͑ͨஶॻʰୡਓϓϩάϥϚʔʱͷதͰɺʮຖɺ৽ͨͳ ϓϩάϥϛϯάݴޠΛֶͭͿ͜ͱʯͱקΊ͍ͯ· ͢ɻࢲͦͷΞυόΠεʹै͍ɺաڈԿ͔ͷؒʹ࣮ࡍ ʹଟ͘ͷݴޠΛֶΜͰ͖·ͨ͠ɻ ͦͯ͠ɺͦͷதͰʮݴޠΛֶͿͱ͍͏ͷɺͨͩจ๏ɺ ߏจΛֶͿ͜ͱͰͳ͘ɺͦͷഎܠʹ͋ΔจԽֶͿ ͜ͱʯͱ͍͏ॏཁͳڭ܇Λಘ·ͨ͠ɻ ݴޠ͚ͩͰͳ͘จԽֶͿ
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
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
ߨԋ͢Δ
ϥΠϒίʔσΟϯά͕࠷ϋΠϦεΫϋΠϦλʔϯ
w5XJUUFS wCMPH 2JJUB wࡶࢽهࣄ 8FC ࢴഔମ ిࢠഔମ wॻ੶ ڞஶ
༁ ༁ ୯ஶ wߨԋ ࣾษڧձ ࣾ֎-5 ࣾ֎ߨԋ wϥΠϒίʔσΟϯά w(JU)VC Ξτϓοτͷνϟωϧ
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
IUUQTGVLBCPSJGN
ʮ5ࣈܕʯͰͳ͘ෳͷபΛ
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
ਓͷͭ͘Δ ӔΛݟΔ
৫ͷ͔࣌Βݸਓͷ࣌
ݸ͕ଟ͘ू·ΔͱԿ͔͕ى͜Δ
ϩʔυϚοϓࢦ͔ΒΤίγεςϜࢦ
IUUQEIBUFOBOFKQFTTBQ
l͔͠͠ɺࠓͷۀքɺʮΤίγεςϜʯͷ࣌ͩɻ ଳӍྛͷΑ͏ʹɺ৯͍͍͋ͭͭڞੜ͋͠͏͞·͟ͳ λΠϓͷϓϨΠϠʔ͕ɺࣗͷҝ͚ͩͷݸผͷҙࢥܾ ఆΛͯ͠ɺͦͷ૬ޓ࡞༻Ͱٕज़͕ൃల͍ͯ͘͠ɻʮΤ ίγεςϜʯໃ६ͩΒ͚Ͱɺ͋Δٕज़͕ൃల͢Δͷ ͱಉ࣌ʹɺͦͷΞϯνςʔθͱͳΔٕज़৳ͼΔz lʮϩʔυϚοϓʯ͕ࢦࣔ͢͠ະདྷͷํͱҧ͏ํ ʹਐΉ͜ͱக໋తͳؒҧ͍͕ͩɺʮΤίγεςϜʯ Ή͠Ζத৺෦͕ϨουΦʔγϟϯͰɺपล෦ʹੜ͖ Γ͕༰қͳϒϧʔΦʔγϟϯ͕͋Δz
IUUQEIBUFOBOFKQFTTBQ
lී௨ͷਓʮϩʔυϚοϓʯ ͷதͰਅΜதΛਐΉ͖Ͱɺ ʮΤίγεςϜʯͷதͰਅΜ தΛආ͚Δ͖ͩz IUUQEIBUFOBOFKQFTTBQ
IUUQDIBTFOPSHdEBJUJNUFYUXPSTFJTCFUUFSKBIUNM 5IF3JTFPGl8PSTFJT#FUUFSz
IUUQTUXJUUFSDPNU@XBEBTUBUVT
IUUQTTQFBLFSEFDLDPNUXBEBXPSTFJTCFUUFSVOEFSTUBOEJOHUIFTQJSBMPGUFDIOPMPHJFTFEJUJPO
ຖίʔυΛॻ͘ Լ͔ΒֶͿ աڈ͔ΒະདྷΛݟΔ ਓͷͭ͘ΔӔΛݟΔ େࣄͳ͜ͱʹूத͢Δ
େࣄͳ͜ͱʹ ूத͢Δ
IUUQTXXXBNB[PODPKQEQ
None
Agenda ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
ֶͼଓ͚Δ࢟
ٕज़ΛֶͿͷͰ ͳ͘ɺٕज़ͷ ֶͼํΛֶͿ
ތΓ͋Δϓϩʹͳ͍ͬͯͩ͘͞ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠