カテゴリー
社会

プログラミングの独学が失敗する「7つの理由」と「3つの改善策」

プログラミング独学の危険性

新しいことを学ぼうとするとき、時間的な理由や金銭的な理由で「独学」を選択することがあります。

それ自体は努力の決意であり素晴らしいことなのですが、プログラミングだけは「別」と考えておくのが良いでしょう。

プログラミングは専門的な学問であり、オムライスを作るのにクックパッド見たら出来た!というレベルのものではないんですね。趣味レベルの料理ならば分量を多少間違えても形になりますが、プログラミングでは一切それはありません。スペル1文字ミスっても崩壊です。

ということで、今回はなぜプログラミングの独学は危険なのかを「7つの理由」に分けて解説していきます。後半では独学を成功させるための「3つの改善策」も紹介。

ではまず、独学が失敗する1つ目の理由から見ていきましょう。

①勉強方法の正誤が判断できない

不安そうに勉強するプログラミング初級者

プログラミングは無数の要素が絡み合った条件下で、始めて正しく作動します。

初心者の頃は特にその「無数の要素」が何なのか検討がつきません。

今やっている勉強が正しいのか間違っているのか、そもそも独学で学んだ方法が新しいのか古いのか、その判断ができないのです。学習するプログラミング言語の選定ひとつとっても、WEB上の情報だけで決めてしまいかねません。

プログラミングは勉強方法を間違えるとその先に学ぶことの全てにズレが出てくるシロモノ。間違った理解や勉強法で3ヶ月、半年、1年間を無駄にする可能性しかありません。

②基礎がおろそかになる

暗いリビングに放置されたノートパソコン

どんな学問やスポーツでも、基礎練習はつまらないもの。

しかし教えてくれる人がいれば、やるべきことをやってから次に進むので無駄がなく、もし不安が出てきても質問すれば今勉強していることの意味を確認できます。誰かに習っていれば、自分勝手に先に進めないので抑制にもなりますよね。

しかし独学だと、自分の気分で先に進みます。というか、何が足りてないかを誰にも確認できないので、前に進むしか選択肢はありません。この繰り返しが「基礎がおろそかになってしまう」状態。基礎を重視したくても「どこまでの何が基礎なのか」も判断できない。同時に、いくつもの人気のプログラミング言語に目移りしては中途半端に手を出してしまう。

どんな学問やスポーツでも、基礎ができていない人の末路は…三流四流止まり、最悪の場合「自分には向いてない」と辞めてしまうことにも。

③参考書で行き詰まる

本棚に並ぶプログラミングの参考書

独学と言えば「参考書の購入」はひとつの定番。

しかし、参考書自体も大した味方にならないのが困りどころ。書籍と同じようにやってみても、自分のパソコンでは反映されないなんてことはよくあることなんです。

本に書かれていることを単にやっているだけなのに、出来ない。ここで詰んでしまうんですね。

プログラミング言語というのは、初段のマークアップ&スタイルシート言語も含めすべて「英語」。コードの記述を見ても日本人にとっては言葉の意味の見当がつかないことも多く、参考書を読んでいるだけでも疲れてきます。

④検索で行き詰まる

Google検索するプログラミング駆け出しエンジニア

参考書等でわからないことに直面した場合は「ググる(Google検索)」わけですが、自分のパソコンと全く同じ環境でのエラーをブログにしてくれている人を見つけ出すのは、これまた困難…。

これは基礎段階でももちろんですが、応用段階となればなおさらとなってきます。

エンジニア向け情報サイトの「Qiita」や「Zenn」でも、自分と全く同じ環境やエラーの人を探すには困難だったり、億劫だったりも。

⑤無料にこだわりすぎ

積み上げられた硬貨

独学する際にわりと多いのが「お金はかけない」と決めがちなこと。資金に限りがあるのは誰しもが抱える悩みとも言えますが、無料に固執すると、質の高い情報にはたどりつけません。

統計を取ることはできませんが、いま世界で「すべて無料で学び切ってプログラミングをマスターした人」というのはどれだけいるのでしょうか。それよりも、その手法で挫折した人のほうが圧倒的に多いのではと推察します。

「無料に固執=多大な時間を浪費する」なので、学ぶことに先行投資する覚悟はしてしまったほうが良いです。

「独学=無料」という既成概念は捨て「自分に投資する」「WEB制作出来るようになれば、3サイトつくればざっくり30万以上は稼げるはずだから、学習費用は必ず回収できる」という考えを持っておくのは大切なこと。

⑥実務ベースで考えられない

プログラミングで心が折れて落ち込んでいる男性

独学は、プログラミングで仕事をしたことがない状態での勉強なので「この勉強は仕事のどこに活きるのか?どれくらい大事か?」あるいは「ここはそんなに大切なことではないな」などの判断ができません。

プログラミングを教えてくれる人がいれば「これは仕事でよくミスっちゃうところだから注意ね!」というアドバイスがあり、胸に刻むことができますよね。

