#この記事を読んでほしい対象者
- プログラミング初学者
- プログラミングがなかなか身につかない
- 勉強方法がわからない
- 作りたいものが特にない
そう思っている人向けです。
(自分は最近まで上記全て当てはまっていた。)
プログラミングバリバリ組めるよ!
ちゃんと上達してるよ!
という方はからしたら当たり前のことが書いてあると思います。
もし気になったら読んでいただければ嬉しいです。
##きっかけ
約1ヵ月、ほぼ初学者のような状態でプログラミングの勉強を本格的に始めた。
勉強方法はというと、
- サンプルコードを写す・読むだけの書籍学習
- ドットインストールを見よう見まねで同じもの作る
- paizaで問題を解く(せいぜいCランクまで...)
正直、全然身につかなかった。
##対策(前編)
この状況をなんとかせねば!と思いました。
「プログラミング できない」とまぁシンプルな調べ方をすると、ヒットしたとある記事。
プログラミング出来ない奴ちょっと来い
この記事を見て、自分がいかに効率の悪い勉強をしていたか反省。
とてもいい記事だからぜひ読んでほしい。
主に書いてある内容
1.エラーをたくさん出す
2.デバックの仕方を覚える
3.小さく動かして確かめる
4.Google を使い倒す
これ、実は書籍学習や動画を見て勉強しているだけではやらない内容。
##目的と手段
話がそれるようだが、プログラミングを勉強したい理由を今一度考えてほしい。
「作りたいものがある!!」という人はとてもいいと思う。
その場合、こうなる↓
目的:XXを作る(プログラミングで作れる何か)
手段:なんらかしらの言語
自分の場合そうではなかった。
- プログラミングが出来るようになりたい
- IT業界で働きたい
- XXの言語を習得したい
割とこの3つがメインだった。
そういう人は他にもいるのではないかと勝手に思っている。
ただ、これ実は成長が遠回りになりがちなのではないかと思う。
そう思う理由は、目的が具体的でないから。
プログラミングが出来るようになりたい!
だから勉強しよう
IT業界で働こう!
そのために勉強しよう
XXの言語を習得したい!
その言語の勉強をしよう!
こうなりがち。。
(自分がそうだった)
これを作りたい!というものがある場合は目的と手段がわかりやすいが、
上に書いた3つのような理由の人は目的と手段がごっちゃになりやすい。
##対策(後編)
話はそれた?が、ここからがタイトルに書いてある「プログラミングが上達しないと感じた時に実施した対策」の話になる。
早速、まず何をしたかというと、
「作りたいか作りたくないかは置いておいて作るものを決める」
これ一択。
作るものさえ決めれば、あとは一瞬。
今まで本を読み切ることを目的にしていた書籍学習が、作りたいものを作るための書籍学習に変わった。
今までなんとなく見ていたプログラミングに関する動画が、作りたいものを作るために参考になる内容かどうかという視点で見るようになった。
今までなんとなく続けていた勉強が、作りたいものを作るために試行錯誤する楽しい時間になった。
勉強する目的が決まってないと、本当にダラダラ勉強するしかなくなってくる。
そうするとモチベーションが下がり、身に付かず、「こんなにたくさん勉強しているのになんで?」という不満に繋がる。
###作りたいものを決めよう
- ECサイト
- ブログサイト
- 日記ツール
- TODOリスト
- SNS
(あくまでWebの場合の例)
なんでもいいから作りたいものを決めよう!
もし、作りたいものがなくて決まらない!!!なら、作りたいものを決めるためのツールを作ったっていい。
ランダムに数字が決まる関数を使って、「1ならECサイト」「2ならブログサイト」...という風に表示できる機能を備えたもの。
そんな簡単なものでも自分で考えて1から作ったなら立派な作品だ。
徐々にクォリティを上げていけばいい。
大事なのは、
- 自分で考える力
- 困った時に調べて解決する力
- 作りたいものを作るにはどうすればいいかと問題に向き合う力
それができると自然に、
どうやったらもっと簡単に作れるだろう?
他にもこんなの作りたい!
これを実現するためには何が必要?
とどんどん考えるようになる。
きっとその考えが、エンジニア・プログラマーには必要なんだと思う。
##そして実際に作ったもの
一人で何も作れない。
コードがかけない。
手順がわからない。
と思っていた自分でもこんなのを作ることができた!
内容を追加、編集、削除
するだけの超超超簡単な考えてることを呟こうというアプリ!
ダラダラなんとなく勉強しているだけの自分には作れるとも思っていなかった。
##最後に
自分は本や動画に頼りっきりで、「自分ひとりで何か作る」ってなったらどうしていいのかわからなかった。
本に書いてある内容、動画で行われている処理が何をしているのかはわかる。
でも自分では何も作れない。
本当にそういう状態だった。
特に作りたいものもなかった。
ただプログラミングができるようになりたい。
エンジニアになりたい。
そう思っていた。
エラーを見るのが怖かったし、1から何も見ずに作ることが本当に不安だった。
でも、作りたいものさえ決めればそれを作るために頑張るだけだから目的が明確になってそのための勉強がすごく捗った。
自分のように目的が具体的ではない人は特に作るものをまず決めて欲しいと思う。
まずは簡単なものを作って徐々に今はまだ難しいものをいずれ作れるようになればいい。
もしくは初めに最低限の機能を持ったものを作って、後から機能をどんどん追加しても楽しいと思う。
物作りは楽しいから、なんとなくの勉強ではなく目標を持って作りたいもののための勉強をして欲しいと思う。
成長スピードが全然違うから。
一緒に頑張ろう!
Qiitaでのはじめての投稿でした。
Twitterでなんとなくこんな内容書いたけど、こっちでしっかり書いて備忘録としても残しておこうと思った。
拙い文章だけど最後まで読んでいただきありがとうございました。