プログラミングの可能性を様々な角度からお伝えさせていただいている私ですが、どんなに魅力を伝えたとしても、これからプログラミングを始めるとなると、やはり様々なハードルが目の前に立ちはだかります。
- 年齢に対する不安
- 未経験という不安
- 学習時間の確保が難しい不安
など様々ありますが、多くの初心者が最も不安なこと、それは
『果たして自分にプログラミングの才能・センスがあるのか?』
という不安です。

正直センスや才能という言葉を聞くと
『後天的に変えられない要素』
のように聞こえてます。
なのでもし才能がなかった場合、どんなに努力してもプログラミングスキルを身につけることができないという結論に達するのです。
しかし安心してください。ここでは才能やセンスという壁を真っ正面からぶっ壊していくことをお話ししますから。
プログラミングに才能やセンスは必要がない明確な理由

上記したプログラミングの才能というのは、あくまでも才能やセンスがあるパラダイムで考えた時の話です。

私がプログラミングを学んできて一番感じたことは
『センスや才能は全く必要がない』
ということです。
月収1000万を超えるような超天才エンジニアは一部いますが、その人たちは
『コードを書くことに興奮を覚えるレベル』
の人たちなので、ここに関しては才能があると認めざるを得ません。
ですが月100万円レベルであれば、才能は全く必要ないと言い切れます。
その理由はいくつかあります。
私がプログラミングスキルをある程度身につけられたから笑

過去の私のスペックを一応ご紹介しておきます。
▼プログラミング学習を始めた時の私のスペック
- プログラミングという言葉すら知らなかった
- コードを見ただけで吐き気がした
- 動画コンテンツを見ても何言ってるのかさっぱり理解できなかった
- 1日2時間勉強するだけで死にそうになっていた

それプラス論理的思考力の低さが露骨に出ていたため、最初簡単な内容を理解するのにも死ぬほど時間がかかりましたね。
そこから勉強を続けてきた結果、今ではある程度プログラミングのスキルも身につけることができ、ようやく楽しくなってきたところです。
おそらく数年後にはなかなかのステージまで上り詰めているのではないでしょうか笑。
すでにプログラミングができる人が教えてくれる環境があるから

過去と今で一番変わっているのは
『プログラミングを学ぶ環境が整っていること』
だと私は思います。
数年前・数十年前にパソコンが登場したときは、プログラミング言語の数も少なく、勉強するにしても意味わからんレベルで難しい教材を使って学習する必要がありました。
おそらくホリエモンといった超絶すごい起業家さんは、それらの難しい教材でスキルを身につけたんでしょうね。本当に尊敬しかできません。


ですがありがたいことに、今私たちが生きているこの時代は、プログラミングを学ぶ選択肢が豊富に揃っています。
プログラミングスクール・会員制コミュニティ・マンツーマンレッスンなど、すでにプログラミングを習得している人から直接教わることができるため、学習意欲さえあればいくらでも上り詰めることができます。
今の時代で挫折という言葉を多用している人は、正直ナンセンスだと私は思っています。
実際TECH::CAMPのエンジニア転職コース(転職成功率99%)を利用すれば10週間でエンジニアになれる環境が整ってますからね。
この数字は、ちゃんとプログラミングを学習すれば、誰でもこのスキルを仕事にしてプロとして働けることを証明しています。

そもそも才能ってなに?

はい、ではまず才能という言葉を実際に辞書で調べてみましょう。
才能:物事をうまく成し遂げる優れた能力。技術・学問・芸能などについての資質や能力
簡単ではありますが、このような解説が出てきました。つまり、物事を人より上手く成し遂げる素質を持って生まれた人(先天的なもの?)のことだと思います。

もちろん私自身も才能に先天的なものはあると考えている一人です。
しかし最初に言わせてください。その才能というのは
『スポーツなどの身体的に優れたもの』
だけだと私は考えています。
例えば日本球界からメジャーで活躍する選手までのし上がった『大谷翔平』選手がいます。あの人は身長193センチという超恵まれた体格を両親から授かったことにより、他の選手よりも圧倒的な結果を残すことができています。
もちろんその裏には私たちが想像を絶するほどの努力が積まれているのは分かり切っていますが、それでも仮に
『大谷翔平選手の身長が170センチ』
だったら今ほどの活躍ができているか?
と聞かれると、私はそうは思いません。
大きな体は野球にとって大きなアドバンテージです。このように
『先天的に持って生まれた資質』
によって生まれる差を、私は才能だと解釈しています。
プログラミングというのは体格的な要素は全く関係がありません。
それを考えると、才能やセンスという言葉で片付けるのは少し違う話になると思います。
プログラミングの才能・センスがある人・ない人!

