挫折率90%!?未経験者がプログラミング学習でつまづかないための5つのポイントを現役プログラマーが解説!

こんにちは、Webエンジニアの腐川(ふかわ)です。

未経験でプログラミングを始めた人や、初学者の皆さんはどのように学習を進めていますか?

あひるくん
プログラミング学習を始めたけど、挫折した・・・

あひるくん
とても難しくて、本当に習得できるか不安・・・

といった未経験ならではの悩みを持っている方も多いのではないでしょうか?

 

実際、プログラミング業界では「初心者の挫折率は90%」とも言われています。

「プログラミングを始めたい!」という人が年々増える中、プログラマーの人材不足が続いているのにはこのような現状あるからかもしれません。

ふかわ
実は、プログラミング学習には「初心者がつまずきやすい5つのポイント」があります。

現在プログラミング学習で行き詰っている人は、当てはまるものがないかチェックしてみてください。
「挫折する人がやっている間違った学習方法」を改善することが継続への近道になるはずです。

ふかわ
未経験からWebエンジニアになった私自身も、このポイントに気付いたことで挫折せず続けることができました!

では、どうすれば「学習を続けられるようになるのか?」陥りやすいポイントを詳しく解説していきましょう!

スポンサーリンク

全てを理解しなくてOK!今の自分に分かることから

まず一番に陥りやすいポイントが、「全部を分かろうとして挫折してしまう」です。

プログラミングを学び始めたばかりの頃は、とにかく知らない用語や技術に直面します。

 

  • PHPを動かすには?
  • 開発環境ってどうやって作る?
  • 関数の使い方は?
  • クラスって何するもの?

あひるくん
分からないことだらけで調べても理解できないことばかり・・・

ふかわ
最初のうちはとにかく知らないことがどんどん出てきて当たり前だから大丈夫!

これって一体何だろう?と思うことは大事ですが、いきなり全てを理解するのはとても時間がかかります。

 

つまづかないためのポイント
  • 思っているように動かせればOK
  • 仕組みを完璧に理解しなくてOK
  • 「これは何をしているのか」をふんわり分かっていればOK

まずはこんな感じで、自分に分かることから理解していくだけで構いません。

今の自分にはまだ理解できないレベルだったと知るだけでも成果は充分です。

ふかわ
後で、前は分からなかったことも、急に理解できる瞬間が必ず来るよ!

たくさんの関数も全部の書き方を覚えなくても、その都度調べれば大丈夫です。

もちろん、プログラミングのコードや関数の意味を一つ一つ理解せずに、丸々コピーして使って「思った挙動にならない!原因がわからない!」のはNG

あひるくん
なぜこの処理が必要なのか?プログラムのしていることを考えることが大事なんだね。

次は、プログラムのエラーを解決する能力に関するつまづきポイントを見てみましょう。

検索力 = 調べる力を強化して、解決力を身に付けよう

つまづきポイント2

書いたプログラムを実行してみると、

  • エラーが出て思ったように動かない!
  • 想定した結果にならない!

ということは頻繁に起こります。

 

そんなとき「なぜか動かない」状態で諦めてしまうのがプログラマーにとって一番のNG行動です。

うまくいかないのには必ず理由があり、それを伝えるエラーや結果が必ず返ってきているはずだからです。

 

例えば・・・
「複数の値の合計値」を表示するプログラムなのに、結果で「false(正しくない・存在しない 等の意味)」が表示されてしまう。

ふかわ
こういった現象も、重要なヒントになるよね。

それらのヒントを元にGoogle検索や書籍を駆使して解決方法を探し、プログラムを書き直して正しく動くかを検証する力がプログラマーには必要不可欠です。

そのために重要なのは、解決策を探すための「検索力 = 調べる力をつける」ということです。

 

つまづかないためのポイント!
  • エラー文やログ(処理の記録)が出ている場合はそれを検索&翻訳
  • 「PHP 関数名 アップロード 保存されない」等の目的や状況をキーワードに入れて検索する
  • 使用しているプログラミング言語の「公式ドキュメント」や「リファレンス」を読む

ということを意識してみましょう。

