結局、プログラミングの独学は無理なの?【結論:想像よりは大変だけど可能|独自のおすすめ学習方法も】
プログラミングの学習で迷うのは「本や動画を買って独学で学習するか」or「メンターがいるスクールに通うか」だと思います。私もそうでした。
タイトルにも書きましたが、プログラミングは独学で習得できます。しかし、想像よりは大変です。
皆さんは、プログラミング初心者が挫折するポイントはどこだと思いますか?
例えば、数学なら「サインコサイン」とか「確率」とかありますよね?
プログラミングだとどういう箇所があるのでしょうか?
答えは「特定の挫折ポイントはない」です。
つまり、千差万別なのです。
千差万別のわからない箇所を誰にも頼らず自力で解決するか人に聞くかの違いが、究極に言うとスクールと独学の違いなのです。
この記事ではプログラミング初心者向けに、独学とスクールの違いと私のおすすめの学習方法を書いています。
独学とスクールの違いは?
独学とプログラミングスクールの違いとは何でしょうか?
学習する項目がプログラミングだからといって何も特別なことはありません。
学校の授業と同じように、教科書(技術書)だけで勉強するか、授業や塾(スクール)を受けるかの違いです。
教科書には必要なことが書いてくれていますが、読んでいてわからない箇所もあります。授業なら、先生や塾の講師がわかりやすく説明してくれます。つまづきやすいポイントも教えてくれます。
独学なら、教科書代だけ安上がりです。スクールなら、授業料がかかります。
わからないことを質問できる環境にいくら払えるか?
ありがたいことに、プログラミングを独学で学ぶための動画サイトや良書はあります。そのクオリティは相当高いです。また、自分からプログラミングを学習しようと思っているのですから、あなた自身の学習のモチベーションもお持ちです。学習し習得する条件はスクールに行かなくても揃っています。
ですから、語弊を恐れずに言うと
スクールの本質的な価値とは、わからないことを質問できる環境
だと思います。(これはテック企業への就職をサポートするようなスクールは省きます。もっと根源的なものです。)
プログラミングの世界では、この「わからないことを質問できる環境」の価値がもの凄く高価です。
ですから、このいつでも質問できる環境にいくらまで払えるか?その価値があるかを判断基準することをおすすめします。
なぜ、わからないことを質問できる環境が価値が高いのか?
プログラミングは、プログラミングに詳しい人が周りにいないと未知の世界です。誰にも質問できない環境ですから、何から学習すれば良いのかもわかりません。
つまり、多くのプログラミング初心者は、自分が何をすれば良いかすらわからない状況からスタートします。
そしてこの「わからないことがわからない」状態から脱出するのが一番難しいのです。
「わからないことがわからない」状態だと、エラーが出たり問題が発生すると一歩も前に進めなくなります。なぜなら、解決策の糸口すら掴めないからです。何日も解決しないことも当たり前です。
一方、プログラミング経験者ならその脱出方法を知っているのですぐに教えてくれます。「数日分の時間のロスやモチベーションの低下を防げる」これがわからないことをいつでも質問できる環境の価値です。
どうでしょうか。人によっては数万〜数十万の価値はありますよね。
逆に言うと、スクールに通ったからと言って必ずプログラミングができるようになるとは限らないことも付け加えておきます。
この点を踏まえて、自分で紆余曲折しながら独学をするか、高額だけどいつでも質問できるスクールに通うかの判断をされると良いと思います。
私のおすすめ:独学+ツイッターとブログで発信をする
さて、ここまでは普通の話です。
実は、私がおすすめしたい方法は別にあります。
先ほど述べたように、プログラミングスクールの価値はプログラミングがわかる人にいつでも聞けることや、プログラミング知識がある人と接点が持てることにあります。
要するに、他の方法でプログラミングがわかる人と繋がれて彼らが触れている情報にアクセスできるようになれば良いのです。
そしてその方法が一つあります。
それは、「独学で勉強して、どんどんブログとツイッターで発信しエンジニアをフォローする」という方法です。
ツイッターのエコシステムを活用する
プログラミングをやっている人とたくさん出会えるのがツイッターです。
これはおそらく想像できないと思いますが、ツイッターはエンジニアだらけです笑
彼らは遊んでいるだろう部分もありますが、他のエンジニアの発信する最新情報をキャッチするためにかなりツイッターを活用しているのです。
つまり、彼らにリーチできれば、正しく優良な情報にアクセスできるようになるのです。
この情報にリーチするには、自身の情報発信が欠かせません。だから自分のブログを使います。
なぜ自分のブログで発信するべきかと言うと、よくプログラミングが分かっていないうちに「Qiita」などのメディアで発信すると、他のユーザーが怒ったり否定的な意見や厳しい声が寄せられることがあるからです。これは凹みます。
エンジニアと言っても千差万別なので、優しい人もいれば叱責する人もいるのです。
これはもう自分ではコントロールできません。他人なので。
けど、自分のブログなら自分のものなのだから文句を言う人はいませんよね。
自分で学習過程を発信しているなら、怪しい営利目的のアカウントと思われずに済みます。
独学→発信→エンジニアとの交流
ツイッターとブログで自分の学習過程を発信し、エンジニアと繋がれれば、スクールで高いお金を払わなくてもプログラミングの勘所が掴めるようになります。環境が人を作ります。
さらに、情報を発信すると応援してくれる人も現れるので勉強の励みにもなります。たまに助けてくれる人もいます。仲間もできるかもしれません。
つまり、お金をかけずに独学とスクールの効果が獲得できるようになるのです。いや、それ以上の価値をもたらしてくれるはずです。
独学で勉強し、ブログとツイッターで発信しエンジニアと交流する。ぜひやってみてください。
実際に独学で何を勉強すれば良いの?と言う人はこちらを読んでください。
自分が発信するブログに関して全く知識ないなら「はてなブログ」でも良いでしょう。
他にも自分でブログを運営した方が良い理由と、オススメのブログに関してはこちらの記事に詳しく書いています。