プログラミングに関しては才能というより
『プログラミングスキルの向上にどれだけの時間を使うことができたか?』
が大きな差を生みます。
ですがここではあえて
をした場合、どのような要素が差を生み出すのかを考えてみましょう。
長時間パソコンで作業するのが大好き

これは才能といえば才能ですよね?笑。
そもそもプログラミングを学ぼうとしている人の中でパソコンを触るのが死ぬほど嫌いな人はいないと思いますが、やはりプログラミングスキル向上のためには孤独な時間は必要ですから、長時間パソコンで作業をするのが苦にならないというのは素晴らしい才能です。

これはパソコンの作業だけではなく、パソコンを使って毎日youtubeを長時間見たり、自分でブログを書けることも才能の一つとして含まれます。
人によっては長時間大人しくパソコンを触っているだけでストレスが溜まる人もいます。
そんな中で、黙々とパソコンとにらめっこしながら作業ができるというのは、やはり1つの才能だと認めざるを得ませんね。
もちろん後天的にどうにでもなりますが笑。
面倒なことを避けて楽をしたい

別の記事でも取り上げていることですが、実はプログラミングは
『超面倒臭がりな人ほどハマりやすい』
という特徴があります。
これは結構面白いことですが、事実です。というより私もその一人ですから笑。


そもそもプログラミングスキルを身につけると、今まで自分がやっていた面倒な作業を自動もしくは効率化できる仕組みを作れます。
仕事をしていると、明らかに時間を取られているけど、やっていることは単純作業の繰り返しなんて業務がたくさんありますよね?
それらを自動でやってくれるプログラムを作り、サービスとして世に生み出すことでエンジニアは給料を貰うことができるのです。
ここにあるのは全て人間が持つ
『楽をしたい』
という潜在的な欲求です。
この欲求が強ければ強いほど良い商品を生み出すことに全力を注げるため、面倒なことをせずに楽をしたい!この世の中的には軽蔑されがちな考え方も、プログラミング学習をする上ではプラスにしか作用しないのです。
新しいことを楽しめる

仕事をしている人の中には、毎日決まったルーティーンをこなす単純作業が好きな方もいます。
なので面倒な作業を全て悪と決めつけることはしません。

となると、既存の価値観や考え方ではなく
『新しい文化を取り入れる』
ことがこの先の時代で生き残るために必要な資質となります。
どんなことであっても、とりあえずやってみるという行動を取れる人は、プログラミングの世界で活躍できる資質を持っていると私は思います。
ここに面白味を感じることができれば、コードを書くだけでワクワクしてきますからね。
才能がないと話している人は継続していないだけだから

実際にプログラミングの学習に挫折した人が私の知り合いにいるのですが、その人に直接話を聞いてみると

と話していました。
確かにJavaScriptは初心者からしたら少し難易度の高い言語ではありますが、それでもスクールや教材を効果的に活用すれば学べない言語ではありません。
会話を進めていく中で
『どれくらい勉強してたんですか?』
と尋ねると
『う〜ん、毎日1時間を3週間くらいかな』
というまさかの返答。
それって
『まだ21時間しか勉強してないじゃんw』
と心の中で思ってしまいました。


もし私が新しいことに挑戦して、21時間の勉強でスキルが身につかなかったとしても、絶対に挫折という言葉は使いません。
確実に
『勉強不足』
という言葉を使います。
このように一般的に挫折を経験している人たちというのは、今活躍しているエンジニアからすると
『圧倒的に勉強量が少ない』
ことが大半なのです。
結論!プログラミングに才能もセンスもいらない!必要なのはこれ!

最初の答えに戻りますが、結論としてはプログラミングにセンスや才能は必要ありません。
自分に才能があるのかどうかを考える時間があるならば、まずは1つの言語を徹底的に極めることに時間を使うべきでしょう。

プログラミングは才能やセンスは必要ありませんが、必ず
『明確な目標』
だけは持っておいてください。
その目標を設定しておくと、プログラミング学習を諦めそうになった時
を思い出すことができます。
その目標がふわっとしていると、最終的に
『プログラミングなんて必要ないか』
と辞めてしまう可能性が高いのでご注意ください。
目標を持っている人:その目標を達成するために必要な知識を集めるため、プログラミングを学習することが目的にならない
目標を持っていない人:プログラミングを学習すること自体が目的になってしまい、途中で諦めやすい
まとめ


確かに今までの自分の習慣がプログラミング学習に有利に働くことはあります。
しかしそれは必ず
『後天的に改善が可能』
なことなので、才能やセンスで片付ける必要はないのです。
勉強習慣がついていない場合、最初の数週間は辛いかもしれませんが、全体像が理解でき、そこから自分のサービスを生み出せるようなスキルが身につけば、一転して楽しくなる瞬間が訪れますよ。