始めに
うい、まんじです。
今回はわりとプログラミングネタって感じで、プログラミングを2.7年ぐらいやってきたなかであんまり意味なかった気がする勉強方法を書いていきたいと思います。
※ 勉強方法は人によって違うというかプログラミングの目的でも変わると思うのでそこら辺はご承知ください
※ また、この記事を書いているのはフリーランスの雑魚エンジニアです
1. 別に必要じゃないけど本を読む勉強スタイル
「プログラミングの勉強 is 本」みたいな宗派もあったり、本が本当に必要だったりする場合もなくはないみたいなんですが、個人的には本を読んで勉強するスタイルはあんまりしっくりきませんでした。
Amazonのプライムリーディングとかだと無料だしってことで適当に読んだり、早稲田の図書館でオライリーの本を借りて読んでみたりしたんですけど、読んだ瞬間から全部忘れていく…wみたいな(メモりながら読んでみたものの、復習するとかがだるくて無理だった)。
あと単純に勉強するために勉強する感が本だと出てしまったのと、普通につまらなかったので、これは100%自分には合ってないな〜と思ってやめました。
2. 動画系も別に必要じゃないけど見てみるスタイル
最近だとわざわざ有料で何か買う必要がないレベルで勉強になるYoutube無料動画、特に英語、があるんですけど、トライしてみた結果、ぼくには向いてませんでした。
もう少し具体的に書くと、目的がバッチリ決まってないと勉強するっていう作業に耐えられない。(本と同じだけど)
何かを作ることや結果を得るための手段としてぼくは技術を学ぶスタンスなんだなとこの時すごく悟りました。
3. ボーっとコードを読んでいくスタイル
いわゆるコードリーディング的な勉強法(?)かと思うんですけど、こちらもコードを読む必要に迫られていないせいか、意味を理解せずに流し読みしてしまってしっくりきませんでした。
読んだ瞬間に忘れるというよりも、そもそも必要に感じられなくて、流し読み(意味を取らずに)してるだけの状態にぼくはなりました。なってます。now.
労働や自分のアプリとかを作ってるときは意味不明でも無理やり読もうとします。(もちろん、無理な時は無理だけど笑)
4. コードのわりと細かい部分にこだわるスタイル
独学でプログラミングを勉強してた頃にPythonのコードでは「配列を末尾に追加するにはappendよりもリスト内包表記のほうが早いってばよ!」みたいなのに感化されて、当時作っていたポートフォリオっぽいもののコードを全部書き直したりしていました。
けど、これもあんまり意味なかったと思います。
もちろん、アルゴリズムっぽい能力は気付かぬうちに上がっていたのかもしれませんが、冷静に考えてもあの時間はなんだったんだろう…と思ったりしなくもないです。
勉強にはなったのかもしれないですけど、終わりがなさすぎるなと思いました。
終わりがないコーディングは労働でやれば勉強にもなってお金ももらえるので、労働でやる方がお得です。少しプレッシャーはあるけど。。。
5. 説明とかを書写スタイル(ガチで無駄だった気がする)
例えば、nginxとはウェブサーバーであり、リバースプロキシでうんぬんし、、、みたいなことを必死こいてvscodeとかにメモっていたことがあったんですが、これも無駄だった気がします。いえ、無駄でした。
そんなことメモるよりも不明点をググってうっすらと記憶をはりながらDockerでnginxたててリバースプロキシでつないでベーシック認証入れたりLet’s EncryptでSSL証明書取って気合いで使ったりみたいなことのが勉強になったと思います。
Reactとかも仮想DOMうんぬんで浅い比較でうんぬんとかを最初の頃は必死に覚えようとしたというか、メモってましたが、ある程度必要性を感じるような雰囲気が出てきてから深く調べればよくね?みたいに思いましたというか、最初からそんな深く網羅的に学ぶなんて天才じゃないと無理だなと悟りました。
そんなことより実装しながら不明点をググりつつ、足りない知識を補完するほうが効率良くね?というスタイルにプログラミング入門してから2年ぐらいして思い始めて、そこでぼくのプログラミングを勉強するために勉強する行為は終わりました。
まとめ
どの勉強方法ももう完全にやってないんですが、そもそもプログラミングに勉強方法とかない気がしますよねっていうふうに最近思ってます。
何を目的とするかによっても違うと思いますし、お寿司。
👇
https://manzi.tokyo/tips-to-study-programing