【Ruby on Railsで学んだ】プログラミング学習のモチベーションの保ち方

2019年3月30日

大人になってからの勉強は、案外楽しいものなのですね。

以前までは会社から帰るとモンハンばかりやっていた僕は、ようやく最近になって気が付きました。

学生時代の勉強は、テストで良い成績を取ることが目標で、
自分がやりたくない教科も我慢してやる必要があったので、正直あまり好きではありませんでした。

それに比べて、社会に出てからの勉強は何と気楽なことでしょう。
勉強しなくても、働いている以上は何とか生きてはいけるので、純粋に自分が興味のある分野の探求ができるのです。

僕の場合は、それがプログラミングでした。

プログラミングについては学習を開始してから、まだ20時間弱しか勉強していません。ですから、プログラミングについて語れるほどの知識はもちろん、自分で何か作ってみた(例えばポートフォリオなど)経験もありません。

でも、不思議なことに、プログラミングを勉強するのは楽しいのです!

ということで今回は、プログラミング超絶初心者である僕が、まったく未経験の学習を進める中で、挫折することなくモチベーションを保っている理由について書いていこうと思います。

習うのが先か慣れるのが先か

以前、記事にもしていますが、僕は子どもにプログラミングを教えたいと思ったことがキッカケで、プログラミングの世界に入門します。

僕とプログラミングとの出会いはProgateと呼ばれるオンライン学習サービスを通じてでした。(Progateは無料でプログラミングを体験できます)


また、Progateは、初心者には難しいプログラムを実行するための環境を作るといった過程をすっ飛ばして、いきなりコードを書き始めることが出来ます。

※これはめちゃくちゃ手軽にプログラミングの魅力に触れることが出来るので、僕みたいなまったく未経験の人にとってはかなり重要なことです!

さて、Progateをベタ褒めするのはこの辺でやめることにして、僕が初めて出会ったプログラミング言語は「Ruby(ルビー)」という日本人が開発した言語でした。

そし人並みに、初めて実行したプログラムは、画面に”Hello World”と表示するものでした。

※大体のプログラミング学習で、最初に行うのはハローワールドだそうですね。

初めて自分が命令した通りにプログラムが動いた時には、感動すら覚えたのを今でも思い出します。

プログラミングのイメージ画像

そんな感じで、一通り(ProgateでいうとRubyの最終レッスンまで)学習を進めていきました。

最初は画面に”Hello World”を表示することしかできなかった僕は、クラスや継承といった概念を学んで、フムフムと納得するレベルまで来ていました。

※とは言っても、Progateの課題を何とかこなせるといったレベルなのですが。

そしてそこまでは順調だったのですが、軽い気持ちで手を出した次工程で、プログラミングの難しさを目の当たりにすることになります。

Ruby on Railsとの出会い

これはもう、めちゃくちゃ衝撃でしたね。

Ruby on Rails(ルビーオンレイルズ)は、アプリケーションの開発を容易にするためのフレームワークと呼ばれるもの(なのだそうです)

何が衝撃だったのかって、Railsにはフルスタックの学びがあったことです。

※フルスタックとは、画面を作るHTML,CSSや、画面から入力された情報を処理するWebサーバ、DBや、Rubyのようなプログラミングなど、システムを作るうえでの一通りの技術のこと

ですので、Progateの課題でさえ、画面からDBからプログラムから、すべてを自分で作る必要がありました。

これがすげぇー楽しかった。そして、激ムズだった。

そりゃそうですよね。Rubyはそれだけやっていれば動きましたけど、HTMLなどの知識はまた別の分野として勉強しないといけないのですから。

単純に勉強する範囲ってこんなにあるんだ!という衝撃に襲われました。

そして、世の中のアプリケーションはこうやって出来ているんだなぁーって妙な納得と、その概要を知ることができました。

正直、Railsをやっていなかったら熱は冷めていた

Rubyだけやっていたとしたら、「プログラムってこうやって動くんだ。ふぅ~ん。でもどんな場面でどういう役に立つんだろう…」って考えて、そこでやめていた気がします。

僕のモチベーションを向上させてくれたのは、明らかにRailsとの出会いでした。

Railsの勉強を始めて、MVCをざっくりと理解したことによって、全体の概要がわかったことがとても大きくて、そしてスライドを見ながら書いてみて、その骨組みに肉付けをしていく感覚がとても楽しかった。

よって、結論

プログラミングの勉強を続けるためには、アプリケーション開発のざっくりとした全体像をつかむために、フレームワークの勉強をしてみること

そうすると、自分が学習しているプログラミング言語がどんな時に使われるのかぼんやりと分かってきます。

パズルを作る感覚と似ています。一つのアプリケーションを作るには、どのピースが足りないのか。そうすると次に勉強するべきものも見えてきます。

そうなればもうこっちのものです。ざっくり知ることで、今度は一つ一つを深掘りしたくなる。さらに横展開で知識が広がっていくのが楽しいと思えるようになります。

これからもこの初心を忘れずに、成長していけたらと思っています。