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
Functional TypeScript
naoya
13
5.7k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
65
28k
シェルの履歴とイクンリメンタル検索を使う
naoya
7
3k
20230227-engineer-type-talk.pdf
naoya
85
41k
関数型プログラミングと型システムのメンタルモデル
naoya
61
91k
TypeScript による GraphQL バックエンド開発
naoya
28
30k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
66
23k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
58k
一休の現在と、ここまでの道のり
naoya
90
41k
Other Decks in Technology
See All in Technology
商品レコメンドでのexplicit negative feedbackの活用
alpicola
2
370
Building Scalable Backend Services with Firebase
wisdommatt
0
110
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
860
ゼロからわかる!!AWSの構成図を書いてみようワークショップ 問題&解答解説 #デッカイギ #羽田デッカイギおつ
_mossann_t
0
1.5k
Accessibility Inspectorを活用した アプリのアクセシビリティ向上方法
hinakko
0
180
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
13
2.2k
[IBM TechXchange Dojo]Watson Discoveryとwatsonx.aiでRAGを実現!事例のご紹介+座学②
siyuanzh09
0
110
2024AWSで個人的にアツかったアップデート
nagisa53
1
110
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
210
Unsafe.BitCast のすゝめ。
nenonaninu
0
200
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
190
実践! ソフトウェアエンジニアリングの価値の計測 ── Effort、Output、Outcome、Impact
nomuson
0
2.1k
Featured
See All Featured
Become a Pro
speakerdeck
PRO
26
5.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How GitHub (no longer) Works
holman
312
140k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.4k
Rails Girls Zürich Keynote
gr2m
94
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.2k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Practical Orchestrator
shlominoach
186
10k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Unsuck your backbone
ammeep
669
57k
What's in a price? How to price your products and services
michaelherold
244
12k
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ɺΦʔϓϯιʔε • ݱͷΈͳ͞Μ͕ͱͯͩͬͨ • ͋Γ͕ͱ͏͍͟͝·ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