皆さんは、日々どのようにプログラミングの学習をしていますか?
真っ先に思いつくことに、技術書を購入して一読してみる、という方法があります。
1年と少し前はプログラミング初心者だった私も、実際に何冊か技術書を購入して読んでみました。この学習を通して、基本的な文法はそこそこ身についたと思います。
しかしながら最近は、
- この学習方法はいかがなものか
- あれ?効率悪いんじゃない?
と感じています。
今回のブログでは、最短で技術に強くなるにはどうすればいいのかを考えてみます。
入門技術書に共通すること
自分も含めて、初心者が購入する本は大体、
- 『はじめての◯◯』
- 『入門!JavaScript』
- 『やさしい◯◯』
といった、いわゆる入門書の類かと思います。
内容は、ほぼ共通して基本的な文法について書かれています。
最後に、総括として簡単なアプリをひとつ作りましょう、という流れになっていて、プログラミングを学ぶというよりは、プログラムの文法を学ぶという表現がしっくりきます。
そもそも文法からしっかり学ぶ必要はあるの?
一体なぜプログラミングの勉強をしていたんだっけ、と振り返ると、
- 何かプロダクトを作りたい
- 効率化したいことがある
- キャリア的に必要 etc...
プログラミングは手段であって実現するためのツールな訳です。
使い方が重要であって書き方は後から付いてくる...。
平泳ぎができるようになりたければ水に入って練習しますよね。畳の上でフォームの練習を続けたところで泳げるようになるとは思えません。
技術書を読むだけの勉強は畳の上でフォームの練習を続けるようなもので、実際に学んだ内容を試さなければ書き方を知っただけで終わってしまいます。
なら学んだ内容を試せばいいでしょ?って話になるわけです。
プログラミング独学の挫折率90%から考えるに
正直、技術書を淡々と読んでいると眠くなります。
知らないことがたくさん書かれているので、小説を読むのとは訳が違う。
1周読み切るにしても、かなりの時間が必要になります。
すると多くの初心者はこう思うわけです。
「面白くない。もうやめよう」
こんな状況でモチベーションを保つのは難しくないですか?
分厚い残りページをめくりながら、
「早くコードを書けるようになりたいのに、こんなにステップがあるの?」
なんて思ったりして、挫折するんじゃないかと思います。
しかし頑張って読みきったところで、いざコードを書いてみると、 全く手が動かないという恐怖が待ち受けています。
ここまでの結論として、私は初心者の学習に技術書の一読はオススメしません。
内容がコードを書きながら問題を解く、写経にならないようなものならば、学習にピッタリだと思います。
僕の思う技術書の理想的な使い方
技術書の内容を全て覚えることは容易ではないし、そこに時間をかけるべきではないです。
ただのコードのコピーにも意味はないですし、全ての項目が必要になるなんていうことは滅多にありません。
- 何か困った時にこの仕様がよく分からない
- 自分のコードがなぜだか動かない
こういった時に技術書を引いて仕様を調べてみるとあっさり解決したりします。
調べて分からなかったところに付箋を貼っておく。
この作業を繰り返していると、言語の仕様が自然と頭に入ってきます。
結論:技術書は辞書的に使うのが良い
でも僕は、淡々と技術書を読むのも好きですけどね。
------------------------------------------------------------------------
ATS(採用管理システム)の自社開発を行なっています。