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
tany
September 26, 2018
Technology
0
120
これからエンジニアになりたい人のための行動戦略
- 何のためのプログラミング?
- プログラミング初心者が陥る落とし穴と回避方法
- Webエンジニアになるために私がどのような行動をしたか
- プログラミングを学ぶときの情報収集
tany
September 26, 2018
Tweet
Share
More Decks by tany
See All by tany
地域イベントのスポンサー支援に特化したサービス「Popcorn」
posterkeisuke
0
110
Other Decks in Technology
See All in Technology
バッチ処理のSLOをどう設計するか
rynsuke
7
590
やっていきテスト
k6s4i53rx
0
160
生成AIの不確実性と向き合うためのオブジェクト指向設計
tkikuchi1002
2
700
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
510
「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
bun913
0
120
.NETの非同期戦略とUnityとの相互運用
neuecc
2
2.4k
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
24
7.2k
複数の LLM モデルを扱う上で直面した辛みまとめ
kazuyaseki
1
260
どう買う?Azure
kuniteru
1
190
技術イベントはなんとかひねり出す 日経の技術広報の取り組み/techpr3
nishiuma
0
230
家族アルバム みてねで直面してきた技術的負債 / MIXI KAG 2024
isaoshimizu
17
7.7k
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
560
Featured
See All Featured
A better future with KSS
kneath
230
16k
Large-scale JavaScript Application Architecture
addyosmani
501
110k
Six Lessons from altMBA
skipperchong
19
2.9k
4 Signs Your Business is Dying
shpigford
174
21k
Build your cross-platform service in a week with App Engine
jlugia
223
17k
Atom: Resistance is Futile
akmur
258
25k
Into the Great Unknown - MozCon
thekraken
10
830
A designer walks into a library…
pauljervisheath
199
23k
How to Ace a Technical Interview
jacobian
272
22k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
319
20k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Designing the Hi-DPI Web
ddemaree
275
33k
Transcript
これからエンジニアに なりたい人のための行動戦略 Keisuke Taniai @Leverages 09/20 2018
目次 • 自己紹介 • 本日お話すること • 行動戦略(の前の) ~意識編~ ◦ なぜプログラミングを学ぼうと思ったか?
• 行動戦略 ~行動編~ ◦ 各フェーズごとの勉強方法 • まとめ • (参考書籍の紹介)
自己紹介
谷合 啓輔(たにあい けいすけ)1994年生まれ # Leverages 株式会社 #Laravel + vue.js #
エンジニア 2 年目 # 勉強会登壇 2 回目 # RIJF2018 参加 # 体調不良 -3kg 自己紹介 @posterkeisuke
本日お話すること
の前に
アイスブレイク
本日お話すること
本日お話すること - 行動する前の「意識」することの大切さ - 「インプットとアウトプットを同時に行う」という意識を持つ - 遅延評価式勉強法について - 学習フェーズごとの勉強方法 -
各フェーズごとに陥りがちな落とし穴と注意点 - 参考書籍の紹介 具体的な勉強方法と、マインドの2つの軸
行動戦略(の前の) ~意識編~
そもそも
「プログラミングを学びたい」 と思ったきっかけは?
自分の場合。
みなさんの場合?
なぜ目的が必要か? プログラミング学習において、目的を定める意味 - 目的と手段を逆転させないために - 取捨選択ができるように、そのための軸となるもの - 単純にモチベーションが続かない - etc...
None
~意識編~ おすすめの勉強方法 - インプットとアウトプットを同時に行うことを心がける - けんすうさんの勉強方法「遅延評価式勉強法」 > 「必要になったら、必要なところだけ勉強する」です。 参考: http://blog.livedoor.jp/kensuu/archives/50555054.html
前提はここまで じゃあ、どうするか?
行動戦略 ~行動編~
~行動編~ はじめに - あくまでも「自分」の場合なので、全員に当てはまるものではない - 特にWebサービスを作りたいと思っている人向け - テクニカルな説明と用語解説は一切やりません
初期フェーズ1 (学びたて期) 初期フェーズ2 (初学期) 中期フェーズ 後期フェーズ フェーズごとの勉強方法・注意事項を解説
初期フェーズ1 (学びたて期) 初期フェーズ2 (初学期) 中期フェーズ 後期フェーズ 初期フェーズ1 (学びたて期)
初期フェーズ1 プログラミング学習 0ヶ月~3ヶ月くらい - 「プログラミング」とはなんたるかを学ぶ時間にする - 一つの言語を学べば応用可能 - 初学者向けの言語として、「Ruby」「Python」がおすすめ -
少しでもいいので「毎日プログラムに触れる機会」を持つことが大事 - コードを見ながらプログラムが何をしているかが分かればゴール
初期フェーズ1 このフェーズの学習方法 - 本を読むよりも先に、オンライン教材を有効利用 - ドットインストールとかProgateを利用 - (HTMLとCSSの勉強から始めてもいいかも) - 「プログラムが何をしているか」がなんとなく分かればゴール
- Webそのものの知識をインプットも忘れずに
初期フェーズ1 注意事項 - 意気揚々と言語の本を買って挫折しないようにする - 環境構築は一旦置いておく、できなくても大丈夫 - 覚えることが多すぎてパンクしないように - できないことを卑下しない(誰しもはじめは初心者)
- 自分が学ぶべきことを取捨選択 -> 目的を忘れないように - (自分に向いてないと思ったら深入りしないのも戦略 )
ほ ん と に 簡 単 。。。?
初期フェーズ1 推薦図書 - Webを支える技術 山本陽平 著 - Webの成り立ちと仕組みを俯瞰できる - HTTPとHTTPS?
- ステートレス性? - GET/POST/PUT/DELETE/UPDATE
初期フェーズ1 推薦図書 - スラスラ読める JavaScript ふりがなプログラミング - プログラムにふりがながふってあるので、読みやすい - プログラム一つ一つの意味を理解しやすい
- python版もあるよ
初期フェーズ1 (学びたて期) 初期フェーズ2 (初学期) 中期フェーズ 後期フェーズ 初期フェーズ2 (初学期)
初期フェーズ2 プログラミング学習 3ヶ月~8ヶ月くらい - プログラミングで「何か」を作りはじめてみる - 環境構築で挫折する人も多い - できれば周りにプログラミングを教えてくれる人がいるとよい -
サポーターズColab勉強会 - Tech Baton - (可能であれば)プログラミングスクールに通うのも吉
初期フェーズ2 このフェーズの学習方法 - 言語本を読んでみる(難易度には注意) - フレームワークの学習(Railsの場合Rails Tutorial) - HTMLとCSSとJSの勉強も忘れずに
初期フェーズ2 注意事項 - 環境構築の地獄に負けない - チュートリアルができる ≠ 現場で活躍できる - できることが広がったが、学ばなければいけないことの多さにも気づく
初期フェーズ2 推薦図書 - たのしいRuby 高橋征義 後藤裕蔵 著 - 初心者向けに書いてくれている -
ある程度事前知識が合ったほうが読みやすい - (Matz監修)
初期フェーズ2 推薦図書 - プロを目指す人のためのRuby入門 伊藤淳一 著 - Rubyを使っててハマりやすいポイントが網羅 - タイトルどおりプロを目指す人向け
初期フェーズ2 推薦図書 - JavaScript本格入門 山田祥寛 - Javascriptを理解するのにおすすめ - 結構知識があった上でのほうが読みやすい
初期フェーズ2 推薦図書 - Ruby on Rails5 アプリケーションプログラミング 山田祥寛 - 全てを読み込む必要はなし
- 困った時にリファレンス的に覚えていく - バージョンが上がるとそれに伴い必要なくなるかも
初期フェーズ2 推薦図書 - Laravel リファレンス - Ruby系ばかりだったので - こちらもリファレンス的に読むのがよい
初期フェーズ1 (学びたて期) 初期フェーズ2 (初学者期) 中期フェーズ 後期フェーズ 中期フェーズ
中期フェーズ プログラミング学習 8ヶ月~ 12ヶ月 - 「現場」で経験を積んでみる(インターンとか) - 中途採用で求められるのは「チーム開発」 - 周辺技術の勉強にも本格的に取り組む
- Git, SQL(Mysql, Postgres), セキュリティ, サーバー etc
中期フェーズ この頃の学習方法 - インターンなどを通じて「現場で使われている技術」を知る - チーム開発を経験する - 周辺技術の理解を深める - 最新情報はリファレンスから取得(ただし)
- サービスをリリースするまでに何をしなければいけないかを知る - 自分でつくったWebサービスをデプロイ(公開)してみる
中期フェーズ 注意事項 - チュートリアルができる ≠ 現場で活躍できる - ここでも技術の取捨選択 - けんすうさんの勉強方法「遅延評価式勉強法」を忘れずに
初期フェーズ1 (学びたて期) 初期フェーズ2 (初学者期) 中期フェーズ 後期フェーズ 後期フェーズ
後期フェーズ 晴れてエンジニアとして現場で活躍 - 既存技術学習と、新しい技術へのキャッチアップ - slackグループ 「モヒカン」 - 言語のユーザーグループ -
GithubのTrend - 「エンジニアとしての自分」の市場価値を上げる - ブログ、勉強会、起業 etc - エンジニアリング✕〇〇 - 勉強しないエンジニアは死あるのみ
中期・後期フェーズ 推薦図書/サイト - SQL - これならわかるSQL 入門の入門 - 達人に学ぶDB設計 徹底指南書
- SQLアンチパターン - Git - Learn Git Brancing - サルでもわかるGit入門
中期・後期フェーズ 推薦図書/サイト - お作法系 - リーダブルコード - リファクタリング - その他
- パーフェクト系 - オブジェクト指向でなぜ作るか - 体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の 実践
まとめ
まとめ - 「何のためにプログラミングを学ぶのか」は自分の中で定義しておく - フェーズに合った勉強法を取る - インプットとアウトプットは同時に行う - けんすうさんの勉強方法「遅延評価式勉強法」を忘れずに -
勉強を忘れたエンジニアは死ぬ
おまけ
None