こんにちは、けんぞうです。
プログラミングを独学しつつ、Webサイトを作っています。
現在僕のプログラミングスキルは、以下のような感じです。
- HTML/CSS/jQuery:Progateで独学し、機能を絞ったサイトを構築できるくらい
- PHP:WordPressテーマ作成を通じて独学、ググりつつ解消できるくらい
- Python:Youtubeなどを通じて独学し、小さいデスクトップツール作れるくらい
- Ruby:学生の頃にスクールで学んだが、ほぼ忘れた
今回は、プログラミング独学のモチベーション管理の方法を考察します。
1.ゴールが見える言語選定
- その言語で何ができるか?
- その言語で何を作りたいか?
- その言語で形にしたものをどう公開するか?
上記がクリアになっていない言語を独学でマスターしようとなると、「何につまづいているか分からない」という現象が発生しがちです。
僕の場合には、Pythonを独学しようと思った時に「どう公開するか?」が全く見通しがつかず、途中で飽きて止めてしまいました。
ある程度見通しがついている言語を選べば良いのではと思います。
たぶんWeb系(HTML/CSS/jQuery)は簡単です
Rubyなども触ってみた経験も踏まえて、Web系の言語は習得が簡単です。HTML/CSS/jQueryあたりですね。
部分模写は以下のツイートの感じです。
Progate/ドットインストール終わったあたりからの独学は、気になるサイトを『部分模写』するのが良いですよ😌手順は以下です
①気になるサイトで検証
②htmlコードを見つつ、テキストエディタに模写
③ローカルで開いてみて模写できているかチェック
これだけでもかなりHTML/CSSあたりの理解は深まる pic.twitter.com/1F7vfobt2I— けんぞう@Webデザイン独学中 (@kenzoooooB) January 30, 2019
上記ツイートの感じで検証モード使えば、自分が書いたコードを部分修正したりもできるので、かなり便利です。
オリジナルテーマ作成の学び方は、こちらの記事にまとめているので良かったらどうぞ。

2.手順を細分化しWBSに落とす
ゴールがしっかりと決まっている場合には、WBSに手順を全て落とし込むと良いです。WBSは作業分解図みたいなもののこと。
僕の場合にはGSSに落とし込み、毎日やることを明確にしています。
プログラミング独学の挫折対策としては、進捗をつくることですね☺️ 例えば画像の感じでサイトを作るために必要な作業を細かく洗い出して、日々淡々とそれらをこなしていく感じです。
日々前に進んでいる感覚を得られるので、モチベーションが小さく燃え続けます。毎日小さな勝利を積んでいきましょう pic.twitter.com/dtZLAyums3— けんぞう@Webデザイン独学中 (@kenzoooooB) January 31, 2019
「何をやるか」が毎日明確なので、モチベーションという不安なものに頼る必要がなくなります。『ProjectSheet Planning』など使えば上記ツイートの感じのシートが簡単に作れるので、おすすめです。

3.独学の過程も晒す
完成物だけでなく、独学の過程も全て公開/発信すれば良いと思います。僕は、noteで公開中です。独学の過程を発信する理由は、3つです。
- 理由①:他人の目を使い自分にプレッシャーをかける
- 理由②:自分のリファレンスとして使える
- 理由③:問題解決力の証明になる(仮説)
理由①、理由②はそのままなので詳述しません。
「理由③:問題解決力の証明」は、まだ僕の中では仮説です。
例えば、転職の際など想定した場合、独学でこれを作りましたと成果物だけ見せたとしても、どこからコードをコピってきた可能性もあるわけで、ぶつかってきた個々の問題や解消能力が見えづらい。
どういった問題にぶつかり、何を参照して、どうやった解決したのかがクリアになっていると、独学力がある程度あるという証明になるんじゃないかという仮説です。
RESUMEという素晴らしいサービスあり
成果物だけではなく、ストーリーまで残せるポートフォリオサービス「RESUME」があります。サルワカという200万PVの人気メディアを育てた方が作られたサービスです。
このサービスを使えば、スキルを習得するまでのストーリーをポートフォリオに組み込めますね。
4.無料で友達から受注する
責任を負うのが一番ですが、最初は無料で友達から受注すれば良いと思います。
僕も友人がWordPressでブログを開設する手伝いなどを無料でやってまして、その過程でテーマ制作をおこない知識を習得しています。
「独学すれば、自分がこうなる」という未来を見据えるよりも、「独学して知識を身につけたら、あの人にこんな手助けができる」という他者利益の視点に立つ方がモチベーションになります。
無料でやるっていうのがポイントですね、その代わりにポートフォリオに掲載させてもらうなどすれば良いと思います。
さいごに
さいごに、モチベーションに頼らない方が良いです。ここまで書いておいて、すいません。
つまり、モチベーションみたいな変動的なものに流されることなく、気づいたらテキストエディタを開いて、気づいたコードを打っているみたいな感じがベスト。
そのためには、上記のようなテクニックなどを使いつつ、日々の生活のプログラミングの勉強を組み込んでいくのが一番です。
お互い、頑張りましょ e
参考
僕がプログラミング独学でよく参照するサイトなどを、掲載しておきます。
- HTML/CSS/jQuery:サルワカ / webクリエイターボックス / Progate / HPcode
- PHP:ドットインストール
- WordPress:CodeX
- Python:CSdojo(Youtubeチャンネル)