プログラミングの『才能』とは何か?

      2017/01/20

プログラミングの才能とは何か?読者の方からのメールで

「私にはプログラミングの才能があるんでしょうか?向いているでしょうか?」

という相談を受けることがよくあります。

「才能」という言葉はスポーツの世界でよく使われますよね。

「あいつはサッカーの才能がある」と言う場合、走るのが速くてスタミナがあるなどの身体的・フィジカルの素養と、狭い空間を通すスルーパスを正確に蹴る技術や、「あそこにパスを出すスペースが空いてるな」などと空間を把握する能力・センスがあります。

これらを総合的に見て他の人より秀でてる人を「才能がある」というのだと思います。

では、「才能のあるプログラマーとはどういう人なのか?」について考えていきましょう。

プログラマーにおけるフィジカルな素養

まず、フィジカル的なものから考えてみます。

プログラマーに必要なフィジカル的な素養とは、「座ってコツコツと作業する力」です。

じっと座ってるのが苦手な人っていますからね。そういう人は営業職であちこち飛び回ったりとか、体を動かす仕事の方が向いています。

コードを根気よく書いていくっていうのは、じっと座っていられるという身体的素養だけじゃなく、コツコツ作業を積み重ねることを苦としない精神的な素養も必要です。

ソフトウェアを完成させるまでには、多くの場合、長い道のりがあります。

頭の中に浮かんだものをそのまま打ち込んだら、それで正しいコードが書ける場合というのは少なく、書いて動かしては、間違いに気づき修正してまた動かして動作を確認していく、という繰り返しをすることでソフトウェアは完成していきます。

このような作業を根気よくコツコツと積み上げられる心と体が必要なんです。

プログラミングのセンスとは何か?

頭の中にどれだけたくさんのロジックを積んで再現できるかだと思います。

チームで開発するソフトウェアは規模的に一人で全てを把握するのは難しいものですが、優れたプログラマーは、大量のプログラムロジックを頭の中で再現して「ここがおかしい」とか「ここを変えればもっと高速化できる」といった発見ができます。

このような能力は経験を積むことで、身につけることも出来ますが、元々持ってる素養に依存する部分も大いにあると思います。

才能がなくても、一歩ずつ上達していけばいい

頭の中で大規模なロジックを再現できなくても、ソースコードをひとつずつ根気よく調べていけば、バグ修正や性能チューニングは出来ます。

世界のトップレベルになるとかでなければ、大抵の才能は、努力でカバーできます。

スポーツもトッププロ選手レベルになるというものではなく、市内の大会で優勝するとかってレベルであれば、努力すれば到達できそうですよね?

プログラミングも同じで、知識をひとつひとつ時間をかけて身につける、時間をかけて一歩一歩作業をする、などの努力を積み重ねることで偉大な仕事をすることが出来ます。

ですから、「自分にはプログラミングの才能があるかな?」と考えるよりもプログラミングが好きならプログラマーになればいいと思います。

プログラミング初心者におすすめのサービス
1. 講師から対面で学びたい派なら

プログラマカレッジをおすすめします。ProEngineerという転職エージェントが運営しているプログラミングスクールです。20代限定なんですが、無料で受講できて、修了後、就職支援もしてくれるんです。最高過ぎですよ、これ!!就職の紹介料を企業からもらえるのでスクールを無料にできるんでしょうね。すばらしいシステムだと思います!

30代以上の方には

プログラマカレッジは20代限定なので30代以上の方にはWebスクをおすすめします。受講料の返金保証がついているし、毎日11時〜23時まで通い放題なのでとてもいいと思います!

2. 自宅で学びたい派なら

「就職保証付き」オンライン就職予備校をおすすめします。Javaエンジニアコースでは就職保証がついているのでプログラマーとして就職したい方にはぴったりです。Javaエンジニアの求人ってめっちゃ多いし、求められる技術レベルもそこまで高くないのでちゃんとした教育プログラムなら就職保証できるだろうなとJavaエンジニア経験者の私も思います。

3. つまづいた時に質問したくなったら

プログラマー専用の質問サイトteratailをおすすめします。 つまづいた時にteratrailで質問すれば教えてもらえます。

これらのサービスを活用すれば、全くの初心者からでもプログラミングをばっちり出来るようになると思います!レッツトライです!

 - 勉強法 , ,