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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoya Ito
August 29, 2015
Technology
29k
87
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
エンジニアにとっての地方と東京 ─ あるいはエンジニアのキャリア形成に環境が与える影響について
"首都「圏」から島根「県」へエンジニア・ワークシフト2015" での講演資料です
Naoya Ito
August 29, 2015
More Decks by Naoya Ito
See All by Naoya Ito
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
4.6k
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
13
4.8k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
21
8.1k
Functional TypeScript
naoya
19
6.9k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
77
38k
シェルの履歴とイクンリメンタル検索を使う
naoya
16
6.9k
20230227-engineer-type-talk.pdf
naoya
91
88k
関数型プログラミングと型システムのメンタルモデル
naoya
64
110k
TypeScript による GraphQL バックエンド開発
naoya
29
38k
Other Decks in Technology
See All in Technology
Deep Data Security 機能解説
oracle4engineer
PRO
3
1k
In-Context Learning再入門。ICLの勾配降下的解釈の研究動向を追ってみる。
dai08srhg
1
690
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
180
Sizing, Benchmarking and Performance Tuning Apache Flink Clusters
rmetzger
0
130
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
220
増え続けるプロダクトの品質をどう担保するか。ProductSpecとTypeScriptによる取り組み
joere
3
1k
新卒エンジニア、 介護士になる
ryu1013
1
690
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
7
3.7k
PostgreSQL オプティマイザ統計の秘密
nori_shinoda
0
370
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
140
並列度を下げたら速くなった — go build の重複コンパイルを実測で見る
tomoaki25
1
740
AWSを利用する上で知っておきたい名前解決の話 2026
nagisa53
5
3.2k
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
How GitHub (no longer) Works
holman
316
150k
Unsuck your backbone
ammeep
672
58k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
A Tale of Four Properties
chriscoyier
163
24k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
53k
We Have a Design System, Now What?
morganepeng
55
8.4k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.3k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
2
340
Embracing the Ebb and Flow
colly
88
5.2k
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ɺΦʔϓϯιʔε • ݱͷΈͳ͞Μ͕ͱͯͩͬͨ • ͋Γ͕ͱ͏͍͟͝·ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