ところが独学で参考書を見ていても、ブログを読んでも、どこが実務ベースで重要かはわからず静かに読み過ごしてしまうはずです。これも独学のもったいないところ。

⑦コード理論がわからない

プログラミングのコード

コードを写経(書き写すこと)するのは、プログラミング学習において大切だと言われることです。

ただしそれは、そのコードの本質が理解できているか、ある程度の見当がついていればの話。ただ機械的に写していたり、ましてや頻繁にコピペなどしてようものなら、何も身についてないのと同じ。

どんなに短いコードでも、その記述にはロジックがあります。どんな理由でその記述なのかをつかむことが大事なのですが、独学ではコードごとにそれを解き明かすのは無理となってきます。

プログラミング独学で失敗しない「3つの改善策」

独学の危険性を7つ見てきましたが、それらを「改善」できる方法をご紹介します。

プログラミング独学「3つの改善策」を見ていきましょう。

①「半独学」に切り替えよう

オンラインでプログラミングを学ぶ人

「独学=お金をかけない」は時間という貴重な資産を浪費することはご説明しました。

「独学=独りでやりきる」でなく、若干のお金をかけ、利用できるものはしてしまいましょう。

時間の浪費を避けるのと、間違った方向で独学し続けないなめの方向づけや軌道修正も含めスクールを一時的に活用するイメージです。

当サイト「キソプロ」はプログラミング学習の最初の挫折ポイントである初期学習の段階に特化したサービス。「オンラインでマンツーマン授業」というのが特長です。

方向を間違うと詰んでしまう基礎段階のプログラミング学習は「キソプロ」を頼って足場を固める。以降は自分で独学できる範囲は広がるのでやってみる。さらに難しい応用段階ではまた何かサービスを一時的に活用する。

一気に多額のお金を使うのではなく「半独学」「ほぼ独学」「たまに学校」というスタンスです。

②「人」に頼ろう

ベテランに付き添ってもらってプログラミングを習う人

勉強会に参加したり、プログラミング系のイベントに顔を出したりして知り合いを増やす。知人や友人でプログラミングをやっている人がいれば素直に教えを請う。

面倒ではありますが、人に聞くというのは究極のショートカットです。独学=意地でも独りでやりきる、なんてルールはないのですから、外に目を向けてみましょう。

〜人に頼る際の要注意〜

ただし、なんでも無料で欲しがるテイカー(Taker)にならないようには細心の注意のが必要。教えてもらった際は、後回しを絶対せず自分からも何かを与えるギバー(Giver)にも同時にならないといけません。それは相手方へのtwitterのリツイートやフォローかもしれませんし、相手方のブログ記事の拡散、あるいはご飯をおごることかもしれません。相手がされたら喜ぶことをしましょう。「してもらったこと以上のことで返す」は鉄則です。

人に頼ることで「あいつウザい」「教えてもらうだけ教えてもらって去っていくんだよな」と思われては本末転倒なので、そこだけはご注意を。

③「基礎学習」を反復しよう

繰り返しのイメージ

どうしても先に進みたくなるプログラミング学習ですが、基礎段階の学習の反復もおすすめです。

単に繰り返すのでなく「参考書も見ず、ググりもせずにどこまで出来るか」「超簡単なWEBサイトを1ページ作れるか」など、基礎の範囲内で実現できることに、基礎の範囲内でレベルを上げていきます。

つまり「実践」を自分なりに取り入れるんですね。

もちろん、基礎学習の反復時の際も本項目で紹介した独学のコツ「半独学にする」「人に聞いたり」と、環境を変えて独学にも彩りを添えていきましょう。単身の独学では入ってこない情報やテクニックの収穫は必ずあるものです。

反復と言っても、単に同じことの繰り返しはつまらないですから、自分なりに「2周目の基礎学習はこうしよう」「3周目の基礎学習はこうしよう」という企画を立てて取り組みましょう。

おまけ:息抜きに「あの映画」もアリ

独学で行き詰まりそうなときには、ちょっとした小技として、モチベーションが上がるプログラミング系の映画を観る、なんてのもオススメ。煮詰まってしまいそうなときは、まずはリラックスし、他のことをして落ち着くと、結果的に生産性が上がることにも繋がります。

徹底した基礎理解がプログラミングの成長へ

快適にオンラインで学ぶプログラミング初心者

当サイト「キソプロ」は、プログラミングの基礎学習を専門に行うサービス。

「オンライン」の「マンツーマン」で授業を行うことが特長です。

独学から半独学に切り替えてピンポイントで活用したい方、初心者なので基礎段階だけをまずは納得いくまで固めたい方、まずはちょっとプログラミングを試す意味でもしっかり根本を学習したい方。

すべての初心者、異業種からの挑戦やIT苦手な方が挫折しないためのサービスです。

いつでもお気軽にご相談ください