エラーやうまくいかない現象は、ほとんどの場合上記のように検索することで同じような例がヒットしてきます。

ヒットしたページが英語のサイトでも、投げ出さずに一度読んでみましょう!
(翻訳をかけたり、コードを読むと何となく理解できますし、英語に慣れてきます。)

 

最終的に分からなかったとしても、調べて考える癖を付けることがポイントです。

ふかわ
調べる能力が上がると、学習スピードや解決力も格段にUPするので意識してみよう!

次は、もっと根本的なモチベーションに関するポイントを解説します。

「勉強」ではなく「何かを作ったり実現する」目標を立てよう

基礎学習を終えた後「次に何をしたら良いか分からない」と手が止まった方も多いのではないでしょうか?

ふかわ
何系のプログラマーになって、どんなことをしたい?

あひるくん
うーん...とりあえずプログラマーになりたいんだ

ふかわ
作りたいもの・やりたいことによって、使う言語や仕事内容も違ってくるよ!

あひるくんのように「こういうものが作りたい!」というものがなく、漠然とプログラミングができるようになりたいと考えている場合、一気にモチベーションが下がってしまう傾向があります。

 

つまづきポイント
× どんな事がしたいかは決まっていないが、プログラマーになりたい
× 一日○時間必ず学習する
× Progateを○周する

このような目標でも構いませんが、もっと先のゴールを考えてみましょう。

プログラミングを学ぶことで、あなたには何かを作ったり、便利にする能力が身に付きます。
それを活かして、できること・やってみたいことや考えてみましょう!

 

プログラミングが「勉強」ではなく、作りたいものを作るための手段になると・・・

あひるくん
こんな機能を付けるには?
作ったサイトを公開するには?
同じものを自分でも作れないかな?

こんな風に次にやりたいことがたくさん出てくると思います。

せっかく始めたプログラミングなので、形にしてさらにレベルアップを目指しましょう!

ふかわ
何かを作りながら勉強してみたい人には下記の書籍がおすすめです!
¥1,848 (2019/12/11 09:31:28時点 Amazon調べ-詳細)

 

さらに"作る"に繋がるポイントについて、重要なことを次で解説します。

自分で処理の流れを考えてプログラムを書こう

つまづきポイント4

プログラミングの勉強を始めてから、自分で考えてコードを書いていますか?
プログラミングの技術はただ覚えるだけでは身に付きません。

関数の意味を覚えたりするよりも、実際に思った通りにプログラムを動かす技術力が必要です。

つまり、「わかる」ではなく「できる」という状態にしていくことがとても重要になります。

 

つまづきポイント
× 技術書を読むだけ
× 基礎レッスンの同じ問題を繰り返し解くだけ
× 1からプログラミングコードを書いて動かすことをしない
× エラーやバグなどの原因を探さず、ただコードを見比べるだけ

 

これではプログラミングを勉強している気になって満足してしまい、「実践的な技術」が身に付かず結果的に続かなくなってしまいます。

レッスンや技術書で学んだ後は、プログラムを実際に自分でも何も見ずに書いて動かしてみましょう。
実際に自分で処理の流れを考えてプログラムを組むと、より理解が深まります。

 

ふかわ
例えば、お問い合わせフォームを作りたい場合はプログラムの流れから考えてみよう
例:お問い合わせフォームを作成する場合
  1. お問い合わせ内容を送信するフォームを作る
  2. 入力された内容を送信する → 「値を送信するには?」
  3. 送信された内容を受け取る → 「送信した値を受け取るには?」
  4. 空白の入力欄が無いかチェックする → 「値が空かどうかの判定と、調べる関数は?」
  5. チェックに引っかかればエラーを表示する → 「入力フォームに戻ってエラーを出すには?」
  6. 問題無ければ問い合わせ内容をメールにして送る → 「メールを送るためには?」

このようにプログラムを組み立てると、実際にどんな関数を使えば良いか考えることができます。

処理の流れを考えた後は、学習したこととGoogleを使って調べながら「自分でプログラムを書いて」お問い合わせフォーム作ることができますね。

あひるくん
自分で一からプログラムの流れを考えることで、プログラミングで出来ることが具体的にイメージできそう!

 

