始めに
こんにちは〜、まんじです。
今回はプログラミングの勉強に本がいらない理由ってことで書きたいと思います。
結論から書くとここらへんが本がいらない理由です。
- ググれば出てくるから(AIに聞くのもOK)
- 本を読んだだけで勉強した気になりがちだから
- 本読むよりも実装したほうがよくね?という
ネット(AI)に勉強にするのに必要な内容はあるし、調べれば出てくるし、、、本を読むよりも実装したほうが技術力が伸ばしやすいよね!みたいな内容です。
個人的にはプログラミングの勉強では学校の勉強みたく本を最初から読んでいくスタイルはあんまりおすすめしないです。
それよりも、プログラミングを勉強する目的や目標を設定して、そこから必要な手段(本でもOK)として勉強をするのがプログラミングの勉強では大事です。
ってことで、プログラム本理論を書いていきたいと思います。
プログラミングの勉強に本がいらない理由
本が不要な理由1個目: ググれば出てくるから(AIに聞くのもOK)
本に書いてある技術的な内容はGoogleで検索してもChatGPTとかのAIに聞いても、基本的にほぼ全て出てきます。
なので、わざわざ本買って最初からやっていく必要性があまりないです。
例えば、AWSを勉強するとして、本がなくてもChatGPTに「AWSを勉強しようと思ってます。何をやればいいですか〜」みたく聞けば必要な項目はピックアップされますし、そこをベースにあとは調べながら何か構築とかをしていけばいいだけです。
EC2の勉強するならEC2のインスタンス立ててそこになんかアプリをデプロイすればいいし、S3使うならS3に実際にファイルをアップロードするとかそういう感じです。
真面目系な人とかは「体系的には学ぶには本が必要だ!」みたく言ってくるんですけど、適当に目的のための手段として実装やらをしてれば、徐々に網羅されていって体系的に勝手になっていきます。
最初から全部の知識をインプットしてから手を動かすよりも、手を動かしながら足りない知識を補っていくほうが、個人的には効率が良いとは思ってます。
別に体系的に学んでなくても、フリーランスエンジニアとかなって年収800万円ぐらいのレンジになら普通にのっかってきますし、実装しながらやってるだけでもまだまだ補える知識とか技術はあると個人的にも感じています。
あとは書店にあるプログラミング入門(JavaScript入門)とかの本って分厚すぎてやる気がしなくね?という。
本が不要な理由2個目: 本を読んで勉強した気になるから
2個目が、本を読んでると勉強した気になりがちだから〜って理由です。
プログラミングをやる場合は何を知ってるかよりも、「何ができるか」とか「何をしてきたか」ってのが大事なので、別に知ってる量が増えたところであんまり役立ちません。
本を読んでると知ってることは増えてくるんで、なんだか勉強した気になりがち(できるようになっているように錯覚しがち)なんですけど、それよりも大事なのは手を動かせて何かができることです。
仕事であれば、必要な要件に対してタスクを問題なく実装していくことができるだけの実装力ですし、仕事前であれば調べながらポートフォリオを作っていくとかの作業になります。
あくまで本は手段でしかないので、Aという本を3周したからと言って、プログラミングはできるようにならんです。
それよりも、あんまよく分かんないけどよく分からないながら何かを作っていけるとかのが大事というか、プログラミングをやることによってメリットが得られます。
例えば、ぶっちゃけそんなウェブ開発のモダンな技術は知らんけど、ポートフォリオをさっさと作って仕事に入って働き始められる、など。
本が不要な理由3個目: 本読むよりも実装したほうがよくね?という
上と内容がかぶってるんですけど、本読むよりも実装したほうがよくね?と個人的に思ってます。
体系的に学んでからやらなくてもよく分からない箇所とかは調べながらやればいいですし、本を読んでる時間よりも、実装しながら調べたり試行錯誤してる時間のほうが技術力が伸びる確率が高めです。
本当に高度なレベルになってくるとまた別なのかもしれませんけど、たいていのケースにおいては、本読むよりも普通に実装するほうが技術力伸びる確率が非常に高いです。
本で読んでるだけだとやっぱ分からなくて、実際に手を動かしてみないと、深い理解が得られにくいです。
ちなみに理解が浅くて「知っている」程度だと、プログラミングを勉強しても、なんもできるようにならないのですごく微妙です。
手を動かすのが大事です。
そのためには本は所詮手段にしかならないのであってもなくもて良いっていう感じ。
プログラミングの本を買う場合
プログラミングの本を買うのも手段として使うなら普通に良いと思うので、そっち系のお話も書いてみたいと思います。
網羅系のインプットタイプのもの
例えば、こういうAWS入門みたいな分厚くていろいろ網羅されてる系です。
この手の本に関しては、隙間時間とかにざーっと読むぐらいが1番良い向き合い方かなと思います。
理由としてはこの手の網羅系は最初から最後まで全部読み続けると時間がかかりすぎるからです。
そんで時間がかかりすぎるわりにはいざ手を動かすとなんもできないってパターンになりがちなので、あんまり必死こいてインプットばっかりしてて意味がない的な感じです。
ハンズオン系
例えば、こういうReactでTODOアプリを作ろうぜ系とかです。
この手のやつは実務入る前の入門の頃や初心者の頃にすごく便利です。
ある程度脳死で真似ていくだけでもなんかしら作れますし、なんかよく分からなくても真似していたら徐々に分かるようになってくることもあるからです。
自分もポートフォリオ作ってた時はこの手のハンズオン系のものを1個だけKindleで購入(プライムリーディングだった気がする)して真似してそれを改良してポートフォリオにしました。
ついでに本なしでプログラミングを勉強する場合
本なしにこだわる必要はないんですけど、本なしの場合はこんな感じでやると良いと思われます。
実務入るまでのケース
個人的には以下の2手順で良いと思ってます。
- ドットインストールでプログラミング言語自体の入門の勉強を2週間ぐらいでやる
- ポートフォリオやウェブアプリを作る方法をネットで調べてそれを真似する
プログラミング入門レベルの知識をつっこんでからなんか作ってれば本とかで勉強しなくても必要な知識は勝手に網羅されていきます。
あとは隙間時間にQiitaやらZennやらをちょっと読んでインプットベースの勉強もすれば十分です。
より深めたいとか疑問が出たらChatGPTに聞けばOK。
実務入ってから
実務に入ってからは実務のタスクを多めにこなしたり実務で使われる技術周辺の知識をChatGPTに聞いたりしてれば勝手に技術力は上がっていきます。
特に本はいらなくて分からない箇所や全然知らない箇所が出てきたりしたら、そこを調べて簡単なものを作ってみるとか、実務のコードをいじったりしてわちゃわちゃしてれば技術書は買わなくても勉強できます。
定番のところは全部ネットに書いてあるし、ChatGPTにアシストしてもらいながらやっていけば十分です。
まとめ
自分はプログラミングの勉強に本は不要宗派なんですけど、どっちでも良いと思います。
個人的にはポートフォリオ作る前あたりにハンズオン系で真似できてウェブアプリ作っていけたやつは有益だったなと思ってるんですけど、それ以降に購入した網羅的な本とかはそもそも必要に迫られてないので全然読まなくて微妙でした。
本が微妙というよりかは、手段として必要か?ってところのお話カナーと思ってます。
ということで終わりなので、良かったら他の記事もぜひ!