きょうはプログラミング上達のコツについてお話しします*1。私はエンジニアではありませんが、会社で事務職の社員を相手に簡単な自動化プログラムが作れるようにするための講師を務めています。今回お伝えする内容は、どのプログラミング教室を選ぶかよりもずっと大事な考え方です。
正しい勉強法を知って、最短で無理なく無駄なく上達していきましょう。なお、プログラミングが始めて、あるいは始めたものの、いつまでたってもできるようにならない、という方を読者に想定しています。
目次
プログラミングの上達のコツ
AIや人工知能、データサイエンスと言う言葉もすっかり定着し、高度AI人材の需要が高まっています。そんな中、プログラミングやエンジニアに興味を持っている人も多いのではないでしょうか。転職サービスや転職サポートの付いているプログラミング教室の広告も沢山見かけます。それでは早速プログラミング上達のコツに付いて見ていきましょう。
上達が停滞するとモチベーションが下がり、挫折につながる
まずは挫折の原因から見て行きます。私が人に教えたり、自分自身が勉強した経験から言うと、多くの場合、初心者が挫折してしまうのはプログラミングの文法が分からないからではないように思います。
では、どういうときに挫折するかというと、上達が停滞する時です。プログラミングの勉強では概念的に理解が難しい部分がありますが、それはレベルの高い話です。では上達が停滞するとはどういうことかについてみていきましょう。
上達が停滞する時はいつか
ここから本質に迫ります。上達が停滞する時とはズバリ、基本文法のインプットが一通り終わった時です。具体的には繰り返しと条件分岐が終わったあたりです。この段階の弱点は、何か完成品を作ったことがない事です。
正直なところ、一通り基礎文法のインプットが終わった段階と、アプリの完成品を作れるレベルには段差があります。そのため、いままで順調に新しい文法を覚えてきたのにそれを応用する事ができずに停滞してしまうのです。これが上達が停滞するときです。
そして、この段差が乗り越えられないと、停滞が長引き、挫折につながって言ってしまうわけです。
挫折をしないためには上達を停滞させない
ここまで、挫折するのは上達が停滞する時期が長期化するから嫌になるということについて説明してきました。ここまでのことから挫折しないためには上達を停滞させないことが大切だと言えます。それでは上達を停滞させないためにはどうすれば良いかというと、目的に向かって一直線に進むことです。目的とは何をしたいかと言う事です。Webアプリが作りたい、とか、エクセル作業を自動化したい、とか、ゲームを作りたいとか、そういうことです。
プログラミング学習が流行っているから、何となくプログラムの勉強を始めた、と言う人は、文法を一通りインプットするところまでは行きますが、ここに来て目的がないために、成長が止まり、挫折につながっていきます。目的を明確にして単刀直入、ピンポイントでいきなり目的のモノを作り始めればいいと言うことです。
単刀直入、いきなりものづくりを始める
完成度やエラーに強いか、セキュリティなどはこの段階ではどうでもいいです。コアな部分だけでも、どんなに小さい機能でもいいので、とりあえず一つ作りきることが非常に大事です。
始めから使い勝手や完成度、セキュリティまで考慮したモノ作りをするのはまずムリです。思い切って捨てます。捨てて、コアなところに絞ってとにかく完成させます。そうすると、基礎文法は一通りインプットしたつもりでも、案外てが止まりまくりでなかなか前に進まないことに気づくでしょう。
ここが踏ん張り時です。ここで、分からないところを調べて書く事がまさに本当の勉強であり、上達につながる部分です。さっさと基礎文法を終わらせた段階で、難しい文法は後回しにし、一直線に作りたいモノのコアな部分だけ作る。これが最大のコツです。具体的に作りたいモノの作成に取りかかっているので、分からないところを調べる時も調べるべき内容がはっきりしていますし、徐々に完成に近づいていくのが楽しく、モチベーションも保ちやすいです。
そしてやがて、完成度が低いモノができあがります。しかしこの時点で、基礎文法のインプットが終わった段階とは雲泥の違いがあります。非常に大きな一歩です。
完成度が低いモノができた次のステップ
完成度が低いモノができたら、次はその完成度を高めます。しかし、上達という面ではここでは、新たに始めから作るようにすることが重要です。最初に作った完成度の低いモノを改造するのではありません。もう一度始めから作り直します。
理由は、改造するのは難しいことと、始めて作ったものなんてプログラムの流れもぐちゃぐちゃでどうしようもないからです。大工事より最初から作る方が簡単です。一度完成品を作った経験があれば、2週目は初めての時より遙かに早く完成までこぎ着けることができるでしょう。
「完成品を作る」の注意点
ここで注意点が2つあります。それは、写経で作ったモノは完成品に含めないということです。
初心者向けのプログラミング学習書に多い形式として、サンプルのアプリやツールを実際に作りながら基礎文法を学ぶと言うモノがあります。大変分かりやすいですよね。これは、「とにかくまずひとつ完成させ」たモノにカウントしてはダメです。写経で作ったモノは「とりあえず作る」に含みません。ここ、勘違いしやすいので要注意です。写経して一通りその本が終わったら、その本で作ったツールとは違うモノを作ってみましょう。これが「とりあえず何か作る」の何かにカウントできるモノです。
写経が有効なのは、繰り返し構文や条件分岐など基礎文法の習得部分です。というか基礎文法の習得は無料動画でもスクールでも本でも何でもいいです。基礎文法ではそもそもあまり挫折しません。
*1:HTMLにも適用できる考え方です