本記事では、「プログラミングの勉強を始めてみたけど苦手かもしれない」というプログラミング初心者に向けて以下の3点について詳しく解説していきます。
- プログラミングが苦手と感じるのは向いていないせいか?
- あなたはプログラミングの勉強を辞めるべきか?続けるべきか
- プログラミングの苦手の克服方法
僕自身、今でこそ割とすらすらとプログラミングできるようになりましたが、初めてプログラミングに触れたのは大学の授業で、かなり苦手意識を覚えていた記憶があります。
最後まで読んでいただくと、プログラミングの勉強を続けるのか・辞めるのか意思決定をする指針や、苦手の克服方法が分かっていただけると思います。
プログラミングが苦手と感じるのは向いていないから?
プログラミングを勉強し始めた人の中で「苦手」だと感じる人は少なくないと思います。
しかし、苦手と感じているからと言って、一概にプログラミングに不向きである・適性がないとは言い切れません。
【注意】はじめからプログラミングができる人はいない
まず、重要な事としてはじめからプログラミングができる人は誰一人としていません。
プログラミングに慣れていない初心者・未経験者が学び始めの段階ではうまくコードが書けなかったり、難しい、さらには「苦手かも、才能ないかも」と感じて当たり前なのです。
なので、今初心者のあなたがプログラミングに苦手意識を抱いているのは「向き・不向き」以前にプログラミングに慣れていないことが原因であることが多いです。
スポーツとかと同じだよね!未経験のスポーツははじめはうまくプレイできないけど、失敗しながらも、挫折しそうになりながらも継続して練習して初めて上達するよね!
とは言え、プログラミングにも向き・不向き(適性)がある
とは言え、プログラミングにも実際に向き・不向き(適性)は存在します。
例えば、学校の数学や英語・国語などの教科にも人によって得意・不得意があったのと同じです。
なので、自分がプログラミングに適性があるかは早めに把握した方がよいです。
プログラミングに不向きで勉強を辞めた方がよい人の例は、次の章で詳しく紹介しますが、例えば「コードをかくのが辛い・しんどい」と感じてしまう人は適性がない可能性が高いです。
「プログラミングは誰でもできる」の罠
プログラミング?特別なセンスはいらないし、誰でもできるようになるよ!
こういう風に「プログラミングは誰でもできる」という主張はネットなどでよく見かけますが、カラクリがあります。
またまた、スポーツに置き換えて考えますが、「サッカーは誰でもできるようになる」という主張について考えましょう。
サッカーに不向きな人、つまり運動神経があまり良くないような人でも、他人より時間をかければ、普通レベルにサッカーはできるようになるでしょう。
なので、「サッカーは誰でもできる」という主張は間違ってはいないのですが、こういう明らかにサッカーに向いていない人にわざわざサッカーを薦めようと思いますか?
プログラミングもこれと同じで、不向きな人でも莫大な時間をかければ「誰でもプログラミングはできるようになる」のは間違いないです。
そして、なぜ多くのサイトや記事で「プログラミングは誰でもできるようになる」という主張を多く見るか考えたことはありますか?
それは、より多くの人をプログラミングスクールに誘導してアフィリエイト収入を得たいからです。
でも、このサイトでもプログラミングスクール紹介してるし、結局は「お金稼ぎ」のために読者を無理やりプログラミングスクールに誘導するのが目的ではないですか?
僕のサイトでもアフィリエイトによる報酬を少しはもらっています。
しかし、プログラミングにそもそも向いていないような人をプログラミングスクールに無理やり誘導してまでお金を稼ぎたいとは思ってないですし、思っていたらこのような「カラクリ」をわざわざ明かしません笑
とはいえ、プログラミングに不向きではない人にとって、プログラミングスクールは挫折せず勉強を進められるかなり魅力的なツールですので、記事内で紹介することが必然的に多くなっています。
プログラミング、苦手そうだから勉強をやめるべき?
この章では、あなたがプログラミングの勉強をやめるべきか、それとも続けるべきかの指針となる項目について解説していきます。
辞めるべきなのか、続けるべきなのかよく考えて見極めていきましょう。
勉強をやめた方がよいプログラミングに不向きな人の特徴
まず、プログラミング苦手だなぁと感じている人の中であきらめた方がよい、勉強を辞めた方がよい人の特徴は主に以下の5つです。
- コードを書くのが辛い・しんどいと感じる人
- 継続ができない人
- 地道な作業が苦手な人
- ITが嫌いな人
- 自分の頭で考えるのが嫌いな人
これらのいずれかに該当する人はプログラミングに向いていない可能性が高いです。習得はあきらめた方がよいかもしれません。
コードを書くのが辛い・しんどいと感じる人
初心者とは言え、テキストや動画などの教材をみながら何度かコードを書いたりしたことがあると思いますが、コードを書いてみてどう感じましたか?
もし、コードを書くのが辛い・しんどいと感じるなら、かなり致命的で、圧倒的にプログラミングに向いていないです。
逆に、楽しいとまで感じなくても、「辛い」だったり「しんどい」のようなネガティブな感情を抱かなかった場合は最低限の適性はあると思ってもよいでしょう。
継続ができない人
プログラミングを習得するには、コツコツと勉強する必要があります。
スポーツと同じく、1回練習したくらいでは簡単に上達することはありません。
プログラミングも、日々の積み重ねによって、段々とできるようになっていくものなので、プログラミングを継続できない人はプログラミングの習得に向いていないです。
地道な作業が苦手な人
プログラミングを駆使して作られたアプリだったりゲームは派手で目を引くものがおおいかもしれません。
このような一見はなやかに見える完成物も、「コードをちまちま書いて、エラーやバグがあれば逐一修正して…」という風に地道な作業の積み重ねでできています。
地道な作業や練習が必要とされないものは世の中にあまり存在しないかもしれませんが、地道な作業が苦手な人はプログラミングには向いていないでしょう。
ITが嫌いな人
「IT業界で働いたら儲かりそうだから」とか「IT知っていたらなんとなく有利そうだから」のような目的で、ITがどちらかというと嫌いなのに勉強しようとする方も中にはいます。
プログラミングに限らずですが、そもそも嫌いなものに関する知識とか情報ってなかなか覚えたり習得するのが難しいので、向いていない可能性が高いです。
自分の頭で考えるのが嫌いな人
xxxxのような機能を作るにはどうしたら良いかな?
このバグやエラーの原因って何なんだろう?
プログラミングをしていると、このように自分の頭を使ってコードを書いたり、バグやエラーを修正しないといけません。
もちろん、ネットだったり本にヒントがあり、これを参考に自分の頭で考えていくのですが、自分の頭で考えるのが嫌いな人はプログラミングは辞めておいた方がよいでしょう。
苦手と感じてもプログラミングを続けた方がよい人の特徴
逆に、特に以下の3つに該当するような人は、プログラミングに苦手意識を感じていたとしても勉強を続けた方がよいといえます。
- プログラミングを始めてからあまり時間がたっていない人
- エラーやバグの解決が難しい人
- 数学ができないと感じている人
具体的にみていきましょう。
プログラミングを始めてまだあまり時間がたっていない人
プログラミングをはじめて時間がまだ経っていない人は真にプログラミングが苦手だと言い切れません。
むしろ、初めからプログラミングができる人などおらず、触れたことがないものに対して「難しい」だったり「苦手かも」と感じるの方が普通だからです。
なので、「苦手で適性がないかも」と感じたとしても、最低でも3~4ヶ月ほどは勉強を継続して、本当に自分にプログラミングが向いていないか見極めるべきです。
エラーやバグが解決できない人
エラーやバグの解決方法がわからず、つまずくことも少なくないと思います。
エラーやバグはその基本的な解決方法や原因を突き止める方法を知り、慣れれば難しくはありません。
どうしても自力で解決できない場合は現役プログラマーに聞いたり、質問サイトに質問を投稿してみるのも1つの手です。
数学ができない人
プログラミングには「変数」や「関数」のように数学っぽい言葉が出てくることがあるので、習得には数学が必要だと勘違いしている方もいるようです。
基礎的なプログラミングの習得に基本的に数学はほとんど必要ありません。習得したのちに、それを活かしてAIや機械学習・データ分析をするなら数学の知識は必要になりますが…
他のwebサービス制作やスマホアプリ制作などでは数学が必要とされることは少なく、実際に、文系出身でプログラマーとして働いている人はかなり多いです。
プログラミングを苦手と感じる人が気にすべきではない不安
一般に、以下の2つに当てはまると、プログラミングには向いていないと言われます。
- 論理的思考力がない
- 作りたいものがない/ものづくりに興味がない
ですが、この2点についてはあまり気にする必要がない、もしくは気にする点を間違っています。
論理的思考力がないとプログラミングはできないの?
プログラミングに論理的思考力は必要とされますが、もとからある必要はありません。プログラミングを学ぶ中で同時に論理的思考力を付けていく、磨いていけばいいのです。
論理的思考力とは、ものごとを系統的に整理し、矛盾や飛躍のない筋道を立てて考えられる力のことです。
具体的には、ものごとの因果関係を考える力、ものごとを抽象化・具体化する能力、複雑なものごとを簡単なものごとに要素分解して考える力などが「論理的思考力」には必要とされます。
実際、論理的思考力はプログラミング以外にもビジネスなどでも必要とされますが、論理的思考力は後天的に身に着けられるものだという共通認識があります。
作りたいものがない/ものづくりに興味がないとプログラミングに向いていない?
ものづくりへの興味やプログラミングで作りたいものがないとモチベーションが湧かないから、向いてないよ!
こういう主張はよく見かけます。この主張は間違いというよりかは惜しくて、より正確には、「プログラミングをする目的や目標がないと勉強の継続が難しい」となります。
確かにプログラミングで、webサービスやスマホアプリなどの「モノ」を作ることができますが、プログラミングの用途がすべて「ものづくり」なわけではありません。
実際にデータ分析やコンピュータシミュレーションなどにもプログラミングは使われますが、これは「ものづくり」ではありません。
なので、ものづくりに興味を持つ必要は必ずしもありませんが、プログラミングを使って達成したい目的や目標がないと勉強のモチベーションがあがらず挫折しやすいのは事実です。
プログラミングを辞めた方がよい人、続けた方がよい人の特徴を紹介しましたが、あなたはどちらに該当したでしょうか?
辞めるなら辞めると決めて、他にちがうことを勉強したり習得した方がよいでしょう。
本記事では、ここからは「プログラミングを続ける」と決めた人に向けて、プログラミングへの苦手意識の克服方法などについて解説していきます。
プログラミングを苦手だと感じる主な理由とその克服方法12選
ここからはプログラミングの苦手の克服方法を解説していきますが、まず最も大事なことは「あなたはプログラミングの何に苦手と感じているのか?」ということです。
あなたがプログラミングに対して「苦手」と感じているポイントが分かれば、それを克服する方法を探して手を打てばよいだけだからです。
この章では初心者がプログラミングに対して「苦手」だと感じるポイントとその解決策のうち主なものを12個取り上げます。
どれが原因で「苦手」と感じているのか、そしてそれを克服するにはどうすればいいのか意識しながら読んでください。
プログラミングが苦手だという先入観がある
プログラミング?あぁ、なんか黒い画面に難しい英語をタイピングしていくやつでしょ?
しかも、英語だけじゃなくて何なら数式っぽいものもあるし、正直抵抗感じるなぁ…
プログラミングに対してこのように元から「難しそう」「怖い」「わからない」のようなイメージを抱いている方は少なくないです。
しかし、実際には英語ができるようになる必要も、数学の知識をしっている必要もありません。
このような先入観は、概してプログラミングについてそもそも知らない・触れたことがないから出てくる誤解です。
なので、実際に自分の手でコードを書いて慣れてみることが重要です。
コードやプログラミングにたくさん触れて慣れる
プログラミングに関する基礎知識をしらず全体像がつかめていない
プログラミングを始めるにあたって、PCやプログラミングに関する「基礎知識」が頭に入っていないと、解説書などを読んでも理解が難しく、「苦手」と感じてしまいます。
野球に例えると「グローブとは」とか「バットとは」とかそもそも「野球のルールとは」みたいなのを知らずに野球を始めようとしている感じに近いです。
なので、このような基礎知識を知らずにプログラミングをいきなり始めてしまった人は、ひとまず手を止めて基礎知識を頭に入れるようにしましょう。
- プログラミングとはいったい何なのか?
- プログラミングでできることは何か?
- プログラミング言語とは何か?
- 主なプログラミング言語の種類やそれぞれの言語で何が出来るのか
- プログラミングの勉強方法やどんな教材があるのか
- コードとは何か?コードを実行するために必要なことは何か?
最低限、上に紹介した6つについては調べて頭に入れてから勉強を始めるべきです。
ネットなどで調べるのもよし、初心者向けのプログラミングの導入本などを読むのよし!
個人的にはマンガでまとまっているものなどを読めば、イラストなどもあって理解が深まっていいんじゃないかなと思っています。
プログラミングの基礎知識を頭に入れる
難しいプログラミング言語を選んでしまっている
プログラミング言語は種類がたくさんありますが、それぞれ習得難易度が異なり、難しいプログラミング言語を初めて学ぶ言語として選んでいると「苦手」と感じやすいです。
例えば、C/C++,Javaなどのプログラミング言語は初心者にとってかなり習得が難しい言語です。
一方、初心者が学ぶならphp,JavaScript,Ruby,Pythonなどがオススメです。
難易度だけで学ぶプログラミング言語を選ぶのはナンセンスですが、それぞれのプログラミング言語の特性を理解した上で、難易度も考慮に入れて選ぶとよい選択ができるはずです。
プログラミング言語の特性や用途、そして難易度を考慮して勉強するプログラミング言語を選びなおす
プログラミングの勉強方法を間違えている
プログラミングの勉強方法は、今までの学校の勉強方法とは少し異なります。間違った勉強方法をしていると一向に上達せず、苦手意識を抱くことにつながります。
- インプット:本や動画などの教材を読み、新たな知識・文法などをインプット
- アウトプット:インプットで勉強したものを実際に自分の手を動かしてコードに落とし込む
特に大事なのは「アウトプット」です。習ったことを実際にコードに落とし込み、体でプログラミングを覚えましょう。(これもスポーツみたいですね笑)
学校の勉強のように、ノートにまとめたり、暗記をしようとするのは効率の悪い勉強法です。
自分のプログラミングの勉強方法が間違っていなかったか見直してみる
プログラミングの教材選びが悪い
初心者がプログラミングを学ぶ際の教材は主に4つありますが、初心者が本だけで独学をするのは割と難易度が高いです。
このように、プログラミングを勉強する教材の選び方が悪いと、教材によっては初心者に理解できないことも多く、苦手だと感じる原因になります。
- プログラミングスクール
を利用する - 動画教材で学ぶ
- ネット上のプログラミング学習サービスを使う
- 本を使って勉強する
初心者にオススメの教材ラインキングとありますが、単純に挫折しにくい順で選んでいます。
自分にふさわしいプログラミングの教材を選んでいるか考え直してみる。
また、以下では、それぞれの教材の特徴などを詳しく解説していきます。
プログラミングスクールを利用する
プログラミングスクールは、プログラミング学習のブースターのようなもので、初心者が特につまずいたり、挫折しやすい初期段階を徹底的にサポートしてくれます。
プログラミングスクールは結構数が多くて、迷ってしまうとの声も多いですが、コースも豊富で、かつ現役エンジニアに教えてもらえる「テックアカデミー
ちなみに、逆にある程度プログラミングに慣れている方にはスクールは全くオススメしないです。
動画教材で学ぶ
独学の教材で最も理解しやすい・勉強しやすいのは動画教材を用いて勉強することです。
「Udemy」というプログラミングを動画で学べるサイトがあり、質が高いものが多いです。
- 動画通りにまねればよいので挫折しにくい(本だと説明が省かれていて分かりにくい)
- 動画なので実際の開発の流れなどを理解しやすい
- 動画内で分からない所は動画投稿者に簡単に質問でき、返答ももらえやすい
Udemyですが、通常、動画の値段は1.5万~3万円くらいですが、割と頻繁に「セール」があり、なんと1000~2000円という超格安で動画が買えます。
買うなら「セール」の日を狙ってください。
ネット上のプログラミング学習サービスを使う
ネット上で実際にコードを書いて学べるような学習サイトが最近では割と人気です。
通常、自分のパソコンでコードを書いてプログラムを実行するにはPCの設定を変えたり、プログラムを実行するためのソフトをインストールしたりする「環境構築」が必要です。
実際、この「環境構築」は難しい一方で、このようなネット上の学習サイトでは環境構築が不要で、簡単にコードを書いて実行できます。かなり初心者にとってはうれしいポイントです。
代表的な学習サイトとしてはProgateやPyQがあります。Progateはさまざまなプログラミング言語について広く浅く扱っている一方、PyQはPythonに特化した教材です。
本を使って勉強する
プログラミングを独学するならなんやかんや本を買うのがメジャーなイメージがありますが、初心者にとっては本での学習は他のどのツールを使うより難しいです。
オススメなのは、独学する際に基本は「動画」や「学習サイト」を使い、その補助教材として本を使うというやり方です。
また、本を買うときは特に以下の3点に気を付けて選んでください。
- 自分の目的や用途にあった本か?
- 自分が理解できるようなレベルの本か?
- 出版日が比較的新しいか?
自分は一度、初心者のころ、中級者向けの本を買ってほぼ何もわからなかったし、ほしい情報も得られなかったという苦い経験があります笑
目標を高く設定しすぎている
例えば、プログラミングを勉強するにあたって目標を「モンスターハンターのようなゲームを作る」のように高く設定しすぎていることはないでしょうか?
目標を高く設定しすぎてしまうと、そこまでの道のりが長くて、嫌になってしまう可能性が高いです。
目標を高く設定することは素晴らしいことですが、この場合、マイルストーンを設定するのが効果的です。
マイルストーンとは、日本語に直すと「中間目標」であり、大きな目標を達成するためには、達成するべきそれまでの途中経過のことです。最終目標から逆算して決めていきます。
高すぎる目標は、それまでのマイルストーンを設定し、小さな目標に分割する。
分割した小さな目標を達成していくうちに、大きな目標も達成される。
エラーやバグが解決できない
プログラミングにエラーやバグはつきものですが、原因がわからなかったり、解消できずに悩むのは「プログラミングあるある」で、苦手の原因にもなり得ます。
はじめのうちはエラーやバグの解消にかなり時間がかかるとは思いますが、慣れてくると解消スピードも速くなってきます。
また、エラーやバグに遭遇した時の一般的な対処方法について知っておきましょう。ざっくり説明すると以下のようなステップになります。
- エラーならエラーメッセージを読み、理解する
- エラーやバグの原因となっているコードを特定する
- 修正する
エラーメッセージをみても、どういうエラーか分からない場合はネットで検索してみると、対処法を詳しく解説したサイトが出てくることが多いです。
どうしても自力で解決できない場合は現役プログラマーに聞いたり、質問サイトに質問を投稿してみるのも1つの手です。
エラーへの対処方法を理解する。エラーにたくさん遭遇し、たくさん解消する(慣れる)
専門用語がたくさん登場する
プログラミングをしていると聞きなれない専門用語がたくさん出てきて、嫌になることが多いです。
これに関しては正直仕方ないので、あきらめて毎回検索して理解しましょう。
専門用語を理解しておかないと、その先に進めないことも多いので…
専門用語はあきらめて逐一検索する、そして理解する
環境構築でつまずいている
プログラミングではコードを書きますが、書いたコードを実行するには「環境構築」が必要です。
環境構築とは、自分のパソコンで書いたコードを実行できるように設定をしたり、必要なソフトをインストールしたりすることです。
で、初心者にとって環境構築が結構難しいことが多く、ここで挫折してしまう人も少なくないのです。
ですが、今では「環境構築」不要でプログラミングを学べたり、実行できるサービスも存在するので、環境構築につまずいている方はこれらを使ってみるといいと思います。
ツールの操作方法がよくわからない
「エディタ」だったり「コマンドプロンプト」だったり「IDE(統合開発環境)」だったり、プログラミングをする際にはいろいろなツールが登場します。
ですが、初心者にとっては、ツールの操作方法がよくわからなくてつまずいて、苦手に感じてしまうのもよくあることです。
これに関してもネットで調べたりすると大体使い方を詳しく解説したサイトがでてくるのでまずは自力で調べてみましょう。
それでも分からなければ、質問サイトに質問を投稿したり、現役エンジニアに質問ができるサービスを使ってみるのがよいです。
コードの意味が理解できない
- 「本やネットにあるコードの意味が分からない」
- 「そのコードは一体何をしているのか分からない」
- 「なぜその処理が必要なのかわからない」
こういう場合もまずはネットで検索して調べてみてください。そのコードの意味やそうする理由を解説してくれている記事が出てくることも多いです。
ですが、いくら検索して調べても、人に聞いても理解できない、腑に落ちない場合というのも実はあったりします。
こういう場合は「寝かせる」ことも1つの手です。いったん、「理解できないけれどそういうものなんだ」と思って覚えておいて下さい。
時間がたって同じコードを見た時、普通に意味が理解できたり、納得できることも少なくないからです。
まぁ、初心者のうちから何から何まで全て理解しておく必要はないということです。
ネットで調べる、詳しい人に聞いてみる。
それでも分からなければいったん「寝かせる」
英語に苦手意識がある
プログラミングはそもそも英語で書いたり、エラーメッセージが英語であったりと、英語が登場する機会が多いです。
日本人だと英語ができる人はそもそも少ないので、英語に苦手意識を持ってしまう人は割と多いです。
ですが、別に英語を読めないとプログラミングができないわけではなく、そもそもコードに使うのは英語ではあるものの、英文ではないので英文法や英単語を知る必要はありません。
また、エラーメッセージは英文ではありますが、分からなければGoogle翻訳などの翻訳機能を使えば済む話です。
そもそも英語を理解する必要がない、英語が分からなければ翻訳サイトなどを使えばたいてい解決する。
初心者がプログラミングに対して苦手と感じやすい項目12個をとりあげましたが、あなたが「苦手」と感じる項目はもっとマイナーなものでここにはない場合もあります。
その場合はその苦手の原因を突き止め、克服する方法を自分なりに探ってみることが大切です。
楽しくプログラミングを継続するコツ
プログラミングを苦手だと感じてしまうと、勉強するのが億劫になってしまい、勉強がはかどらないこともあると思います。
なので、ここではできるだけ楽しくプログラミングを継続するコツについて説明していきます。
プログラミングをする目的・目標を明確にする
プログラミングを勉強し始める上で最も重要な事項の1つなのですが、プログラミングを勉強する目的や目標を明確にしてください。
「なんとなく流行っているから」とか「なんか有利そうだから」のような適当な理由だとモチベーションが維持できず、だいたい挫折します。
また、目的を決めるメリットはこれだけでなく、目的が定まっていると勉強すべきプログラミング言語やその順番がある程度自然に決まります。
勉強するライバル・仲間を作る
プログラミングを一緒に勉強する仲間やライバルがいると勉強がはかどります。
「とは言え、プログラミングに興味がある友人とか近くの人いないなぁ…」という方も少なくないと思います。そんな方にオススメのサービスがあります。
「conpass」というサービスなのですが、勉強会やイベントを通してエンジニア・プログラマー同士でつながれるようなサービスです。
初心者の参加者も多いので、ぜひぜひ使ってみてください。
まとめ:プログラミングが苦手ならどうするべき?
長くなったのでおさらいしていきましょう。プログラミングが苦手だと感じたら、「このまま勉強を続けるのか」「勉強を辞めるのか」考え始めると思います。
ただし、プログラミングに限らず未経験なものは何でもはじめは難しく、できなくて「苦手かも」と感じてしまうのはよくあることなので、初心者の方は真に苦手かは疑うべきです。
とはいえ、プログラミングにも向き・不向き(適性)は存在するので、あきらかに適性がないなら早く勉強を辞めた方がよいです。時間の無駄です。
プログラミングの勉強を続けると決めた場合、自分がプログラミングの何に苦手意識を感じているのかを具体的に突き止め、それを解消するためのアクションをとりましょう。
勉強につまずいたらプログラミングスクールがおすすめ
初心者がプログラミングに関してつまずくことはたいてい、スクールに行けば解決することが多いです。
なぜなら、専属メンターがつき相談などもでき、困ったら決められた時間内ならいつでも質問をすると解決策を返してくれるからです。
プログラミングスクールは結構数が多くて、迷ってしまうとの声も多いですが、コースも豊富で、かつ現役エンジニアに教えてもらえる「テックアカデミー
プログラミングの勉強始めてみたけど、私プログラミング苦手そうなんだよね…
諦めるべきかなぁ?それか、苦手を克服する方法が知りたいなぁ。