
こんにちは、お読みいただきありがとうございます。 ケン(@gootablog)です。
最近友人がプログラミングを勉強し始めて、わからない部分を教えたりしています。
僕自身もそうだったのですが、独学で0からやっていくと必ずといっていいほど挫折します。用語が謎、わからないことがわからない、動かない、エラーが意味不明、結局解決できなくてつまらなくなります。
昔の自分みたいにそういうのをなるべく経験しないようにスムーズかつスピーディーに知識を、初心者手に入れを脱するにはどうすればいいかを考えました。
プログラミングを勉強してみたい、し始めているけどわからないって人は参考にしてみてください。
本や動画教材をサクッと写経して終わらす
おそらくプログラミングを始めるほとんどの人は、ネット教材(Progateやドットインストール)か書籍で勉強を始めると思います。
この段階でのポイントは
- 全体感を把握するようにする
- わからないところでとまらない
- サッと流すようにインプットする
- スピーディーに2周くらい教材を繰り返す
です。
始めたては何がなんだかわからないと思います。
例えば、プログラミング系の言語だったらクラス、オブジェクト、インスタンスなどの言葉が出てくると思います。CSSならfloat、flex、positionなどなど。
こういう部分はこういうものなんだと大雑把に理解しておくだけでいいです。この時点で細かく1つ1つの用語を深く知ろうとしてもそのうち忘れます。それに今後頻繁に使うようになっていくのでここでは完全に理解しようとしなくてOKです。
なので初期の勉強では、教材をサクッと通して雰囲気を理解しスピード重視で繰り返してやることをおすすめします。
あとはひたすら手を動かす
Progateや本などで理解度を深めたら実際に作っていきましょう。まだ全然わからないから別の教材を使って勉強しようと思うかもしれませんが、それだといつまでも作れるようになりません。
実際に作ることでわからない部分がはっきりとしてきます。それを1つ1つ調べて理解して使うことで覚えていきます。そうしていくことで知識の点ができ、徐々に線となり繋がり、これはこういうことだったのかと思うようになります。
なので初級の教材を終わらせたら後はひたすらに手を動かしていきましょう。これが最短の道です。
手を動かせばいいのね。それはわかった。
でも何を作ればいいの?って思いますか?
ベストは自分が欲しいものを作ることですが、実際なんでも良いです。Twitterライクなものでも自分のホームページでも、好きなアーティストのファンサイトとかでも。とにかく思いついたものや自分がよく使っているサービスを真似たりして作ってみましょう。ダサくてもちゃっちくても大丈夫。自分がこんなものを作れたって思うのが大事です。
僕自身も今までポートフォリオサイトを作って、Twitterみたいなものを作り、Todoアプリのようなものを作ったりしました。実際に手を動かしたから身についたところもたくさんありました。細かいことは考えずにとにかく作ってみましょう。
わからないところを必死に調べる
作っていくうちにエラーや用語、考え方など必ずわからない箇所に遭遇します。そうしたら必死に調べましょう。
そうやってプログラミングの知識を付けていくと
- エラーや実装したいことのググり方
- リファレンスの読み方
の力が付きます。こういう勘所を見極める力を付けると今後のプログラミングの道が少し楽になります。
英語のリファレンスを読むときもここらへんに書いてありそうって思うようになるし、エラーもあぁこれは多分こうだから調べてみようってなります。
可能なら身近にメンターを付けてすぐ聞けるようにしよう
自分で調べることも大事ですが、いくら調べても解決できないときがあります。そうすると何時間も消費するはめになってもったいない。そんなときのためにメンターの人が身近にいる環境を作りましょう。
基本は自分で調べますが、1時間考えてもわからないものは解決できる可能性が低いので聞くようにするのがいいと思います。
メンターをどうやって探すか。
- 身近なエンジニアを探す
- Twitterで探す
- 勉強会などで探す
- MENTA
というメンターを探せるサービスでみつける
- インターンできる会社を探す
思いつくのはこのくらいですかね。
僕は独学をしていたころそういう環境を作ることができませんでした。詰まりに詰まった頃、運良くインターンをすることになりました。そこで社長に直で教えてもらいつつ開発をするという経験が詰めたのでエンジニアの世界に入ることができました。運が良かったです。
冒頭でプログラミングを始めた友人がいると書きました。その友人には自分がメンター的な立ち位置となって教えています。友人を見ていて思うのはやっぱり近いところに分かる人がいるといないとじゃ安心感と理解の速度、モチベーションの時速力が違うなと思いました。なのでどうにかしてメンターをを頼んで、身近にできる人がいる、聞ける人がいるという環境を作りましょう。
プログラミングの勉強を始めた人や、これからやってみようかなと言う人はこの記事の内容を試してみてください。