みなさん、こんにちは。タケイです。
今日は「必ず失敗するプログラミングの勉強法」について、執筆します。
この記事を書こうと思った理由
私はエンジニアになって、成功したと思っていません。
どちらかというと、まだまだ未熟であり、自信がない状態です。
理由を考えてみたら、エンジニアとして働いた最初の会社で、結果を出すことができず、上司から見捨てられたような扱いを受けたのが原因だと思います。
結果、自信がないまま退職しました。
これはある種、一種のトラウマになっていると言っても過言ではありません。
今は、職場環境を変えて、派遣エンジニアをしていますが、周りの方々が、技術だけでなく、人間性も最高レベルの方なので、楽しく働けています。
それでも、「自分はエンジニアとしてはまだまだ」という気持ちなのは変わりませんが、
今日は、私がエンジニアになって、いいスタートダッシュを切れなかった原因でもある、エンジニアになってからやっていた「失敗した勉強法」について、記事を書こうと思います。
私が失敗した勉強法
それは、動画を見るだけの勉強をしたことです。
つまり、インプットばかりの勉強をしていました。
具体的にはUdemyという動画学習サービスの動画をひたすら見ていた勉強法なんですが、本当に意味がなかったです。
では、いかにインプットだけの学習が無意味なのか、なぜそういう勉強法をしてしまったのが、具体的に書いていきます。
インプットばかりの勉強が意味ない理由
1、Udemyを見まくってもできるようにならない
私は正社員のエンジニア時代、通勤に往復3時間もかかっていて、
そのうち30分は、朝が早かったので睡眠時間にし、残りの2時間半はつり革に立ちながら、JavaScriptのUdemyをひたすら見る習慣でした。
仕事が、9時勤務開始、18時勤務終わりでしたので、どうしても通勤退勤ラッシュの時間に当たり、座席に座ることができません。
自分のパソコンを持ち歩く習慣もなかったので、どこかでコードを書くこともしませんでした。(パソコン、地味に重いですし)
ここまで聞くと一見、2時間半もJavaScriptの動画を見て、めちゃくちゃ勉強してるように見えると思います。
ですが、実際に現場でJavaScriptの仕事ができるようになったかといえば、全然できていません。
理由は、動画を見るだけではきちんと理解しきれてないからです。
自分の感覚では、動画を見ただけだと、覚えていたのは1割くらいで、9割は何も理解できていなかった気がします。
特に、Udemyは評判はいいですが、その分、内容も重めです。
全部見ようとすると、物によりますが、2倍速でも3日はかかります。
それよりも、「ドットインストールのアプリを作るコースを見ながら、コードを書きつつ、意味を理解して、それをパクって何か作ってみる」の方がめちゃくちゃ理解できていた気がしました。
コードを書きながら、意味を調べて理解するのは、想像以上に時間がかかりましたが、それらを繰り返しただけで、学んだことの5割は頭に入っています。
つまり、目で見る「インプット」も、手を動かして、考えて理解したする「アウトプット」の方が絶対にいいわけです。
なので、UdemyとかYouTubeの動画教材は勉強しやすいですが、ただ見るだけだと本当に効果が薄いので、コードを写して、理解することに努めて、さらにコードを用いて、何か作品を作る
みたいな勉強法が、改めてエンジニアとして成功する1番の勉強法だと思っています。
2、動画を見まくっても、感覚が違う
さらに、「インプットだけがマジで意味ないよ」を教えるため、私の趣味のボウリングについてお話します。
毎日のようにやっている趣味のボウリングですが、
ボウリング場での練習だけでなく、家でもYouTubeを見て、フォームとか技術的なことをインプットするんですが、
実際にボウリング場で、動画で学んだことを真似してみると、撮影してみた自分の動画をみる感じ、明らかにイメージしていたのと違っています。
動画では一見簡単に見えるものも、実際にやってみると100倍難しい。
例えば、この動画ですが、見た感じ、めちゃくちゃ簡単そうに見えませんか。
ですが、実際やってみると、動画では伝わりきれない「ボールの重さ」とか「身体のバランスの悪さ」などがあって、動画みたいにできないのです。
つまり、何が言いたいかというと、「動画を見ただけで、できる気になってはいけない」
ということです。
動画を見れば、「簡単に上手くなれるんじゃないか」と期待してしまうんですが、現実、すぐに上手くなりません。
どうしても動画の通りやりたいなら、スマホで自分のフォームを何度も撮影し、どういう身体の使い方をすれば、動画の通りにやれるのか研究するのが必要ですが、相当時間がかかります。
下手したら、1年経ってもできないかもしれません。
それならプロに教わったほうが早いわけです。
「プロに教わった方が早い」と思ったので、動画で習ったことを真似してみる練習は極論控え、プロから教わったことを正直に真似することに徹しました。
結果、スコアが急激に伸びて、今もなお、伸びしろ満載のアマチュアボウラーです。
これは、プログラミングも同じことが言えて、自分で動画を見て、我流でやるのも大事である一方、実際に何年もエンジニアをやっている方から、アドバイスをもらいながらやる方が圧倒的に成長が早いと思っています。
なぜインプット中心の勉強をしていたのか
では、「アウトプットが大事!」と言われているにもかかわらず、なぜ地獄のインプットループ学習にハマっていたのかお伝えします。
1、時間を上手く作れなかった
先ほど記載通り、通勤時間はほとんど座れず、PCも持ち歩いていないので、通勤時間中はコードを書くことができませんでした。
職場から自宅に帰ってからも、「明日も朝が早いから」と言って、コードを書く時間を捻出せず、休日だけコードを書く生活になっていて、
今思うと、通勤時間ができるだけ少ないところで済む企業で働けばよかったと思っています。(当時はなかったかもしれませんが)
なので、今、コロナ禍で在宅勤務をしている方は、通勤時間がなく時間が有り余っているはずなので、本当に人生を変えるチャンスです。
その上で、ご飯食べる、1時間運動、お風呂入る、寝る
それ以外は、全てコードを書いているくらいのスケジュールでやっている人は、絶対にエンジニアとして成功すると思います。
その中で「1時間運動」のところを「1時間コードを書く」にすればいいと思った方もいるかもしれませんが、
私の場合、「1時間運動」のところも絶対に外せない習慣です。
なぜなら、運動しないと良質な睡眠が取れないですし、何よりストレスが溜まるからです。
運動は集中力も上げますし健康にいいので、「1時間運動」は欠かせません。
そうなると、それ以外の時間でコードを書かないといけないんですが、正社員エンジニア時代は平日に関しては、運動をしてもしなくても通勤時間が長かったので、本当にコードを書く時間がありませんでした。
一方、同じくエンジニアとして入社した同期は、通勤時間30分圏内のところに住んでいたので、家でも普通にコードを書いていたようです。
その同期は、技術レベルも低くなく、性格も面白かったので、私を見捨てたエンジニア上司から結構好かれていました。
好かれてるから面倒見が良く、同期の成長度は、明らかに私より早かった気がします。
なので、エンジニアとして成功するなら、「コードをいかに1秒でも長くかけるか」「上司に好かれるか」これにかかっているわけです。
2、楽だから
それに、インプットは、見るだけなので、勉強として本当に楽です。
なので、動画とか本をとにかく見まくる勉強をしがちになります。
ですが、脳に対して楽な刺激を与えて勉強した分、脳から「楽」に消えていきます。
それなら、苦労してでも、脳に確実にインプットされる「アウトプット」型の勉強をした方がいいです。
コードが汚くてもいいから、自分でプログラミングをして作品を作ってみる
その方が確実に力になります。
コードを見るだけはもちろん、写すだけなのも意味ないので、ぜひコードを調べながら、意味を理解しつつ、作品を作ってみるなど、「楽じゃない方法」で勉強しましょう。
プログラミングや動画編集のような「スキル型」の勉強は、「楽をしない」勉強方法が一番いいです。
先ほど登場したエンジニアの同期が
「プログラミングの勉強ってどうやればいいんですか」
と、就職した直後に、20年以上エンジニアやっている前の職場のCTOに聞いていたんですが、
「コードを書いて、何か作った方がいい」
とおっしゃってました。
20年もやっているエンジニアが言ってるので、間違いありません。
とにかくアウトプットしよう!
エンジニアを目指している方、エンジニアになったばかりの方は、技術書を読む、動画を見るのを辞めて、ぜひ1秒でも多く、コードを書くようにしましょう。
このブログを読んだら、すぐにエディタ開いて、コーディングです。
コードを書いたり、ブログを書いたり、YouTubeの動画を作成した方が、前に進んでいる感じがして、精神安定剤になっている気がするので、どんどんアウトプットです。
ぜひ、ブログを読む習慣が多い、本を読む習慣が多い、YouTubeのような動画教材を見る時間が多い方は、見る時間を最小限にして、しょぼくてもいいのでアウトプットしてください。
ちなみに、最近になって思いましたが、私のYouTubeとこのブログは、まさに「ショボいけどアウトプットした典型だな」と思っています。
このショボイブログでさえ、毎週書き続けていたら、だんだん1円以上毎日稼げるようになっていました。
まだまだブログに関しても、我流で勉強不足ですが、これからもどんどんブログについて調べていき、稼ぐコツを知りたい、いつかブログのネタとして書きたいと思っています。
今回のブログもご覧いただきありがとうございました。
毎週ブログを更新してますので、今後も読んでいただくと嬉しいです。
また、YouTubeも投稿していますので、そちらも見ていただくと嬉しいです。
なにかあれば、TwitterでDMをください。
これからもよろしくお願い致します。
