プログラミングは才能がある人しかできない?未経験や文系でも向いている人の特徴解説

はてブ

プログラミングやプログラマーと聞くとどんなイメージを持たれるでしょうか?
部屋にこもってひたすらパソコンのキーをたたき続ける人、真っ黒の画面に謎のコードを書き続ける人、理系で全く融通が利かない人、などなど、どちらかというと近寄りがたいイメージを持たれているかたも多いのではないでしょうか。

そしてプログラミングは一部の才能に恵まれた人にしか近寄れない世界なのではないか?そう感じている方も少なくないことでしょう。

確かにそういった側面はあるかもしれません。

一部の才能に恵まれた人、プログラミングが好きで好きでコードを毎日打ち続ける人にはある種の「才能」があるかもしれません。
しかし、みんながそういった人達なのでしょうか?

この記事では、そんな「プログラミングは才能ある人しかできないの?」という問いに答えます。

プログラミングは理系にしかできないの?文系は?

プログラミングというと、どこか理系の匂いがします。
数学や物理のような理系の人にしかこなせない物に思えて、初めから自分にはムリだと諦めてしまっている方も多くいることでしょう。
しかしながら、実際には高校や大学で文型出身でプログラマーとして働かれている方も沢山いることをご存知でしょうか。

また、そのような文型からプログラマーになった人から聞こえてくる声としては、プログラミングは「言語」だよという言葉だったりします。
そう、プログラミングは言語を用いてPCに指令を与え、その指令通りにプロダクトを動かすものです。

ですから理系的な要素があるのは確かですが、それだけではなく、文系的な要素も絡んできます(主に英語ですが)。
数学や物理の問題を解くにはある程度才能のような物が必要かも知れません。

エンジニアになるには、特別なセンスが必要なの?

理系or文系の話とも関連しますが、プログラミングを得意とする人には特別なセンスがあると思われている方もいることでしょう。
これは本当なのでしょうか。
確かにそういった面もあるかもしれません。しかし、少しプログラミングを勉強するにつれて分かってくることは、正しく・粘り強く勉強していくことで、誰もが身につけられるということです。
誰もが通る道ですが、プログラミング言語を実装していると、必ずエラーが発生します。
そのエラーは正しく理解し、入力されていないから発生したものです。
ごく一部のセンスのある人であれば、そのエラーをほとんど発生させることなく、仮に発生したとしても瞬く間に解決させてしまうかもしれません。
しかし99%以上の人はそんなことはなく、日々エラーに立ち向かっています。
ですので、本質的には正しく・粘り強く勉強をつんでいくことが重要となります。
これは特別なセンスとは全く別のものでしょう。
加えて現在は、インターネット上に正しく・粘り強く勉強させてくれる教材も揃っています。あなたがもし特別なセンスを持ち合わせていなくても、プログラミングの勉強は開かれています。

プログラミングに向いている人は?

では、才能はさておき、プログラミングに向いている人とはどんな人でしょうか。
まず一番に挙げておきたいのは、自発性があるかどうかです。
プログラミングは基本的には孤独な作業です。ひたすらパソコンに向かって作業し続けなければならないのも事実です。
映画やドラマなど見ると、一心不乱にキーボードを叩き続けるプログラマー像が映し出されていますが、あれは実は嘘です。
実際はプログラミングコードを実装するためのノウハウを調べている時間がほとんどです。

そこで必要となってくるのが自発性です。
このコードはどう入力すればいいのだろう、これを表示、実行するにはどうしたら良いのだろうといった問いを、自分自身で調べながら解決しなければなりません。
丸投げで他人に任せるとか、誰かに調べてもらうといった姿勢では、一向にスキルが伸びていかず、きっと何かを作りだす前に挫折してしまうでしょう。
それに関連しますが、孤独な作業を耐え、ずっとイスに座っていられる人も大事な要素です。
何かプロダクトを生み出すには長時間の作業が必要となります。1人で集中し、プロダクトに向き合わなくてはなりません。

挫折せずに、プログラミングを学ぶためのモチベーションを維持する方法

上記でも記載してきた通り、技術的な特別な才能というよりは、プログラミングを習得するためには、メンタルの部分が大事になってくるかと思います。また、エンジニアとして就職した後にも、プロダクトに向き合う姿勢、必要とする知識を増やしていく根気強さが必要です。
才能が必要か?と言われたら、まずはプログラミングに対する学ぶ姿勢や挫折しない気持ちが大事だということになるかと思います。

挫折せずにモチベーションを保つには、目標とする人を掲げたり、職場の何でも話せる同僚を持ったり、勉強会等で一緒に学ぶ仲間を見つけることが一番かと思います。一人でもくもくと頑張るより、一緒に切磋琢磨できる戦友を作りましょう。

まとめ

プログラミングに特別な才能はいりません。
ただし、「プログラミングに向いている人は?」で述べたように、向いている性格はあるように思います。
必要な知識を吸収し、それを長時間にわたってアウトプットし続ける「根気強さ」が必要となってきます。
裏を返せば、継続できればプログラマーにはなれると言ってもいいです。
現在は昔と比較して初心者にもやさしい環境が整ってきています。根気強く、プログラミングを勉強し続けましょう。

関連記事