ここ5年くらい、僕が新年の目標を立てる際に必ずテーマとしてあげるのがプログラミングです。
ですが、必ず毎年挫折をしています 涙。
もともと音楽や映画が好きで、クリエイティブな仕事をしたいと思ってIT系へ進んだんですが、自分で開発っていまだに出来ないんですよね。
それに、クリエイティブなスキルを身に付ける、そして、磨き続けるというのはなかなか空いた時間の勉強だけでは足りないんです。
なぜかというと、クリエイティブな事をするのに必須な資質としては論理的な思考が必要だからです。
文系でかつ感覚的に考えがちな僕のもっとも苦手な領域だったんです。
かなりこれまでやってきていないことの知識の量と実施の量を、仕事外での時間を作って積み上げないと身につくことはない無いですね。
今回は、そんな僕が発見して現在までやっているプログラミング・スキルの勉強法の紹介をしていきます。
もくじ
プログラミング学習は、挫折を繰り返すなんて当たり前
僕はとにかく文系で、中年といわれる年齢まできてしまった人は、最初から上手く覚えられるということなんて無いと考えてます。
なので、当然最初は勉強の進みが良いかも知れませんが、少し進むとほとんど挫折しちゃいます。
具体的には、アルゴリズムの部分で覚えるルールや論理的に考えないと進まない所が出てきます。
要は、最初は知る・覚えるの部分からすぐに考える部分に突き当たります。
ですので、考える事が苦手な僕は投げ出しちゃうわけなんです。
時間も限られてますし、焦って覚えようとしちゃうから、余計に嫌になるんです。
なので僕は、挫折するなんて当たり前だと割り切るようにしました。
学習方法の極意!途中でつまづいたら別のやり方に向かってみる
この辺りはプログラミングの話よりも、モチベーション管理に近いですね。
僕は勉強している本とかやり方でつまづいたら、
- 少し粘ってみて脱却する
- 粘ってもダメだったら違うやり方に変える
と、いうふうにしています。
違うやり方に変えるのを具体的にいうと、
- 教科書を変えるとか
- PHPっていうプログラミング言語を勉強してたのをHTMLにしてみるとか
のように、シフトしてます。
そうすると、「あ、これって前やってたこれと関連あるな」というような積み上げが出来るからですね。
そういうふうにシフトを繰り返してみたら、もう一つ気づいた事がありました。
意外と陥りがち 最初は難しいテーマや教科書を選んでしまっている
これはやってしまってますね。
でも、つまづいて、それでも続けて勉強しようと思ったらもっと難易度を下げて基礎の基礎のさらに基礎くらいのところに行き着いたりしますね。
つまり、応用→基礎→転用→応用というプロセスを経ることだと思うので、覚えられたり、そこをベースにまた勉強の幅が広がったりします。
大事なのは、当たり前だけど基礎の基礎
よく言われますし、当たり前のことをなんですが、やっぱり大事なのは基礎の基礎ですね。
大人になると基礎の部分はすぐにわかるだろうと油断して、打ちのめされて、挫折する事が多いのではないでしょうか。
大人であることの変なプライド的な。
ここは謙虚に、どんどん難易度を下げていってから、どんどん学習出来る状態へ知識を身につけ進められるとすんなり行くはずです。
幅広く興味をもって色々とやってみるのがモチベーションを保つコツ
僕の場合、最初からiPhoneアプリの開発からスタートしました。
全くわからなかったですね。
挫折しました。
そのあとWEB系のPHPとかMySQLの勉強したりしましたが続かず。
JavaScriptもちょっとやったり、サーバーについて勉強したり。
で、HTML/CSSやワードプレスなどに行き着きまたPHPをやる、というような状態。
それをぐるぐるシフトしなが迷走して、周り巡っているんですが、その途中でそもそもの成り立ちなどの入門書や専門書とかも読んでます。
僕の場合、何年かかっても身につけたい、身につけるべきスキルだと今は考えています。
こんなスタイルで独学で続けようと割り切って、モチベーションを保ちながら興味のおもむくままにやっていこうと考えてます。
ロボットとかAIとかもやってみたいですね。