私なりの、プログラマーに向いている人、向いていない人の特徴がわかっています。
完璧には言い切れないが、一般的に「学校での成績が良い人」は、プログラマーに向いていない。
逆に「学校での成績が悪い人」はプログラマーに向いていると思っています。
一般的に「学校での成績が良い人」と言うのは、教科書を読んで、覚えて、アウトプット出来る人のことで、学校の成績が良い人である。
極端な話、理解出来ていなくても、それらが出来れば成績は優秀となる。要するに、「学校での成績が良い人=覚えることが得意な人」である。
数学で言うと、公式をすんなり覚えて、公式を使って問題を解くことができると言うことだ。ここに大きな落とし穴があるのだ。
プログラマーは、論理的に考える仕事であり、覚えることではない。よって学校での成績が良い人はプログラマーに向いていないのだ。
逆に「学校での成績が悪い人=覚えることが不得意な人」となり、覚えられないとなると、一から考える以外に方法がないからだ。
先ほどの数学の例えに倣うと、公式が覚えられないので、公式など無いところから考えて、問題を解くことが求められる。
プログラマーやシステムエンジニアの仕事は、「ソリューションビジネス」と言われている。要するにあらゆる問題を解決するための仕事である。
社会の問題に公式など無い。データを分析したり、調査したりして、問題解決の糸口を見つけていく。そういう能力が求められるのである。
だから、ドラゴン桜の桜木先生のセリフを真似て言ってみる。
「学校の成績が悪い奴は、プログラマーになれ!」
次にプログラマーとしての適正で大事なことは、「何でこれはこうなってるんだろう?」とか「この作業もっと早く簡単にできるようにならないかな?」と何でも疑問を持つことである。
先ほどソリューションビジネスの話をしたが、問題を問題と認識できなければ話がはじまらない。
何でも疑問を持つことで、誰もわかっていない問題に気づき、とんでもなく作業や業務のショートカットができるようになるのです。
私自身こんな経験がある。
小学1年生の時、ひらがなの50音を習って、やれやれって思ったら、次は漢字をやっていきましょう・・・という流れになったのだ。
「え!?やっと50個もやったのに、漢字?何でそんなことしないとだめなの?ひらがな全部覚えたから何でも読み書きできるのに、何で?」と思ったのだ。ただ単に漢字の勉強が面倒だったからという側面もあるのですが(^^;
先生に「何でそんなことしないといけないの?」と聞くと、「つべこべ言わずにやれ!」と一喝。結局渋々周りに合わせてやることになった。
小学5年生の時、ラジオを作る機会があり、初めて発光ダイオードを知った。その時「これ光るんだ」と思って、先生に「これって球切れとかするの?」と聞いたら「球切れとかしないよ」と。そしたら何でこれを普段の照明にしないの?と思ったことがある。
また、ファミコンはカセットを入れ替えていろんなゲームができるのを「何でこんなカセットを入れ替えるだけで全く違うゲームができるんだろう?」と不思議に思っていた記憶がある。
挙げればキリがないが、そんな感じで素朴な疑問を持つことが多い人は、プログラマーとしての適性が高いと言えるだろう。
もう1つプログラマーとしての適正で必要だと思うのは、パターンを見つけるのが得意な人です。
クイズである方と無い方の言葉の羅列を見て、すぐに共通パターンを思いつくようなことです。
プログラミングでは、同じ処理をまとめて関数化します。プログラムの処理の流れを考えることを、ロジックを考えると言いますが、ロジックは10人いると10人とも異なります。
いかに洗練されたプログラムを作るかは、共通化できるところは共通化し、コードを少なくすることが求められるのです。
プログラマーとしての適正がある人まとめ
- 学校での成績が良くなかった人
- 何でだろう?もっと良くならないかな?と疑問に思うことが多い人
- 物事のパターンを見つけるのが得意な人
以上、プログラマーとしての適正を紹介しました。