どうも。つじけ(tsujikenzo)です。今日は「プログラミング学習で挫折しないコツ」についてご紹介します。これからお話する内容は「プログラミングやりたいけど不安」「一度やってみたけど挫折してしまった」などの不安・経験がある方にお届けできたらと思います。「ある専門分野の言語を学びたい」という方には少し(ちょっとヒントはあるかもしれませんが)向いていないかもしれません。
このシリーズはネタがまとまったら随時UPしていこうと思いますので、順序とかバラバラで申し訳ありませんが、ゆるく書いていきたいと思います。
自己紹介
20年ほど前、私がパソコンと出会ったのは音楽制作(DTM)に興味があったからで、プログラミングやソフトウェアには全く関心がありませんでした。
社会人になって働き始めるとWord、Excelなどは基本的な操作を学べば十分でしたし、ショートカットを覚えたり、レコーディングマクロを使って作業を自動化すれば十分でした。
ちょうど世間では個人でWEBサイトを作ることが流行ってましたので、DreamweaverやFireworksでHPを作って遊んでいましたが、「HTMLを書いてみよう」とか「VBAのコードをゼロから書いてみよう」ということは苦手でした💦(苦手というか興味がないというか理解する必要がありませんでした)。文系というかバカですw。
プログラミング学習を始めるきっかけ
それぐらいの知識と経験がありました(ほぼ無いに等しい)が、2018年頃に「これからはAIだ」「AIに仕事を奪われる」「プログラミングの義務教育化」など騒がれ始めた時期に「自分でも学習してみようかな」と思ったのがきっかけです。
難しいんだろうな、300時間ぐらい必要か、など負の感情ばかりありましたが、ノンプロ研に入会して学んだ「まずは実務で使えるツールを作りましょう」というルールが抜群に良かったです。
投資を回収しよう
普段から時間に余裕がない生活をしている中で、1日1時間でも捻出するのは至難の業です💦そこにまだ正体の分からない「プログラミング学習」というモンスターをぶち込むのです。リスクしかありません。そのリスクを少しずつ資産に変えていく方法、それは「業務時間の短縮」です。
1日1時間を30日続けて30時間勉強したとします。その知識をいったん保留(ストック)して、更に上を目指すのは苦しいです💦なぜなら学習の山は登れば登るほど斜面がきつくなるからです。
しかし、30時間の勉強により「1日5分の業務時間の短縮」を達成すると、学習時間が1日1時間5分に増えます。斜面はキツくなっていきますが、与えられた5分の価値は大きいです。そして「いったん保留(ストック)」も危険です。人は忘れる生き物だからです。ブログやSNSでのアウトプットはもちろんのこと、「何か成果物を作って知識と一緒に残しておく」のは非常に大事です。
新しい知識の習得手順
新しい知識や概念と言えば、例えば「オブジェクトがなんなのか?」という定義は大変奥の深いものになります。私自信、何度も沼にハマって抜けられなくなりそうでした。
どんな沼にハマったかと言うと、「もう理解した!」と思っていてもそれはただ他人の書いたコードをコピペしただけで、「なぜ動いているのか分からない」し、「では全ての大元であるパソコンがなぜ動いているのかを学ばないといけないのか?」と焦ったり、などの経験を経てきました💦
手順通りに学ぶ
プログラミング学習を進めていく上で「○○が分からない」ということはよくあることです。そして分からないことについて調べていくと「さらに分からないことが増える」というあるあるにぶつかります。
挫折しないプログラミング学習のコツがあります。それは「手順通りに学ぶ」ことです。手順とは下記のような段階を踏むことです。
- 書き方を覚える
- 仕組みを理解する
このたった2つの簡単な手順を守らずに、独学を続け挫折する人が多いんだと思います。
「基礎の基礎」とは「使い方を学ぶ」こと
例えば、私は宇宙人で「人間と喋りたい」という目的があるとします。マニュアルには「まず、人間と会ったら朝はおはようございます、昼はこんにちは、夜はこんばんわと言います。」と書かれていますが、多くの人が少し喋ってみるか、マニュアルをぼんやり読むだけです。
さらにこの手順を覚えない内に学習を進めてしまい「いただきますって言いたい」とか「挨拶って何なんだろう」とか「朝も昼も夜も1日という単位に所属しているらしいぞ」という概念的な知識まで手を出してしまい、挫折してしまうのではないでしょうか。
プログラミングの基礎の基礎とは、徹底して「使い方を学ぶ」ことです。どうしても学習を進めると概念的な話が多く登場します。「人間と喋りたい」という目的があるなら、まずは3つの挨拶を徹底して覚えること、そして3つの挨拶を使うことにストレスがなくなって初めて「いただきますは食事の時に言う」理由が分かってきますし、「そもそも挨拶とは何か」という論文も読めてきます。
まとめ
以上で、「自己紹介」「まずは業務時間の短縮がオススメ」「手順通りに学ぶ」の3つをお送りしました。「基礎が一番難しい」というのはよく聞く話ですが、では「基礎の基礎」とは何だろうと思ったのでまとめてみました。
問題は小分けにすれば難しいことなんか一つもないものです。そんなテクニックを少しずつご紹介していければと思います。末永くよろしくお願いします。
このシリーズの目次
- [プログラミング]プログラミング学習で挫折しないコツ #1