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
Naoya Ito
August 29, 2015
Technology
87
29k
エンジニアにとっての地方と東京 ─ あるいはエンジニアのキャリア形成に環境が与える影響について
"首都「圏」から島根「県」へエンジニア・ワークシフト2015" での講演資料です
Naoya Ito
August 29, 2015
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
シェルの履歴とイクンリメンタル検索を使う
naoya
7
2.3k
20230227-engineer-type-talk.pdf
naoya
76
32k
関数型プログラミングと型システムのメンタルモデル
naoya
47
53k
TypeScript による GraphQL バックエンド開発
naoya
25
23k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
64
22k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
141
55k
一休の現在と、ここまでの道のり
naoya
89
40k
技術的負債と向き合う
naoya
248
74k
System of Record と System of Engagement
naoya
188
68k
Other Decks in Technology
See All in Technology
【OpsJAWS】EC2 のセキュリティの運用と監視について考えてみた件
hssh2_bin
4
590
Uniting Rust Servers and Clients through OpenAPI
ahl
0
430
Proposal for a fictitious company presented by JAWS-UG DE&I team 'Naniwa Musume'
hiroramos4
PRO
0
120
皆がすなるカオスエンジアリングといふものを、ネットワークオペレーションでもしてみむとてするなり
tjmtrhs
0
120
The Disturbing Truth: Why Do Most Software Projects Suck?
lemiorhan
0
110
SSMエージェントはIAMロールの夢を見るか/ Do SSM Agents Dream Of IAM Roles?
yukihirochiba
0
1.4k
パフォーマンスを改善するには仕様変更が1番はやい
yamamotohiroya
12
4.6k
書を捨てよ、現場へ出よう
nwiizo
11
8.8k
Node-AI のリッチな WEB フロントエンドを支える技術
nenonaninu
2
970
イベント駆動コンテンツ (a.k.a Webアプリケーションの効率を再定義するBEAR.Sundayの分散キャッシングフレームワーク)
koriym
4
1.7k
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
0
1.1k
Simplifying Data Analysis & Visualization with Developer Tools & AI
nitya
1
220
Featured
See All Featured
The World Runs on Bad Software
bkeepers
PRO
60
6.6k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
11
1.4k
How to name files
jennybc
62
91k
A Philosophy of Restraint
colly
195
15k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.5k
Gamification - CAS2011
davidbonilla
76
4.5k
Producing Creativity
orderedlist
PRO
335
39k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
How to Ace a Technical Interview
jacobian
272
22k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
28
5.9k
Fireside Chat
paigeccino
19
2.5k
RailsConf 2023
tenderlove
0
500
Transcript
ΤϯδχΞʹͱͬͯͷํͱ౦ژ ͋Δ͍ΤϯδχΞͷΩϟϦΞܗʹڥ͕༩͑ΔӨڹʹ͍ͭͯ टʮݍʯ͔ΒౡࠜʮݝʯΤϯδχΞɾϫʔΫγϑτ /BPZB*UP ,BJ[FO1MBUGPSN *OD
͍ͨ͜͠ͱ • ౡࠜ๚ͱͦͷײ • ʮํͱ౦ژʯߟ • ษڧձʹ͍ͭͯ •
݁ͼ
݄ʹͯ • ౡࠜݝ౦ژࣄॴా͞Μ – ʮౡࠜͷ6λʔϯɾ*λʔϯΠϕϯτΛ։࠵ ͢ΔͷͰ͕͢Կ͔͍ͬͯͩ͘͞ʯ • ࢲ – ʮΉ͔͠ژͰಇ͍ͯͨ͠ํͱ౦ژͱ͍͏ ͓ͳΒͤΔ͔ͳʯ – ͔͠͠ɺౡࠜʹߦͬͨ͜ͱ͕ͳ͍
ͦΜͳΘ͚Ͱౡࠜদߐʹ ߦ͖ͬͯ·ͨ͠
None
None
None
͑ΜΉ͢ͼdΔ
None
None
None
None
None
ΨϦϨΦείʔϓ͞Μ
None
None
͜Ε͕ΦϑΟεŋŋŋͩͱŋŋŋ
None
None
None
αϚʔΥʔζ͔
ςΫϊΞʔΫ͠·Ͷ source: h*p://www.techno-‐arc-‐shimane.jp/guide/ins8tu8on-‐show/
None
ιχοΫϜʔϒ͞Μ
None
None
None
None
None
None
None
None
ϞϯελʔϥϘ͞Μ
None
None
ίϛϡχςΟษڧձ ͜ͷ։ൃ߹॓ɺদߐͰಇ ͘ਓʑͷ׆ಈใࠂͳͲ͕ςʔ ϚͰͨ͠
None
None
h*p://engineer.crowdworks.jp/2014/10/30/development-‐camp-‐2014.html
h*p://blog.fenrir-‐inc.com/jp/2015/01/mihonoseki.html
h*p://shimane.monstar-‐lab.com/hasumin/1432254260
h*p://ir3.hatenablog.com/entry/2015/05/14/211914
ߦ͕3VCZͷΓ্͛։ ൃ߹॓ͷαϙʔτΛܦӦϚω δϝϯτख๏ΛऔΓೖΕϚ ωʔδ͍ͯ͠Δ
ʮຊͰ࠷ॳʹ։ൃ߹॓ͨ͠ ͷԶͨͪ υϠʯ ˠ৴ͯ͡Β͑ͳ͔ͬͨ
ڶഴ͕͏·͍ͱ͔ŋŋŋ
࢈ͷ࠷ߴɺҾͬӽ͖ͯ͠ ͯྑ͔ͬͨͱ͔ŋŋŋ
μδϟϨ·Ͱग़Δ࢝ େ͞Μ
࠙ձʹ͚ͯߴ·Δظ
ౡࠜݝிਿݪ͞Μ ࠙ձձӺલͷ ʰΧϓϦνϣʔβʱͰ͢
͑ͬ
h*p://www.capricciosa.co.jp/
None
ϓϨϛΞϜϞϧπΛඒຯ͘͠ ͍͖ͨͩ·ͨ͠ɻ
None
None
೦ئͷ࢈ྉཧ
None
None
None
None
͓࢈ʹങͬͯؼΓ·ͨ͠
ߟ
• ߦ͕3VCZͰ • Φʔϓϯιʔε • Β͢͠͞ • ࣗવ • ѹతͳαϚʔΥʔζײ
• Ͱ߹॓ • ίϛϡχςΟ • ΧϓϦνϣʔβ
ͻͱͼͱ • ౡࠜʹΏ͔Γͷͳ͍ਓͰߏ͞Ε͍ͯΔ νʔϜଟ͍ – ౦ژͷاۀͷϒϥϯνͩͬͨΓ • ϑοτϫʔΫ͕͍ܰɺ৺
ΫϥυɾϦϞʔτϫʔΫ ͷීٴ͕ޙԡ͠ • ཧΠϯϑϥΛ͍࣋ͬͯͳ͍νʔϜଟ͍ – "84($1ͷීٴ – ۀ༻4BB4ͷ͓͔͛ͰΠϯτϥ͍Βͣ • ϦϞʔτϫʔΫΛී௨ʹ͍ͯͨ͠ ཧతͳ੍͕ গͳ͘ͳͬͨ
ϦϞʔτϫʔΫ • ,BJ[FO1MBUGPSN *ODͰ࣮ࢪ – ํͰϑϧϦϞʔτͷਓ݁ߏ͍Δ • ژɺେࡕɺԬɺ࢛ࠃ • Ҏલͱҧ͏͜ͱŋŋŋಓ۩ͷίϞσΟςΟԽ
– 1$Χϝϥ .BDʹඪ४ࡌ – ҆ՁͳϏσΦձٞ4BB4 • (PPHMF)BOHPVU ;PPNVT BQQFBSJO – Α͘Ͱ͖ͨใڞ༗πʔϧ • 4MBDL • 2JJUB5FBNɺFTB ཧతʹΕ͍ͯͯ৬ ༰͕ͦΕʹࠨӈ͞ΕͮΒ ͘ͳͬͨɻ
ͨͩ͠ࢀߟ • ϦϞʔτϫʔΫ৴ऀͰͳ͍ – ϦϞʔτϫʔΫʹ͋͠͞Δ • ྫϓϩδΣΫτॳظʹإΛಥ͖߹Θͤͨํ͕ Γ͍͢ • ࡶஊػձ͕ ૬ରతʹ
͍͠ŋŋŋ์͓ͬͯ͘ͱૄ ͳਓؒؔ – σϝϦοτΛΧόʔ͢ΔΤωϧΪʔඞཁ 参考: h*ps://speakerdeck.com/naoya/rimotowakufalsehua
ϑοτϫʔΫ͕͍ܰ • খ͞ͳνʔϜ • ࣄࣗͨͪͰσβΠϯ • ͦͷΛָ͠ΜͰࣄɾੜ׆ – ࣗવͰ߹॓ – ϩʔυόΠΫͰ௨ۈ – ܠɾՖՐɾാɾαϚʔΥʔζ
Ϟνϕʔγϣϯ ɾࣗੑ ɾϚελϦʔ ख़ୡ ɾత
৽͍͠ಇ͖ํ • ࣄϓϩηεΛࣗͰσβΠϯ – ϦϞʔτʔϫʔΫ – ࣌ؒ – ΦϑΟεڥ
– ಓ۩ FHιϑτΣΞπʔϧྨ – ࣄͷਐΊํ FH։ൃϓϩηε – ࠔ͏͕ࣗΒͷҙࢤͰ બ͢Δ͜ͱʹΑΔతϞ νϕʔγϣϯΛ༠ൃ
৽͍͠ಇ͖ํ࣮ݱͰ͖Δ͔ • ౦ژͰŋŋŋ – ʮελʔτΞοϓPSେاۀʯͷೋ߲ରཱͱͯ͠ଊ͑ΒΕ͕ͪ – ͕Ή͠ΌΒPS҆ఆͨ͠ੜ׆ • τϨʔυΦϑ
– ͕͠ΒΈͳ͘৽͍͠ಇ͖ํΛࢦɺҰํɺελʔτϑΣʔζ Ϗ δωεͱͯ͠ະख़ Ͱ͋ΔͨΊϫʔΫϩʔυۃΊͯߴ͍ – ख़ͨ͠اۀͰϫʔΫϩʔυ҆ఆ͍ͯ͠Δ͕ɺ৫తͳϑο τϫʔΫ͕ॏ͘ैདྷత৬ۀײ ܦࡁతҡ࣋ίετ͕ߴ͘ɺ ͳ͔ͳ͔ͦͷதؒΛࢦͰ ͖ͳ͍
দߐʹ͋ͬͨͷ • ϫʔΫϥΠϑόϥϯε ͋Γ͖ͨΓͳݴ༿Ͱ͕͢ŋŋŋ – ϑοτϫʔΫͷܰ͞৽͍͠ಇ͖ํ – దͳϫʔΫϩʔυ – ʮࣄͷ౦ژʯ͔ʮੜ׆ͷాࣷʯͱޠΒΕ͕ ͕ͪͩɺͦ͏͍͏Θ͚Ͱͳ͔ͬͨ •
ࣄʹੜ׆ʹΛ͍࣋ͬͯΔਓʑ ྆ऀͷཱ͕྆ൺֱత༰қͰ ͋Δ͜ͱ͕৽ͩͬͨɻ
ػձͷࠩ • اۀͱͯ͠ – اۀͱͯ͠ͷϏδωεػձ ϏδωεͷόϦΤʔγϣϯ ౦ژ ʹΞυόϯςʔδ • Ӧۀػձਓޱ͔ΒདྷΔଟ༷ੑ
• ݸਓͱͯ͠ – ΤϯδχΞͱͯ͠৬༰ͷࠩ͋·Γͳͦ͞͏ͩͬͨ • Ή͠Ζಇ͖ํΛબՄೳͳɺ͕ߴ͍ਓ – ܦࡁతͳࠩେ͖͘ͳ͍ • ಉڅ༩ਫ४ͷاۀ • ੜ׆ҡ࣋ίετ͕͍
ษڧձ • ʮษڧձͳͲଞͷٕज़ऀͱ͢Δػձ͕ ౦ژʹൺֱͯ͠ ѹతʹগͳ͍ʯ – ݱͷօ͞Μɺ΄΅શһ͕ޱʹ ͜ͷʹ͍ͭͯগ͠۷Γ Լ͛·͢
ιϑτΣΞΤϯδχΞ ͱͯ͠ͷΩϟϦΞͱڥ
*5ษڧձ • ʮษڧձʯͱݴ͍ͭͭษڧͷʹͳ͍ͬͯΔ͔ – ࣗͷ࣮ײ࣮ͳͬͯͳ͍ • εΩϧΞοϓܨ͕Βͳ͍ • ݁ہͻͱΓͰखΛಈ͔֮ͯ͑͠Δ
• ؒతʹ࣮Γͷଟ͍ – ใ͕ཧ͞ΕΔ͖͔͚ͬ • ࣝऀ͕εϥΠυʹݟΛ·ͱΊ֦ͯࢄ͢Δػձʹ – ٕज़τϨϯυͷݟ͑ΔԽ – ωοτϫʔΩϯά – ࣗݾεΩϧͷ૬ରԽ
ࣗݾεΩϧͷ૬ରԽ • εΩϧϨϕϧͷ૬ରԽػձ – ࣝྔ͕ө͞Εͨपғͷձ – ίϛϡχςΟͰͷৗࣝײ – τοϓϓϨΠϠʔͱͷࠩ •
͋Δ͍ࣗͷํ͕͏·͘Ͱ͖͍ͯΔ͜ͱ͔Δ • যΓ – ʮ৽͍͜͠ͱΛ֮͑ΒΕͯྑ͔ͬͨʯΑΓʮੈͷதͱͷࠩΛ ײͯ͡যͬͨʯ – ํमਖ਼ͷ͖͔͚ͬʹ ʮܹʯͱ͔Α͘ݴΘΕΔ ͷͷਖ਼ମ ݁Ռɺ༕ᓔʹͳΔਓ
ҰํͰ͜Μͳ͜ͱ͋Γ·ͤΜ͔ • 8FC͔ΒೖͬͯདྷΔใͰܹɺযΔ • ͋Ε͜ΕͬͯΈΔ – ʮ"1*ͩʯ – ʮΫϥυͩʯ
– ʮ)5.-ͩʯ – ʮϏοάσʔλͩʯ • ͍Ζ͍Ζ֮͑ͯΔׂʹযΓ ྼײ ղফ͞Εͳ ͍ŋŋŋ
ʮຊʹ͜ΕΛଓ͚͍ͯͯɺ͋ ͷਓΈ͍ͨʹͳΕΔͷ͔ ʯ
ࢲͦΜͳ࣌ظ͕͋Γ·ͨ͠ • ͋ͪͪ͜ͷษڧձʹग़Δ • ༕ᓔʹͳΔ • ͍Ζ͍ΖͳτϨϯυʹखΛग़͢ • Ͱʹͭ͘ͷʮ)PX5Pʯ͔Γŋŋŋ •
γεςϜͷࠜຊΛଊ͑ͨࣄ͕Ͱ͖ͳ͍ – ো͕ىͬͯ͜ରྍ๏ – ෛՙࢄܦݧଇͷΈͰ – େ͖ͳσʔλΛ͏·͘ѻ͑ͳ͍
;ͱ͖͔͚ͨͬ͠ Α͘͜ͷΛ͢ ΔΜͰ͚͢ͲͶ
ͦ͏͍͑ɺͱ͋Δਓͷຊ୨ • ͕ࣗಡΜͰΔΑ͏ͳϋπʔຊ͕ͳ͔ͬ ͨ • ฒΜͰ͍ͨͷݹయ͔Γ
None
None
None
None
ޛͬͨ͜ͱ • ࣗʹͱͬͯඞཁͳʮٕज़ʯ୭ʹͯ͠ ͍ͳ͔ͬͨ – ෛՙࢄʹΧʔωϧͷ͕ࣝඞཁͩͬͨͳΜͯ ࠓࢥ͑ ͨΓલͷ͜ͱ •
ʮٕज़ʯΛʹ͚ͭΔͷʹ࣌ʹܹ͕अຐ – ඞͣ͠पғͷਓ͕ʹ͍ͯ͠ͳ͍͜ͱʹɺજΓ ଓ͚Δඞཁ – ݽಠ
ژ
ྑ͔ͬͨ • ଟ͗͢Δ౦ژͷܹ͔ΒΕ͔ͨͬͨ • ੩ᨰͳڥͰɺજΔ • ܭࢉػՊֶɺֶɺՌͯཧֶ·Ͱί πίπࣗशͨ͠
ಘΒΕͨͷ • ϓϩάϥϚͱͯ͠ͷԼʹͳΔࣝ – ΞϧΰϦζϜͱσʔλߏ – 04ɾΧʔωϧ – ωοτϫʔΫαʔϏεΞʔΩςΫνϟ –
ࣗવݴޠॲཧ – ػցֶश – ઢܗɾ֬౷ܭ – ŋŋŋ • ਂ͘જٕͬͯज़Λशಘ͢Δश׳ • ྼײͷ؇ ࣌ʹ͚͍ͭͨࣝ· Խ͍ͯ͠ͳ͍
͕ͩɺԿ͔͕͓͔͍͠ŋŋŋ
• ࢲʮ݁ߏͳنͷσʔλͩͶɻ4V⒏Y "SSBZͰࡧҾ࡞Ζ͏͔ɻιʔτ*4๏ Ͱŋŋŋʯ • "ʮŋŋŋ࣮݁ߏ͔͔࣌ؒͬͯ·͢ʯ • #ʮϒϥβͷTRMJUFʹೖΕͯMJLFͰҾ ͍ͨΒരͩͬͨοεʯ ͋Εͬ
ंͷσΟʔϥʔͷ/͞Μ • /ʮҏ౻͞ΜαϯγϟΠϯͬͯ·͔͢ʯ • ҏ౻ʮ͡ΊͨΑʔɻҭ͖ͬͯͨʯ • /ʮۙࠒΫϦϊοϖ͕ʯ • ҏ౻ʮ͡ΊͯΈͨʯ •
/ʮࠓո౪ϩϫΠϠϧͰ͢Αʯ ͓ŋŋŋ
͜ΕͰྑ͍ͱࢥ͍͕ͬͯͨŋŋŋ • ʮྲྀߦ͔ΒΕͯਂ͘જΔɺͦΕ͚ͩΛଓ͚ͯ ͍Ε͍͍ʯ • ͔͠͠ɺͦΕͦΕͰؒҧ͍ͩͬͨ – ࣄʹ࣌ʹ)PX5Pॏཁ • ಉ͡ࣄΛɺ৽͍͠ιϑτΣΞͰ͋ͬͱ͍͏ؒʹ࣮ͯ͠
͠·͏ಉ྅ – ৽͍͠Ϗδωε͕ຄڵ • 8FCϏδωεͷసظ • ήʔϜɺεϚʔτϑΥϯ
ଢ଼ᆵԽ • ৬ͷಉ྅ʹ͔͠ձͬͯͳ͔ͬͨ • ʮऑ͍ឺͷڧΈʯΛΕ͍ͯͨ
૬ରԽͰ͖͍ͯͳ͔ͬͨ • ࣗΛ૬ରԽ͢ΔػձΛࣦ͍ͬͯͨ – ݹయʹજΔ͜ͱʹ߆Γա͗ͯࢹڱࡥʹ – Ϗδωεײٕज़ࢿͷํੑ͕ɺͲ͔͜Β͔͢͜ ͣ͠Ε͍ͯΔͷʹؾ͍ͮͯͳ͔ͬͨ • ࠶ͼޛͬͨ͜ͱ
– ࣌ʹܹʹຒΕΔ͜ͱඞཁ – ݁ہɺόϥϯε
࣮ࡍʹ͋ͬͨɺྫ͑ • ถͰΕͯࣄ • 64ʹग़ுʹ͍ͬͨಉ྅ɺͳ͔ͥͦͷʹ͍Δ ͱ͖64ࢹʹ – ຊਓ͋·Γͦͷ͜ͱʹؾ͍ͮͯͳ͍ – ཧɺ࣌ࠩ㱺64ίϯςΩετͷใ͕༏ઌͯ͠ೖͬ
ͯདྷΔ ڥɺຊਓ͕ࢥ͏Ҏ্ʹ ӨڹΛ༩͑Δ
3VCZ͕ੜ·Εͨڥ ͓ͦΒ͘ 3VCZ͕দߐͰੜ·ΕͨͷۮવͰͳ͍
͡Ό͋ɺͲͬͪͷ ڥ͕͍͍ͷ
ڥʹ͍ͭͯ • ࣗͷ݁ – ݁ہͷͱ͜Ζɺษڧձਓͱͷަྲྀ͋ͬͯͳͯ͘ ՝͕͋Δ • ౦ژͰଟ͗ͯ͢ࡶԻʹײ͡Δ • ํͰ૬ରԽͷػձΛࣦ͏ɺḵᆵԽ͕ى͜Δ
– ͕͍ࣗ·͍ΔڥͰಘΒΕͳ͍ଆ໘ΛɺͲ͏ଊ ͑ͯຒΊ߹ΘͤΔ͔࣍ୈͰͳ͍͔ ษڧձʹݶΒͳ͍
݁ͼվΊͯɺํͱ౦ژ • τϨʔυΦϑ • ͕ࣗ༏ઌͯ͠બ͍ͨ͠ͷԿ͔ – ࣄ͔ɺੜ׆͔ – ܹ͔ɺ੩ᨰͳڥ͔ • ͲͪΒ͕ྑ͍ѱ͍Ͱͳ͍ – ͦͷબʹΑͬͯܽམ͢ΔͷΛɺਖ਼໘͔Β
ݟͭΊଓ͚Δश׳͕ͦ͜େ
ౡࠜɺদߐ • ָ͔ͬͨ͠ – ඒ͍͠ொฒΈɺࣗવɺ৯ࣄ – 3VCZɺΦʔϓϯιʔε • ݱͷΈͳ͞Μ͕ͱͯͩͬͨ • ͋Γ͕ͱ͏͍͟͝·ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