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
80k
エンジニアとして この先生きのこるために
2020年度リクルート新人ブートキャンプ エンジニアコースの講義資料です
Recruit Technologies
August 21, 2020
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
660
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
ここ数年間のタウンワーク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
45k
Other Decks in Technology
See All in Technology
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
140
開発スピードは上がっている…品質はどうする? スピードと品質を両立させるためのプロダクト開発の進め方とは #DevSumi #DevSumiB / Agile And Quality
nihonbuson
2
3.2k
リアルタイム分析データベースで実現する SQLベースのオブザーバビリティ
mikimatsumoto
0
1.4k
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
2k
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
22
11k
PHPカンファレンス名古屋-テックリードの経験から学んだ設計の教訓
hayatokudou
2
450
生成 AI プロダクトを育てる技術 〜データ品質向上による継続的な価値創出の実践〜
icoxfog417
PRO
3
1.1k
データ資産をシームレスに伝達するためのイベント駆動型アーキテクチャ
kakehashi
PRO
2
570
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
160
Moved to https://speakerdeck.com/toshihue/presales-engineer-career-bridging-tech-biz-ja
toshihue
2
760
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
1.4k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
970
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Music & Morning Musume
bryan
46
6.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Making Projects Easy
brettharned
116
6k
KATA
mclloyd
29
14k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
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 ֶͼํΛֶͿ ݱϓϩάϥϚͰ͍ΔͨΊʹ ͓ΘΓʹ
ֶͼଓ͚Δ࢟
ٕज़ΛֶͿͷͰ ͳ͘ɺٕज़ͷ ֶͼํΛֶͿ
ތΓ͋Δϓϩʹͳ͍ͬͯͩ͘͞ ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