どうも、因幡亭もぐらです。

なんだか「 IT について語る人」のポジションになってしまったようで
いきなり書くことがなくて困っています。
そんな中、本日は自分の思う「プログラマの適性」についてダラダラ流そうかと思います。


好きこそものの上手なれ

プログラムが好きである事、これは非常に大事なファクターです。
これがある事だけで「適性がある」とジャッジしても良い位に思います。
どれだけ好きかの基準として、

「趣味のプログラムが書けるか」

は大きなポイントです。
プログラム言語の仕様をいくら頭でわかっていても、実際に何かプログラムを作り上げた人にはかないません。

この特性は、プログラムのデバッグ作業をする際にも大事です。
根の深いバグを取り除く作業は、大抵そう簡単にはデバッグできません。
そんな状況において「さて、付き合ってやるか」というようなバグと遊ぶスタンスはアドバンテージとなります。

「まずは簡単なものを作りあげる」
意外とできないのがこれです。
プログラム言語の参考書などを一通り眺めて「この言語完璧」とはとても言えません、よって何かプログラムを作るわけですが、難しい壁にあたった時に自分で調べて問題解決に至る人とそうでない人でふるいにかけられます。

「趣味のプログラム」は「業務のプログラム」と決定的に違う点があります。
それは「やっぱりやーめた!」とさじを投げる事ができる事です。
自分のタイミングでいつでもやめる事ができます。
しかしその選択を取らない事が大事で、時間がかかっても完成に至らせる事こそ適性と言えます。


「なぜなぜの海」にいる事が不快でない人

決してプログラムに限った話ではありませんが、
物事の特性を決めるのには1つあるいは複数の要因が存在します。
「何か悪い事」が起こった時には、必ずその原因があります。

この原因を見つけるためには
「なぜ○○なの?」⇒「××だから」⇒「なぜ××なの?」⇒「△△だから」⇒「なぜ・・・
というループを掘り下げる作業をする必要があります。
プログラムのバグなどを取り除く作業などでも、このような力が必要となるケースが存在します。

実際業務のプログラムを作り上げる上で、
「プログラムを作っている本人にしか不具合の原因がわからない」という状況はしばしばあります。
そんなときに頼れる力は己の力のみです。
己自身が、問題解決に至る事ができる能力を有している必要があります。


・・・というようなプログラマとしての適性、
もしあなたがこれからプログラマになる人であれば、意識しておくと何か役に立つかもしれません。