仮想サーファーの波乗り

仮想化エンジニアの日常

プログラミング・SNS分析・仮想通貨・自動化などに関してよく書く雑記ブログ

プログラミング初心者がProgate後に待つ死の谷を乗り越えられない理由について


つい昨日、Noteでプログラミングチュートリアルの配信をはじめました (・v・)/


note.mu


今回は、なぜこのタイミングでNoteでのプログラミングチュートリアル配信をはじめたのか書いておきます。


僕もプログラミングを学びはじめた当初そうだったのですが、「Progateを使って一通り基本的な文法を学習したけど、次に何すればいいのさ?!」という状態になってしまう人が最近周りに増えたなと。

プログラミング学習者がProgateを進めて基本的な文法が理解できた状態を「英語の習得」で例えると、文法は理解できたけど、外国人とは話せないし自分の言いたいことを英語で表現することもできない状態です。

プログラミング学習者は、プログラミングの文法を理解したいのではなく、自分の作りたいサービスを開発したり、エンジニアとして転職してエンジニアと肩を並べて働くためにプログラミングを学習していますよね。


「Progate楽しい!プログラミング楽しい!」

とつい最近まで言っていたはずなのに、いつのまにかプログラミングから離れていってしまう...。なぜそうなるのか?


プログラミング初心者が挫折する死の谷とは??

「文法学んだから何かしらサービス作りたいけど、特に作りたいサービスのアイデアもない。じゃあ、実際にエンジニアとして転職したり、自分の作りたいサービスが作れるようになるまでに、次になにをすればいいのさ?!」となってしまう状態。

f:id:virtual-surfer:20181007011155p:plain

プログラミング初心者が直面するこの何作ればいいのかわからなくてプログラミング学習の手が止まる現象のことを「プログラミング学習者の死の谷」と呼んでいます。

この死の谷の段階で、自分で機会を作り出してプログラミングを継続し、エンジニアとして転職したり、趣味でプログラミングを継続したりして継続的にプログラミングスキルを伸ばすことができるのはプログラミング学習者の2割もいません。8割以上の人はプログラミングを継続できずにプログラミングから離れていってしまいます。(割合は周りの人を見ていての僕の主観です。)

ここで手を止めてしまうと、英語を6年以上学習したのに、外国人と英語で日常会話すらできない現象と同じことが繰り返されます。プログラミングちょっと勉強したけど、自分のつくりたいものを開発できるわけでもない。半年もすると「あれ、いつのまにか文法すら忘れてしまった...。」という悲劇が待っているのです。


そのようなプログラミング学習者の死の谷の段階にある方に向けて、「次に何しよう?」の一つのプログラミング題材として、僕が業務や普段の作業を効率化・自動化する時に重宝しているプログラムのチュートリアルコンテンツをNoteで配信していくことにしました!


現状だと、「実際に普段使えるプログラムを開発したい!」と思った時に、断片的な情報が載っている個人ブログの情報を読み漁るか、結構なお金を払ってプログラミングスクールに通うか、一定額払ってAidemyとかudemyのようなオンライン学習サービスで学ぶっていう方法があると思います。

個人ブログは、情報が分散していて一通りのプログラムを実装しきることが難しい。プログラミングスクールは高額だし、プログラミングコンテンツは、日々の自分の生活を楽にしてくれるようなプログラムがまだまだ少ないなあと思っています。


個人的な経験でしかありませんが、プログラミングの文法書を買って写経したりするだけではプログラミングの能力が上がりにくくて、自分の生活に役立つプログラムを自分の頭を使って手を動かして開発することで、プログラミングの学習効果が高くなった実感がありました。


受け身の学習20時間よりも、役に立つプログラムを2時間で開発する方が効果的?

下の学習定着率の図は有名ですが、自分の頭で考えて手を動かすほど学習効果は高くなるということが言われています。

f:id:virtual-surfer:20181007004259p:plain

自分の経験でしかありませんが、チュートリアルを参考にしてプログラムを実装してみて、それを応用して自分の普段の生活や仕事の一部を効率化するプログラムを開発していた時の方が、プログラミング言語の文法書を読んだりプログラミングスクールで教えてもらいながらプログラミングをするよりも、格段に学習効果が高まりました。

文系大学生の方や、普段非エンジニアとしてとして働いている社会人の方だと、プログラミングの文法や基礎を時間をかけてじっくり学習することは難しいし、モチベーションも持続しにくいと思います。それよりは、普段自分がやっている作業を効率化したり、自分の作りたいものを開発した方が学習効果も高いし、モチベーションも持続しやすい。

そんなことを思って、プログラミング学習者が日常業務を効率化するためのプログラム開発できるコンテンツをNoteで定期的に配信していくことにしました!


プログラミングチュートリアルコンテンツの第一弾

第一弾は、Twitterのデータを取得して、Spread Sheetにデータを蓄積していくという処理をHerokuで自動化するというプログラミングのチュートリアルを用意しました。

note.mu

僕がPythonを書きはじめた頃に実装したもので、Pythonの技術書やブログ記事を読み漁って3~4日かかって実装できた内容を、3~4時間程度でチュートリアルとして学べるコンテンツとして提供しています。

情報を漁ってプログラミングして、エラーをググって、またプログラミングして、APIの設定して、エラー出てググって....と、1年前の僕が少なく見積もっても24時間以上かかって実装したプログラムなので、その情報を読み漁る時間を削減できると思うと過去の自分に読ませてあげたい内容です( ´ v ` )ノ


これからもプログラミング学習者の方向けに定期的にNoteでチュートリアル配信していく予定なので、プログラミング学習中の方はNoteのフォローをしていただけると嬉しいです( ・v・)b


今後の予定の話

チュートリアルコンテンツは各記事の公開後1週間は無料で提供し、1週間経った後は980円か1980円の有料販売に切り替える予定なので、公開後1週間に読んでいただくと無料で情報受け取れるのでフォローしておいて公開情報をチェックしてくださるとお得かと思います!


Noteでチュートリアル記事とかを公開したことがある方はわかると思いますが、チュートリアルコンテンツをまとめるのってめちゃくちゃ大変だということが分かりました。

(今回、1つの記事を公開するまでに20時間前後かかったので、週末アルバイトとかした方が圧倒的に割はいいなと...。)


とはいえ、過去の自分のようなプログラミング学習者が効果的に学べるコンテンツが増える方が意味がありそうなので、できる限り良質なチュートリアルを提供し続けていきます。


では!