人間誰しも得意不得意が必ずあります。
やりたいこともあれば、反対に絶対にやりたくないこと、苦手なこともあるため、自分に向いていないものはなるべく手をつけずに人生を過ごしたいのが本音です。
例えば、長距離を走るのが苦手な人がマラソン選手になることは向いているとは言えませんよね?
これを実現するとなると、嫌々マラソンの練習をし続けることになるため、とにかく毎日が苦痛となってしまいます。

あらゆる職種やスポーツがありますが、その中で今回お伝えするプログラミングというのは、特に苦手とする人が多い分野でもあります。
エンジニアの数が年々減り続けていることからも分かる通り、最初のプログラミングを学ぶ段階で苦手意識を持ってしまう人が多いのは、数字が証明してくれているのです。
ですがプログラミングを学ぶことによるメリットは計り知れません。
大きなメリットがあるのに、それを『苦手』という言葉一つで片付けてしまうのはかなりもったいないことです。
なのでここでは、現在プログラミングに苦手意識を感じている、もしくはプログラミング学習がなかなかうまく進まない方たちの参考になる内容を、私の経験談も交えながら詳しくお伝えしていきたいと思います。
ちなみに私も最初はプログラミングが苦手でしたが、とある方法を実践して今ではプログラミングがかなり好きになっています。
プログラミングができない・苦手な人=適性がないは本当?

本題に入る前に、まずは自分にプログラミングの才能があるのかどうかは気になるところですよね?
私自身も、初めてプログラミングを学習するときは
まぁ色々と悩むことがありました。
一通り悩み終わり、私が出した結論というのは

ということです。
プログラミング関係なく初めてのことは基本上手くいかない
多くの人は、自分に才能があるかどうかを
『プログラミングを学ぶ前の段階で計ろうとする』
ことがほとんどです。
適性診断やあらゆる情報を集めて適性があるかどうかを調べるのも、ほとんどが
『プログラミングを勉強する前、もしくは勉強を始めた段階』
だと思います。


つまり才能があるかどうかを判断する時期は
『ど素人、初心者の段階で考えることがほとんど』
になるため、十分な勉強をせずに諦めてしまうことが多いのです。
これは学校で勉強を教わるのと、学校に行かずに引きこもって自分で勉強することに差が出るのと同じ理由です。
プログラミング批判の中転職を実現している多くの人たち
実際プログラミングができない状態でスクールを活用している人たちは、数ヶ月でエンジニアに転職している事実もあります。
プログラミング学習数ヶ月で、9割以上の人が転職ができるスクールとして有名なのはTechAcademy [テックアカデミー]やテックキャンプなどが挙げられます。
数ヶ月プログラミングを勉強して全くスキルが身につかない人がいる裏で、スクールに通って9割以上が転職を実現させている現実から考えると、プログラミング学習というのは適正よりも『環境』が大きく影響していることがすぐに分かります。
才能があるかどうかは、とりあえず勉強し続けなければ分かりません。
才能があるかどうかを初心者の頃に調べてしまうことは、結局自分の才能を潰すことにも繋がるのです。

なぜプログラミングを大嫌い・苦手と感じてしまうのか?

才能があるかないかは置いておき、実際にプログラミング学習を始めると、最初の段階で多くの人は
『自分はプログラミングが苦手だから無理かもしれない‥』
と思ってしまうポイントが出てきます。
この感情が出てきたときに、目の前には2つの道が出てきます。
1つ目:苦手だからプログラミングを諦める
2つ目:苦手だけど継続してプログラミング学習を進める

学習を始めた段階で苦手だと感じことは、誰でもあります。
今エンジニアやプログラマーとして活躍している人の多くも、この『苦手』という感情と戦って今のスキルを手に入れています。
ではなぜプログラミング学習が苦手だと感じてしまうのか?
その理由は以下の要素が必ず含まれています。
そもそもプログラミングの全体像が理解できていない
まずプログラミングを学習することになった場合、最初に『基礎学習』から入ります。