PHPでプログラムを書く場合、MacならPHPをインストールせずにローカル環境(Macの中だけで)実行させることもできます!

もし、プログラムを動かす開発環境作りで詰まってしまった場合は、ブラウザで実行できるオンライン実行環境を使ってみるのもおすすめです。

オススメ!paiza | オンラインプログラミング実行環境

 

自分でプログラムを動かす楽しさを知って、「勉強するもの」という苦手意識を無くしていきましょう!

最後は、「自分以外の学習環境について」のつまづきポイントです。

質問できる人や場所を見つけて、効率的に学ぼう

独学の場合は特に「わからないことを教えてくれる人」がいないと孤独になりがちです。

あひるくん
分からないことがあっても、誰にも聞けない...

ふかわ
初心者が丸一日悩んでいたエラーも経験者に聞けばすぐ解決することもあるよね

もちろん、自分で解決しようとすることは良いことですが、学習の進みが遅くなってしまいます。

その点、スクールであればいつでも質問できる講師がいたり、学習をサポートしてくれる体制が整っています。
そのため、「初心者でも立ち止まらず学習を進められる」利点があります。

プログラミングスクールの詳しいメリットやスクールの選び方は下記で詳しく紹介しています!

 

もし、独学で詰まってしまった場合には下記のような手段もあります。

 

つまづかないためのポイント!
  • 勉強会やコミュニティに参加する
  • TwitterなどのSNSで発信する
  • MENTAなどのサービスを利用してメンターを探す
  • テラテイルなどを利用して質問してみる

 

独学だけでなく、プログラミングをしていると外部との接触が薄くなりがちです。
下記サービスでイベントや勉強会を調べて参加してみると新しい発見があるかもしれません。

 

また、MENTA単発や時間単位でも個別に相談できるので、特に独学の人におすすめです!
スクールよりも、より自分に合った学習について相談できると思います。

MENTAレビュー

 

MENTAなどで個別に質問したり、対面で教えてもらうのはまだハードルが高い・・・と感じる人は、テラテイルもおすすめです!
(エンジニア版知恵袋のようなサービス)

ふかわ
大体のことは誰かが答えてくれるので、私も初心者の頃はかなりお世話になりました・・・

また、人に聞く場合は「検索力」と同様、知りたいことを明確にした「質問力」が大切になってきます。

 

「問題解決に繋げられる」良い質問の仕方のポイント!
  • 何について聞きたいのかを伝える
  • 今どのような状態なのか現状を伝える
  • 解決のために自分が試したことを伝える
  • 最終的にどのような動きにしたいのかを伝える

「エラーで動きません」と投げるのではなく、プログラムの状況を整理して伝えることで、自分の理解も深まります。

あひるくん
質問するということも、成長に繋がる重要なポイントなんだね!

まとめ:学習方法を見直して、挫折せず学ぼう!

いかがでしたでしょうか?
当てはまるポイントがあるなら、プログラミング学習を挫折するにはまだ早いです!

 

挫折しないための学習ポイント
  1. 全てを理解しようとしない!わかるところから
  2. 検索力 = 調べる力と、解決力を身に着ける
  3. 「勉強」ではなく「何かを作ったり実現する」目標を立てる
  4. プログラムの流れを自分で考えてコードを書く
  5. 質問できる人や場所を見つけて、効率的に学ぶ

 

プログラミング学習が思うようにいかず悩んでいる方は、この5つのポイント抑えて学習を進めてみましょう!

未経験者がつまづきがちな勉強方法を変えるだけで、必ず挫折せずに学習を続けていくことができるはずです。

あひるくん
独学中の僕には、当てはまるポイントがいっぱいあったよ...

ふかわ
それだけ、独学には挫折しやすいポイントが潜んでいるってことだね。

より早く、確実に「現場で必要とされるプログラマー」になりたい場合はプログラミングスクールもおすすめです。

「必ず成長できるプログラミングスクール」を厳選して紹介していますので、ぜひ合わせてご覧ください。

 

自分にあった学習スタイルを見つけて、プログラマーを目指しましょう!

以上、Webエンジニアの腐川(ふかわ)でした。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事