プログラミングに興味あるんだけど、自分は頭悪いからプログラミングの適性なさそうだし無理かな~?
プログラミングの勉強始めたけど、なかなか理解できない…頭が悪い自分にはプログラミングに向いていないのかな~?
本記事では、このような悩み・疑問について解説していきます。
僕はプログラミングを始めてから数年たっており、今では自分でwebサービスを開発したり、競技プログラミングに参加したりしているような人間です。
ネットでは「頭が悪くてもプログラミングは出来る」という意見を多く見ますが、正直僕自身この意見には少々思うところがあります。
本記事を最後まで読むと、「頭が悪くても実際にプログラミングはできるようになるのか?」が分かるようになるはずです。
頭が悪い人でもプログラミングは習得できる
結論、コードを書くのが苦痛でなく、致命的に頭が悪い人でない限りプログラミングは習得できます。これについて詳しく解説していきます。
「頭が悪い」とは?「プログラミングができる」とは?
頭が悪いとプログラミングは出来ない!
頭が悪くてもプログラミングはできる!
このような主張はよく耳にしますが、「頭が悪い」や「プログラミングができる」というのは具体的にどういうことでしょうか?
一口に「頭が悪い」と言っても、学校の成績が悪いのか、要領が悪いのか、人の話を理解できないのか…など色々あると思います。
また、「プログラミングが出来る」といっても簡単なコードを書ける状態を「できる」と言っているのか、AIや機械学習などがゴリゴリにできる状態を「できる」と言っているのか様々です。
このように、「頭が悪い」や「プログラミングができる」という言葉の意味があいまいなのに議論をしても正直あまり意味がないのです。
人間の脳みそには向き・不向きがある
人間の脳みそには向き・不向きがあり、あなたの脳みそはプログラミングに向いているか見極める必要があります。
例えば、中高の勉強では数学や英語、国語などの色々な科目がありましたが、
数学はめちゃくちゃ得意だけど、英語は苦手であまりできなかったなぁ・・・
のように、人の脳みそには向きや不向きがあります。この人の例だと苦手な英語だけを見ると「頭が悪い」と言えますが、数学ではむしろ頭が良いとまで言えるでしょう。
このように、人間って大体、「ある分野では頭が悪い(苦手)けど、違う分野を見れば頭がいい(得意)」という感じにできていて、すべての分野について頭が悪い人間なんてほぼいないと思います。
なので、学校の勉強はあまりできなかったし、成績もよくなかった「頭悪い」人が、「実はプログラミングには向いていました!」みたいな可能性は大いにありますし、実際にそういった人も多いです。
逆もしかりで勉強は出来て「頭が良い」と言われるのにプログラミングは全然できないみたいな人もいたりします。
でも、やっぱりプログラミングができる人は数学が得意な人や理系の人が多い印象あるし、勉強できないとプログラミングは難しいんじゃない?
確かにプログラミングでAIや機械学習をやろうとすると数学の知識などが必要だね。
でも、webサービス開発とかなら小学校で習う四則演算程度の算数の知識しかいらないし、文系の出身の人もめっちゃ多いよ!
自分の脳みそがプログラミングに向いているか確かめるには?
自分の脳みそがプログラミングに向いているか確かめるには実際にコードを書いてみるのが一番です。
そこでオススメするツールが「progate」というサイトです。
本来、プログラミングを始める前に必要な、ちょっと難しいPCの設定をせずいきなりコードを書き始めることが出来ます。
- HTML&CSSコース→JavaScriptコース
- Pythonコース
上のどちらかを無料プランでできる範囲でやってみればいいと思います。
実際にコードを書いてみて、「拒絶反応が出る」、「コードを書くのが辛い」とならない限り最低限プログラミングに適正はあると思って大丈夫でしょう。
最低限の適性があれば、基本的にはweb系エンジニアとして働ける程度にはプログラミングは習得できるはずです。
でもやっぱり、致命的に頭が悪いとプログラミングの習得は難しい
もちろん、致命的に頭が悪ければプログラミングの習得は出来ないでしょう。
- 何度同じことをやっても覚えられない人
- 文章の意味や人の言っている言葉の意味がわからない人
- 自分の頭で何も考えられない人
こういう人はたぶんプログラミングだけが出来ないのではなく、ある程度頭を使うことが必要な仕事全般に向いていないとは思います。
ですが、実際にこんな致命的に頭が悪い人なんてかなり少ないですし、たぶん今この文章の意味が理解できている時点で心配しなくて問題ないでしょう。
多くのサイトが「頭が悪い人でもプログラミングが出来る」という理由
少し踏み込んだお話をします。
多くのサイトは「頭が悪い人でもプログラミングはできます」と主張していますが、なぜか考えたことはありますか?
これは単純に稼ぎたいからです。つまり、多くのサイトはプログラミングスクールへと1人でも多くの読者を誘導することでアフィリエイト収入を得るのが目的です。
でも、このサイトでもプログラミングスクール紹介してるし、結局は「お金稼ぎ」のために読者を無理やりプログラミングスクールに誘導するのが目的ではないですか?
僕のサイトでもアフィリエイトによる報酬を少しはもらっています。
しかし、プログラミングにそもそも向いていないような人をプログラミングスクールに無理やり誘導してまでお金を稼ぎたいとは思っていません。
だからこそ、まずプログラミングを本格的に始める前に実際にコードを書いてみて、適性があるかチェックしてほしいと主張しています。
プログラミングをやめた方が良い人の特徴
- コードを書くのが苦痛だったり、拒絶反応が出る
- 致命的に頭が悪い
プログラミングをなんやかんや習得できる人の特徴
- 上の2点に該当しない人
つまり、「普通に頭が悪い」くらいでも最低限の適性(コードを書くのが苦痛でない)があれば、web系のエンジニアとして働ける程度のプログラミングは習得できる、ということです。
初心者はプログラミングできなくて当然、頭が悪いのが原因でない
実際にプログラミングの勉強をやり始めてみたけど…
- プログラミングに出てくる概念(変数や関数、クラス、オブジェクト指向など)が理解できない
- そもそも理解できないエラーが出てしまった
のような悩みを抱えている初心者・未経験者さんも多いのではないのでしょうか?これは、頭がいくら良い人でも1度は通る道です。
頭が悪いからプログラミングが理解できない、エラーが出るのではなく、理解できないのも、エラーが出るのも単純にあなたが初心者でプログラミングに慣れていないからです。
特に説明を読んでも1回で理解できないような難しい概念は、実際に自分でコードを書いていくうちに理解できるようになります。
初心者のプログラミング独学は難しい
初心者が独学でプログラミングを独学で勉強しようとするのは結構難しいです。エラーの解消も、プログラミングの理解も初心者1人では難易度が高いのです。
結局、「プログラミングができる人に教えてもらう」というのが、初心者にとって一番手っ取り早いプログラミングの勉強法です。
なので、プログラミングが出来る知り合いやエンジニアがいるならその人に教えてもらうのが一番安くつきますし、勉強もスムーズです。
でも、そんな都合よくプログラミングが出来る知り合いなんて近くにいないし…
初心者へのプログラミングスクールのススメ!
- 未経験や初心者でプログラミングにほとんど触れたことがない
- プログラミングの独学に限界を感じている
- プログラミングができる人にプログラミングを教えてもらいたい
という人にはプログラミングスクールを利用するのを強くオススメします。
なぜなら、初心者が独学でつまずき、挫折しがちなポイントを徹底的にサポートしてもらえ、手っ取り早くスムーズに学習を薦められるからです。
プログラミングスクールは結構数が多くて、迷ってしまうとの声も多いですが、コースも豊富で、かつ現役エンジニアに教えてもらえる「テックアカデミー」が一番おすすめです。
そもそもプログラミングの勉強法が間違っている
頭が悪い・頭が悪くないに関係なく、プログラミングの勉強法が間違っていれば習得できるものも習得できないです。
- インプット:動画や書籍、オンライン教材などの解説を読む
- アウトプット:インプットで学習したことを実際に手を動かしてコードに落とし込む
プログラミングの勉強法は上記の「インプット」と「アウトプット」の繰り返しです。
ときたま、プログラミング言語の文法などをノートにまとめている人などがいますが、学習効果はかなり薄いと思います。
プログラミングでは分からないことや忘れてしまったことがあればネットで検索すればよいので、まるで学校の授業やテスト対策のような「忘れないようにノートにまとめる」作業は不要です。
むしろ、インプットしたことをどんどんコードに書いて、体で覚えて、理解することが重要です。
「頭の良し悪し」よりも大事なプログラミングへの適性
そもそも、皆さんが自分のことを「頭が悪い」とおっしゃるのは皆さんが通っていた学校の成績や偏差値・学力レベルをみておっしゃっていることが多いのではないでしょうか?
そもそも、プログラミングの習得と学業で良い成績をとることでは、必要とされる能力が違います。
そんな「頭の良い悪い」よりも大事なプログラミングへの適性があります。
自分の頭で考えるのが嫌いでない
プログラミングをしていると、
と自分の頭を使って考える機会はかなり多いです。
もちろんネットや書籍に答えはないにしろヒントはあるので、それを調べながら考えるのですが、「自分の頭で考える」のが嫌いだとプログラミングは向いていないかもしれません。
分からないことを調べるのが嫌いではない
- エラーが出てしまった
- ある機能を実装したいがやり方が分からない
といった場合、エラーの原因やある機能の実装のしかたをネットや書籍で調べることになります。
しかも、こういう「分からないことを調べる」というのは日常茶飯事なので、自分で分からないことを調べるのが嫌いな人にはプログラミングは向いていないでしょう。
継続力がある
プログラミングは1回勉強したからと言ってすぐにできるようにはなりません。
コツコツと勉強していくことが大事で、しかもプログラミングの勉強には「ゴール」がありません。
なので勉強やコードを書くことを継続できる力がかなり重要なのです。
集中力が一定ある
集中力がないと勉強も続かないですし、仕事をしたとしてもコードを書ききることはできないでしょう。
別に常に集中している必要はないのですが、「やるときは集中できる」ことが大切になってきます。
集中力を持続させるためにエナジードリンクを飲むプログラマーも結構多いです。
知的好奇心・探求心がある
- 「もっと知りたい」
- 「どういう仕組みでこう動くのか?」
- 「なんでこのエラーが起こるの?」
のように貪欲な知的好奇心や探求心はその人のプログラマーとしての成長に直結します。
自分が抱いた「なんで?」や「どうして?」を追求することが一番勉強になりますし、しかも忘れず頭に定着しやすいからです。
まとめ:普通に頭が悪いくらいならプログラミングはできる
まとめです。結論として、致命的に頭が悪くなく、最低限の適性があれば(コードを書くのが苦痛でなければ)一定のレベルまでプログラミングは習得できます。
なぜなら、皆さんが自分のことを「頭が悪い」と言うのは、通っていた学校の成績や偏差値をみておっしゃっていることが多いです。
学校の勉強ができず「頭が悪い」と言われる人でも、プログラマーになっている人は少なくないですし、そもそも学校の勉強とプログラミングでは必要とされる能力が違う部分も多くあるからです。
まずは自分のプログラミングへの適性を確認しよう
なので、まだプログラミングに興味あるけど勉強を始めていない人は、「progate」などを使って自分がプログラミングへの最低限の適性があるかを確認してください。
無料プランでいいですが、ここでコードを実際に書いてみて「拒絶反応が出る」「コードを書くのが苦痛だ」とならないなら最低限の適性はあるでしょう。
初心者はプログラミングスクールを積極的に活用すべし
初心者が独学でプログラミングを勉強するのは結構難しいです。実際に、読者の中にも独学で絶賛挫折しかけている方もいるのでは?
その点、プログラミングスクールは初心者が特につまずいたり、挫折しやすい初期段階を徹底的にサポートしてくれます。つまり、プログラミング学習のブースターのようなものです。
プログラミングスクールは結構数が多くて、迷ってしまうとの声も多いですが、コースも豊富で、かつ現役エンジニアに教えてもらえる「テックアカデミー」が一番おすすめです。
ちなみに、逆にある程度プログラミングに慣れている方にはスクールは全くオススメしないです(笑)
コメント