基礎を学ぶことは何よりも重要です(これは後々分かってきます)が、最初の段階では
『基礎を学んでそれが後に何に使われるのかがさっぱりイメージできない』
ことがほとんどです。
例えばJavaScriptを学ぶ場合、if文やfor文などが出てきますが、これが後に何に使われてどうなるのかをイメージできる人は初心者の中にはまずいません。
となると
『自分が今学習していることに意味はないかもしれない』
とネガティブな感情が出てきてしまい、結果的に学習が嫌になってきます。
これが全体像が分からないで挫折する典型的な例です。
ちなみに基礎学習に関しては、Tech Academy(テックアカデミー)の無料体験ブートキャンプを利用することで、基礎を学びながらWebサービスを作る経験ができます。
無料体験 Tech Academy(テックアカデミー)はこちら!

できないことを認めたくないから理由を付けている
そしてこれは、モロに過去の私が持っていた思考回路です笑。

どういうことかというと、例えば自分がプログラミングの学習を始めたとします。
そうすると、当然理解できない部分が出てくるため、必死で勉強しようと頑張りますが、結局ちゃんと理解できないことも多く、その時点で自分の理解度の低さに絶望し始めます。
最初の段階でプログラミングを理解できないのは当然といえば当然なのですが、自分ができないことを認めたくないため
『自分は他の人よりもプログラミングが向いていない・苦手なんだ』
と落とし所を見つけるのです。
人間はできない理由を探す天才です
朝が苦手だから早朝集合はできない
料理が苦手だからバランスの良い食事は取れない
運動音痴だからダイエットなんて無理
努力が苦手だから、毎日走るなんてできない

自分の理想とする未来が遠すぎる
実際にプログラミング学習を始めると、初心者の多くは
『短期的な目標を大きく、長期的な目標を小さく設定する』
ことがほとんどです。

例えばプログラミング学習をスタートした場合

と意気込んでしまいますよね?
自分が頭に描いている理想のサービスを作るために、最初の段階は頑張るのですが、数日経つと

と、現実にぶち当たるのです。
本当に実力を付けていく人たちは、短期的な目標を小さく設定していることがほとんどです。
段階を踏んでできることをこなしていくため、結果的に数ヶ月後にはかなりの実力が付いていたりします。
短期的な目標は小さく
長期的な目標は大きく

慣れていないためコードが暗号に見えてしまう
これはプログラミングの基礎というゾーンを通過するまでに誰もが経験するイベントでもあります。
なのでそこまで深刻に考える必要はありません。
最初の段階で↓

こんなコードの羅列が出てくると
『なんじゃあぁぁぁこりゃぁぁあぁ!1!!!』
と心の中で35回くらい叫ぶと思います。

ですがこれは当たり前の反応なので、気にしないでください。
→プログラミングが暗号にしか見えない‥理解するにはまずこれをやりましょう!
最初は暗号だと思っていても、ググりながら知識を取り入れることで、それが解読できるようになっていきます。
プログラミング初心者の段階:コードが暗号に見えて解読するのが辛い
プログラミングに慣れた人の段階:全体的な型を理解しているため、分からないところが出てきても瞬時にググって解決できる
周りの情報に振り回されてしまう
今の時代は、とにかく情報との戦いに勝たなければなりません。
想像してみてください。
例えばあなたがプログラミングを始めたばかりの初心者だったとして、ネット上に
『1ヶ月でプログラミングをマスターできた人の話』
『3ヶ月でフリーランスに転職できた成功例』
などの情報が多くあった場合、どのように感じますか?
少なくとも、心のどこかで

と思いますよね?
もちろんこの感情は良いことなのですが、危険なのは
『情報に振り回されて、短期的な目標が大きくなってしまうこと』
です。
短期的な目標を大きくすることが良くないという話は先ほどしましたね。
つまり、世の中の情報に惑わされて自分のペースを崩されてしまうと、理想と現実のギャップが開いてしまうことがあります。

情報は上手に活用することでプラスになりますが、周りの情報に惑わされるとペースが崩れてしまい、これもまた挫折することに繋がるのです。
プログラミングが苦手で無理だった‥と話す大半の人は学習時間が足りてない

ここまでの話である程度理解していただけたと思いますが、世の中の人がプログラミングを苦手だと感じている根本的な原因は
『圧倒的に学習時間が少ないこと』
です。
本当にこれに尽きます。




