ぶっちゃけ、プログラミングの独学って楽しいですか?
何から始めたら良いのかもよく分からないんだけど、楽しくないと続かないしなあ。
自分に合ってるかどうか分からないので、なるべく具体的に『ここが楽しい』って教えてもらえると嬉しいです。
こういった疑問に答えます。
プログラミングを独学で進めていこう! と考えた時に、楽しくない事だと、やはり続かないですよね。
少なくとも結構な時間を消費する事にはなるかと思うので、その勉強にかけるモチベーションをどうやって保っていくのか、気になる方も多いと思います。
私はとある零細ベンチャーでソフトウェア開発をやりながら、部下の育成もしている人間です。
私も最終的にはスクールに通う事になりましたが、独学でどうにかプログラミングを学ぼうと努力していた時期があります。
ある程度の段階に入ったら、独学でも楽しく勉強する事はできるかと思うのですが、とにかく最初は辛かったです。
ということで、今回はプログラミング学習入門者向けに、プログラミング独学の楽しい部分について書いていきます。
どうしたら楽しくなるかにも精通するかと思うので、そのあたりも意識して書いて行ければと考えています。
それでは、さっそく本編に進みましょう。
Contents
スポンサーリンク
プログラミング独学は本当に楽しいのか【経験者が語る】
結論から言うと、『プログラミングを楽しいと思ったことは特にない』というのが現実だったりします。
世の中の「プログラミングが楽しくないとプログラマーにはなれない」と説いている方々、すみません。こんな人間もいました。
ただ、ではプログラミングに関わるすべてが楽しくないかと言われると、そうでもないです。
私の場合、今も昔も目標となる完成物がまずありまして、そこに辿り着くためにプログラミングの勉強をしています。
当初、学生時代はゲームを作るためにプログラミングを学んでいました。
今は、仕事で売るシステムを進化させるためにプログラミングを学んでいます。
目標物が完成した時に、大きな達成感を得るという状態です。
プログラミングは目標達成の手段に過ぎないので、特にコードを書いていて楽しいと感じるタイミングはないです。私の場合。
ただ、楽しくないのが一般論かと言われると、もちろんそんな事はありません。
私の近くにも、「一日中コードを書いていても全く疲れないし、楽しい」と話しているプログラマーの方、いるんですよ。
でも、その人は特に目標となるモノのビジョンを思い描く訳でもなく、純粋にプログラミングが楽しいんだそうです。
残念ながら私は、その領域には辿り着くことができませんでした。
目標物ありきのプログラミング独学
ただ、周りを見ていて思うのですが、『プログラムを書くのがとにかく好きで、ただ一日中コードを書いていたい』っていう方、そんなに多くないと思うんです。
たとえば、円周率を調べて、とにかく延々書き写すだけの作業を1年続ける事を想像してみてください。
死にたくなりませんか。
もちろんこれよりは頭を使うんですが、では計算ドリルを1年間、毎日10時間やる時の事を考えてみてください。
これも辛そうですよね。
その一方で、たとえば『ホームページを作りたいので、HTMLを覚える』というのは、そんなに苦ではなかったりします。
そこに『自分のホームページ』という完成形があるからですね。
ゴールがあれば、人はモチベーションが保てる。これが重要な事だと思います。
何も、プログラミング一筋で研究したい訳でもないのに、延々とコードを書き続ける必要はないのです。
『新しい技術を身につけたい』というのもゴールのあるひとつの目標ですが、私は注意が必要だという考えを持っています。
なぜなら、私自身が『学習目的の学習』というのが苦痛ではなくなるのに、けっこうな時間を必要としたからです。
『学習目的の学習』にはゴールがあるけれど
学習に慣れていない最初のうちは、目標到達地点を見失うと辛さが出てきます。
つまり、『学習目的の学習』という目標設定は、『つまずいて学習自体がうまくいかなくなる』という状況に耐えられない事が多いのです。
たとえばプログラミングを例に出してみると、コードを書いていて、エラーが発生したとしましょう。
そして、それがGoogleでちょっとやそっと調べただけでは出て来なかったとします。
最初のうちはGoogleの使い方も未熟なので、簡単にエラーの内容を解決することができない場合が多いです。
そこで思うわけです。
「私は、あの○○みたいなプログラムが作れるようになりたいのに、こんな簡単なエラーも解決することができない。こんな状態で、本当に目標の場所に到達できるのだろうか……」
こうなると、急速にモチベーションが奪われていきます。
ここで、作りたいものが明確にイメージできていて、そこまでの道のりをできるだけ具体的にイメージするステップがあると、踏ん張りの効き方が大きく変わります。
なんとかして、あれを作ってやろう。そのためには今、このエラーを解決しなければならない。
時にはネットで上級者に質問してみたり。それで、書き方が悪くて怒られたりします。
でも、そうこうしているうちに解決すると、どっと疲れと達成感が出てきます。
『学習目的の学習』は、『必ず自分が課題を乗り越えて学習できる』という確信がないと、挫けてしまうんです。
プログラミング独学を楽しいと思うために
さて、ここまでの内容でシンプルに『楽しい』『つまらない』という形では括れない事が伝わっていれば幸いです。
どちらかと言うと、プログラミングというのは目標のモノを作るためのツールであり、通過点です。
中にはプログラミングそのものが強烈に好きな方も居ますが、私の周囲にいるエンジニア職の仲間たちの比率から考えて、こういった方はそれほど多くはないと予想しています。
そこで、プログラミング独学が楽しいと感じられるためには、2つの要素が必要です。
それは、『目標』と『根性』です。
プログラミングの楽しさを求めて、せっかくこんなベンチャーの開発職が書いている辺境のブログまで辿り着いたのですから、このワードを覚えて帰っていただければ幸いです。
プログラミングの楽しさを得るために必要な『目標』
まず、目標はどんな場合であれ、2つ立てることが大事だと考えています。
それは、『長期の目標』と『短期の目標』です。
ある程度学習を必要とするモノの場合、目標を立てていきなりそこに到達するというのは、中々容易な事ではありません。
一歩を飛び出すために、短期の目標を立てて、そこに階段を作るんです。
こうすることで、高いハードルを飛び越える事ができます。
特に、遠い目標を立てて、毎日本を読んで学習しています、という方は注意が必要です。
本を読んでも、プログラミングができるようにはなりません。それは、独学ではないんです。
プログラミングができるようになりたければ、今日プログラムを書くしかないんです。
なぜなら、『プログラミングができる』というのは、『エラーが解決できる』という事とほぼイコールだからです。
本を読んでもエラーが出せません。だから、今から書きましょう。
これこそが、『短期の目標』です。
時には、長期の目標と短期の目標が一致せず、苦しい想いをするかもしれません。
でも、そういうものなんですよね。
何かをやろうとしたら、発生する問題はほぼそれです。
「思ってたのとなんか違う展開になった」ということです。
そのギャップとどれだけ強く戦えるかが、次の項目です。
プログラミングの楽しさを得るために必要な『根性』
なぜ楽しさを感じるために、根性が必要なのか。
私も字面で書いて「ちょっとこれはどうだろう」と思わなくもないのですが、物事を楽しむためには根性が必要です。
たとえばサッカーや野球は、ある程度できるようにならないと、チームメイトから嫌われます。
でも、できるようになるために訓練するのは、孤独な戦いになるので中々厳しいです。
世の中には、そういった事がありふれています。
イラストを描くのが上手な人が、最初からイラストが上手だったでしょうか?
上手にイラストを描きたいのに、何を描いても下手だとしか感じられない期間って、100人いたら100人が楽しいと感じられる工程でしょうか?
英語が堪能な人は?
歌が歌える人はどうでしょうか?
誰でも興味を持つ所から始めていて、プログラミングにしてもそうだと思います。
ただ、『やりたい』を『ちょっとできる』に変えるためには、血反吐を吐くような努力が必要になります。
そして、『ちょっとできる』を『もっとできる』に変えるのは、実はちょっとだけ楽です。
成長を感じられるのは後の方で、一回壁を破ると、そこから先は実感できる事が多いので楽しくなってきます。
この、最初のきつさを乗り越えるために。『楽しくなるための根性』が必要だなあ、と思うのです。
プログラミングを独学することの楽しさとは
ということで、プログラミングの独学は、いわゆるコンテンツを消費する『楽しさ』とは違うベクトルのものだと日々感じています。
別にコードを書く事そのものが楽しい訳ではないんですが、新しい事に対する興味は尽きません。
それは途中で投げ出さなければ、新しい事を覚えられる、自分ができるようになると分かっているからです。
できるようになるか分からないものは、正直楽しくないですよね。
なので、これからプログラミングを独学で始めてみようと思うなら、最初に楽しさを感じられなかった時に、「自分には無理だなあ」と思わないで頂きたいなと、そう思います。
楽しさを感じられるのは、けっこう後の方です。
何を学習しているのか、何ができるようになるのかもいまいち実感が持てていない段階で、早々に投げ出すというのは勿体ないことだなあ、と。
私もプログラミングそのものが『楽しい』とは中々ならないのですが、モノを完成させた時の楽しさは、作っている最中の苦痛を遥かに上回るものなので、続いています。
この記事を読むことで、挫折していく人が1人でも減れば嬉しいです。