プログラミング初心者ですが、学習で挫折しないようにしたいです♪
ポイント教えてください♪
そこで今回は、webデザイナー歴10年であり講師の筆者が、プログラミング初心者の方を見ていて、よく挫折してしまうポイントを解説します♪
この記事を読むことによって、事前に挫折してしまうポイントを是非参考に知っておいてくださいね♪
※なお今回は、web系のプログラミングについての解説になります♪組み込み系、ゲーム系のプログラミングについては筆者は専門外なのでご了承ください♪
プログラミング初心者が挫折しやすい5つのポイント
プログラミング初心者が挫折してしまうポイントを経験から解説します♪
初心者の挫折ポイント①用語がわからない
<!DOCTYPE html>
<html lang="ja">
<head></head>
<body>
<h1 id = "idName">クリック前</h1>
<button id = "btn">クリック</button>
<script>
var btn = document.getElementById('btn');
btn.addEventListener('click', function() {
var mydiv = document.getElementById("idName");
mydiv.innerHTML = "クリック後";
}, false);
</script>
</body>
</html>
※正確には記述していません♪
こちらは、javascriptを使ったサンプル文♪クリックイベント処理したものになります♪しかし、上から順番に何故このように書くのか、単語にはどういう意味があるのかを知らないと、初心者の方は何がどうなっているのか分からないでしょう♪
- 語順
- 英単語の意味
- 記述のルール
を把握する必要があります♪
また、web独特の用語があったりします♪
プロトコル | データベース | HTTP | API |
GitHub | Linux | リクエスト | レスポンス |
ライブラリ | フレームワーク | アジャイル開発 | SRE |
初心者の挫折ポイント②範囲が広い
また、html/cssが出来るだけでは、エンジニアになりにくくなっています♪
ポジション | プログラミング言語や技術 |
---|---|
フロントエンドエンジニア | javascript、jquery、node,js、vue.js、AngularJS、react |
バックエンドエンジニア | RubyもしくはPHP、Python、Java、Docker♪(javascriptも少しできると良い) |
インフラエンジニア | LinuxやApache、MySQL、PHP、Docker、AWSやFirebase、Azure |
アプリエンジニア | Java、Swift、Kotlin、React Native |
などの総合的な知識が必要になってきます♪
初心者の挫折ポイント③物がないのでイメージしにくい
プログラミングとは言葉のイメージの通り、コンピューターに指示を出すファイルを作ることが仕事になります♪プログラミングは英字だけの世界です♪
例えば、工作で何かを作るときは、目の前で物を見ながら作業ができます♪何処と何処を組み合わせれば上手くいくか見ながら作業できるので理解しやすいと思いますが、プログラミングは目の前に物が見えることはありません♪
なので、どことどこを繋げれば上手くいくのか頭の中で上手く想像しながら作る必要があります♪
初心者の挫折ポイント④エラーの原因が多くてわからない
エラーを直す事は、絡まってしまった毛糸を解くようなイメージです♪
先ほど、
- 語順
- 英単語の意味
- 記述のルール
が正しくないと動かないと言いました♪さらに言い出すとキリがないですが、プログラミング言語自体も日々開発され続けバージョンもアップしています♪
プログラミング言語はバージョンがあり、ちょっとしたバージョン違いで動いたり動かなかったりすることもあります♪このようにそもそもの前提が絡まっている事もあります♪
例に挙げたような複数の原因を一つずつ切り分けて、一つずつ検証して行きます♪1つが原因のこともありますし、2つ、3つが絡まっているような原因かもしれません♪それを解きほぐすような事が必要です♪
初心者の挫折ポイント⑤学校の勉強方法と違う
プログラミングの学習はスポーツの練習に似ています♪何回も試行錯誤することが大事です♪エラーを出しながら、エラーが出た理由は何か?どうすればエラー原因を特定できるのかを考えるスタイルの学習していきます♪
どんどんエラーを出して、エラーの原因を細かく切り分けれることが大事になっていきます♪
プログラミング挫折率のアンケート
各プログラミングスクールが出している挫折についてのアンケートによると、挫折率は8割もあるとの事♪
挫折した事がある人 | 挫折の原因 | |
---|---|---|
侍エンジニア塾 | 約9割 | 気軽に聞ける環境になかった(40.8%) エラーが解決できなかった(36.3%) |
IOSアカデミア | 約8割 | わからないことが多すぎる(31%) エラーの解決に時間がかかる(25%) 今の学習方法が正しいのか不安になる(15%) |
デイトラ | 約8割 | エラーを解決できなかった時(46.2%) 分からないことを質問できない時(34.8%) モチベーションの維持が難しい時(31.2%) |
参考:https://prtimes.jp/main/html/rd/p/000000003.000047683.html
参考:https://prtimes.jp/main/html/rd/p/000000005.000052865.html
参考:https://prtimes.jp/main/html/rd/p/000000011.000050927.html
プログラミング学習に挫折している人たちの声
プログラミング学習に挫折している人たちの声を紹介します♪
挫折①大学受験のように暗記しようとしていた
恥ずかしい話?ですが、僕は一度プログラミングを挫折しましたw
— ゆうだい@Happiness Chain (@yudai_on_rails) May 14, 2021
挫折した原因
– 大学受験のように暗記しようとしていた
– 技術書や動画を隅から隅まで、完璧に理解しようとしていた
– Progateを何周もしていた
– ググりながらアプリを作ることをしなかった#駆け出しエンジニアと繋がりたい
この方の原因はとても参考になると思います♪
挫折②熱中できることを
参考:https://twitter.com/1276tsuzuki/status/1492431291672928256
この方は、「27年生きてきて思うことは、自分が好きじゃないことに関しては、全然続かないこと♪ 今まで、英語や簿記、プログラミングに挑戦しましたが、数週間で挫折しました♪
長期的に何かを続けたいなら、熱中できることに取り組むべきだと思う♪」とのこと♪
何事も熱量は大切ですね♪
挫折③「きちんとやりきる」に集中できなかった
参考:https://twitter.com/aotech6/status/1392426079344685065
この方は、「昔、プログラミング勉強したときに、何度も挫折しました progateの980円すらケチってひたすら独学♪ わけもわからず、HTMLとCSSが違うことすらわかってませんでした♪
情報の荒波にのまれると本当に時間を無駄にします 「何をやるか」は先人の知恵を借りて 「きちんとやりきる」に集中しましょう」との事♪
挫折④続けるほど時間とお金の投資になり、結果になる♪
参考:https://twitter.com/garyo0719/status/1397113824021336065
この方は、「何かを始めると決心した時に、続ければ続けるほどそれが時間とお金の投資になり、結果になる♪ただ、途中で諦めた瞬間に時間もお金も浪費に変わってしまうのが世の常♪
どうせやるなら結果が出るまで一緒に続けよ!!ちなみに僕はプログラミング挫折しました♪笑」との事♪
確かにやりきるって大事ですよね♪
プログラミング学習に挫折しないための対処方法
プログラミング学習に挫折しないための対処方法を、
の6つにまとめて解説します♪
対処方法①いきなり動くものを作り出す
よく本で学習しようとすると、冒頭でif文や四則演算など文法ルールが出てきます♪しかし最初は、細かい文法などをするより、いきなりhtml/cssでサイトを作ったり、Swiftでアプリを作ってみるのが良いでしょう♪
とりあえず一度サッカーで言うところのいきなり試合をしてみるイメージです♪そこでプログラミングが面白ければ、飛ばしていた文法をじっくりやると良いでしょう♪
対処方法②全体像を知る
そもそもプログラミングとは何をしているのか、イメージをつけると良いです♪web系に限れば、乱暴な言い方をするとやりとりの全ては「データ通信」です♪
ブラウザにデータを表示する♪データの表示をカッコよくデザインする♪データを大量に捌く♪ユーザーからデータの書き換えを求められたら、書き換えてあげる♪など♪
データの通信のやりとりを制御するのが、web系のやっている仕事になります♪訳が分からなくなったら、データのやり取りをプログラムしてるんだと思ってもらえると自分が何をしているかイメージしやすくなるでしょう♪
対処方法③慣らす
プログラミングの習得はスポーツの習得に似ていると言いました♪なので、ゆっくり慣れる事がオススメです♪なるべく長期少なくとも半年ぐらいは見ておくと良いです♪
教え子を見ていても1日10時間やって1ヶ月で短期で習得しようとするより、1時間を小分けで半年やったほうが、しっかり習得できると思います♪
対処方法④エラーを分割して検証する癖をつける
プログラミングを習得する上で、プログラミングは作る事がメインだと思われていますが、エラーを解決するのが、腕の見せ所だと思った方が良いでしょう♪エラーは当たり前のことで恥ずかしくありません♪日常茶飯事だと思っても良いです♪どちらかと言うとエラーをうまく解決できる人を目指しましょう♪
エラーを解決する場合
- 記述の順番
- 単語の記述ミス
- 関数の使い方が間違っている
- プログラミング言語のバージョン
などが考えられます♪自分はどのケースなのか細かく切り分ける事が大切です♪記述の順番が違うのか>単語の記述ミスなのか>関数の使い方が間違っているのか、など場合によっては原因を複数で考えたり、場合によっては1つの原因細かく検証する事が大切です♪
対処方法⑤補助プラグインを活用する
プログラムをコーディングする際にエディタには、便利な補助プラグインがたくさんあります♪自動で関数を補完してくれるものや記述ミスを指摘してくれるものなどがありますので、うまく活用しましょう♪
VSCodeのプラグイン例
zenkaku | 不要な全角を表示 |
Trailing Spaces | 不要なスペースを表示 |
Auto Rename Tag | 閉じタグも合わせて変更 |
Path Autocomplete | ファイルパスを自動補完 |
Code Spell Checker | スペルミスをチェック |
HTML CSS Support | 設定しておいたclassやidの候補を出してくれる |
CSSTree validator | cssの記述ミスなどの問題を指摘してくれる |
またプログラミングする際には、ブラウザはchormeを使うと良いでしょう♪chormeを使う事で、検証パネルを出して問題を教えてくれる事があります♪
対処方法⑥動画をなぞる
とにかくプログラミングは、最初イメージが湧きづらいです♪何故なら見えるのは文字だけで、頭の中で組み上げていく必要があるからです♪最初は慣れるまで、ひたすら教材をなぞった方がいいです♪
特に最近ではyoutube動画にて、なぞるだけでサイトが完成する動画もあります♪なぞるだけで完成するものをうまく活用しましょう♪例え簡単な物でも、自分が作ったものがブラウザに表示されるだけで感動しますよ♪
補足:継続について
この記事は、講師目線で解説していますが、「どうやったら継続できるか?」みたいな所は、自分でも試行錯誤中です♪体験を分析してみたので良ければ、[体験談あり]毎日継続のコツや要因を自己分析してみました♪習慣化できる人とはを参考にしてみて下さいね♪
Macの初期設定
パソコンで長時間作業していくと思いますが、
- 目に優しい
- 外でも音が出ない
設定にしておきましょう♪[Mac]おすすめの初期設定♪クリエイターが買ったらすぐ行う設定を共有します♪また、パソコンにはアプリケーションを減らしてインストールしておくと良いです♪[Mac]おすすめのアプリケーション♪webデザイナーがDLする神アプリを紹介で解説しています♪
まとめ:プログラミングで挫折しないために
いかがだったでしょうか?
とにかく挫折しないためには、
ことが必要です♪問題を小さく分割して原因を探り検証する思考は、実際にエンジニアになってから働くことになっても役に立つでしょう♪
何かわからないことや疑問がありましたら、是非コメントにてお知らせくださいね♪
twitterでもお気軽に問い合わせくださいね♪
それでは♪
コメント