『いや、私は勉強してますよ!』
と思う方も多いとは思いますが、実際に自分がコードを打ち込んでいる時間を測ってみてください。
おそらくインプットに大半の時間を注ぎ、コードを書いている時間が圧倒的に少ないという結果が出ると思います。
プログラミングスキルを伸ばしている人たちの共通点としては
『とにかく書いているコードの量が多い』
ことが一番に挙げられます。
スキルが伸びる人:とにかく分からなくてもいいからコードを書いてみる。そしてそこから調べる。
スキルが伸びない人:コードを書く前にインプットに時間を使う。そして完璧に理解できたらコードを書き始める。
もしあなたの周りに、コードをほとんど書かずに成功しているプログラマー・エンジニアがいれば教えていただきたいです。
そのような人は一部の天才か、それとも成功している風に見せているかのどちらかですからね。
1000時間プログラミングの勉強をするとどう変わるのか?

プログラミングの学習に関しては、結論として
『最初は誰もが苦手だと感じる』
のが当然です。
もし最初の段階からプログラミングのコードをスイスイ解読できる人がいたら、その人は間違いなく天才か英語が堪能な方でしょう。

では仮に、その苦手意識を持っている初心者の方が、頑張って1000時間くらいプログラミングの学習をしたとします。
そうなった場合、苦手意識を持っていた状態からどのように変わることができるのか?
これは私の経験も含まれていますが、これだけの勉強時間を確保できれば、まずプログラミングに対する意識は大きく変わっていきます。
暗号だったコードが脳みそで理解できるようになる
とりあえずこれだけの勉強時間を確保できれば、暗号だと感じていたコードが読めるようになり、何が書いてあるのかをすぐに理解できるようになります。
途中でもお伝えした通り、プログラミングのコードというのは、一定の型があるため、一度その型を覚えてしまえば読めないといことはまずありえません。
英語を勉強するときも、ある程度の文法や単語さえ覚えておけば、それなりに読むことができますよね?
その感じとかなり似ています。


プログラミングの場合、コードが分かると自分でできることも増えてくるため、自然とサービスを作る側に回ることができます。
この段階に入るとマジでプログラミングが面白くなっていきます。
暗号が解読できるようになるタイミングは人それぞれですが、少なくとも200〜300時間の勉強を経れば、間違いなく暗号から読めるコードに変わっているはずです。
プログラミングを使って自分で簡単なサービスが作れる
コードが読めるようになるということは、そのコードを真似したり自分でコードを書いたりしてサービスが作れるようになっていることになります。
例えば今までネット上に公開されているサービスがあっても
『これってどうやって作られてるんだろ‥分からないな』
と思っていたものが
『これはこのコードを使って作られているんだな!』
と理解できるようになります。

そうすると、模写したりアレンジしたりして自分なりのサービスを生み出すことができますし、それを応用して面白いアプリを開発したりも可能です。
本来プログラミングは学ぶものではなく
『自分でサービスを作り出すための手段』
であるため、この段階に入ればあらゆるものを自分の手で作れるようになるのです。
多くの人はプログラミングを勉強しようと考えていますが、結局プログラミングは『手段』でしかありません。
勉強している理由はあくまでも『サービスを作り出すスキルを身につけるため』なので、基礎を学んだ後は、早い段階でサービスを作る側に回ることが成長を促すことになるのです。

普通に働けるレベルになる
正直1000時間も勉強すれば、普通にプログラマー・エンジニアとして企業で働くことができます。
というより、企業で働くことを目的としているのであれば、1000時間も勉強する必要はありません。
200〜300時間の勉強時間を確保し、その後自分のスキルでも雇ってくれる環境に身を置いた方が成長スピードは飛躍的に高まります。


高い年収が得られる働き方をするためには、実務経験をこなしてスキルを高める必要があります。
たくさん勉強しようと思っている方は、まず早い段階でエージェントとの面談をしてみて、そこでどのような進路を辿るべきか相談してみるのも良いでしょう。
→プログラミングで就職(仕事)できるレベルの基準はどれくらいなのか?
結局仕事として案件をこなす場合、半端なことはできません。勉強ではスルーしていたことも、実務では自分で調べて解決する必要があります。
自分に何が足りないのか?これは実務を経験することによって分かるようになります。
プログラミングの苦手を克服した私が実践した3つのこと!

私自身は、おそらく誰よりもプログラミングを苦手に感じていた人間だと思っています。
そもそも頭はそこまで良くありませんし、ゴリゴリの文系です。

そんな私でも、ある程度のプログラミングスキルを身につけ、今では高い報酬を得るためにスキルを磨こうとするまでに成長しました。
今振り返ってみると、苦手意識を持っていた頃はスキルの伸びが遅かったような気がします。
ある日突然、点と点が線として繋がり、そこから急激にスキルが伸びるような経験をしました。
ではプログラミングに苦手意識が強かった頃の私が、どのようにしてブレイクスルーを起こしたのか?それは大きく分けて3つのことを実践したことがターニングポイントになったと思っています。
分からない前提で学習する
私の場合、自分の中で
『俺なら余裕でできるっしょ!』
みたいな謎のプライドを持ってしまうタイプです笑。なのでプログラミングに対してもそのような気持ちで学習を始めました。
このようなセルフイメージは重要なのですが、気をつけなければならないのは
『自分ができると思って学習すると、分からないときに心が折れがち』
になります。
なので最初の段階で
だというマインドで始めるようにしました。
このマインドを持つと、分からないことが出てきても
『いや、やったことがないんだから分からなくて当然でしょ!でもいずれできるし!』
という理想的なマインドを持つことができるのです。


とりあえずコードを書きまくる
そして知識がなく、プログラミングができないのは当然であるため、考えていても仕方がありません。
とにかくインプットよりもアウトプット(コードを書く)を重要視した学習方法を取り入れ、毎日とにかくコードを書きまくりました。
インプットを重要視している人よりも、とにかくアウトプット重視で行動している人の方が圧倒的に伸びています。
面白いことに、毎日コードを書きながらググって調べると、自然とコードの意味や型が理解できるようになってきます。
最初の段階はかなりキツイ時もありましたが、そこを乗り越えることができれば面白いように理解できるようになってきます。




学習時間=経験値だと思ってとりあえず頑張る!
最初の段階は、自分のスキルが伸びているのか伸びていないのか全く分からない状態が続きます。
暗闇のトンネルを一人でひたすら進んでいる感じになるため、とにかく辛いです。




なので初心者の頃は、とりあえずスキルが伸びているかどうかを測るのではなく
『自分がプログラミング学習に費やした時間を計測する』
ことを意識しましょう。
これを取り入れることによって、自分が今までどれだけ頑張ってきたのかを数字で見ることができます。
例えば1日2時間勉強したのであれば、それをストップウォッチで測り、ノートや管理シートに記入します。
そうすると、毎日学習した時間がグラフとして積み上がっていくため、モチベーションも上がります。
そして一つのラインとなる100時間・200時間・300時間となったら、自分のスキルがどこまで伸びているのかを調べてみましょう。
気づいたら結構できることが増えていたりしますよ♪
プログラミングで苦手・できないは絶対乗り越えられます!

かなり長いことお伝えしてきましたが、ある程度苦手に対する克服方法は解説できたかなぁと自己満足しています笑。

仮に誰もが簡単だと感じていた場合、そこを乗り越えた後の恩恵はそこまで大きくないでしょう。
プログラミングという特殊なスキルを身につけることが、あなたの人生にとってどれだけのプラスをもたらすのか?そこを意識してみると、勉強意欲が高まってきたりしますよ。
もしプログラミングが苦手だと感じ、なかなか上手いこと勉強が捗らない場合に関しては、独学で学ぶのではなくスクールを活用してみるのも一つの手です。
どうしても苦手を克服できない怖さがある場合には、なるべく講師陣が徹底的にマンツーマンでサポートしてくれるスクールを選ぶべきです。
とりあえず最初の基礎の段階を抜けることができれば、間違いなく今までとは違った景色を見ることができるようになりますよ。
まとめ

今回の記事をまとめてみると
全体像が理解できてない
できないことを認めないための理由になっている
短期的な理想を高く持ちすぎている
コードに慣れていないため暗号に見える
周りの情報に振り回されて我を忘れている
結局のところ、苦手という『感情』を持っているだけで、根本的な原因は『学習時間が単純に少ないだけ』なので、そこまで深刻に考える必要はありません。
プログラミングは学習を続けていけば、必ず理解できるようになります。

もし一人で乗り越えるのが難しいのであればプロや講師に頼ることで、苦手意識を取り払うことができることもあります。
学習方法はいくらでも選択肢がありますので、視野を狭くせずに自分が成長できる環境を見つけて苦手を克服していきましょう。