など、どうしても個人の感覚により適正が生じるのは仕方のないことです。 プログラマーにも適正が存在します。 正直、プログラマに向かない人間がシステムを作った場合は悲惨な結果が待っています。
・非効率でクソみたいな設計 ・こんがらがってメンテナンス不能なコード ・パフィーマンスが悪すぎ ・バグだらけ ・仕様書が意味不明
などなど、これで金をもらってたのかと驚くほどのゴミシステムの多くは、プログラム適正のない人間が作り上げている場合が多いです。 ここでは
・どういった人がプログラマーに向いているのか ・絶対にプログラマー向きではない人
についてを現役プログラマーの視点からお伝えしていきます。

プログラマーには向き不向きがある?

プログラマーという職業には、他の業種に比べてみても、歴然とした差で向き不向きというものが存在しています。ごく控えめに言っても、「誰がやっても同じ仕事だよ」なんて結果になる事は絶対にあり得ません。 たとえばある二人を
・差が出ない環境 ・まったく同じ時間
で勉強させたとしても、そこには天と地ほどの歴然とした実力の差がついてしまいます。 そして、その実力差は時間が経てば立つほど大きく広がるばかりであり、その溝が埋まる事は決してありません。 実際現場では、トップクラスに仕事ができるプログラマーは、その人ひとりで軽く並のプログラマー20人分の仕事をこなすくらいの技術力があります。 まさに一騎当千の戦国武将みたいですね。 それでは、今日はどうしてそんなにも差がついてしまうのか、どんな人に適正があるのか、少し一緒に考えてみましょう。

プログラマーは偶然を信じてはいけない

プログラマーという職業に興味を抱いている人なら、はたして自分はプログラマーとして適正があるのかどうかは、当然気になる所だと思います。 以前発表されたとある論文には、「およそ60%の人間は、本来プログラマーとして向いてない」と書かれていたそうです。 そのまま鵜呑みにして信じるのなら、約半分以上がプログラマーとして向いていない、という事になりますね。 所詮は論文の言っている事と思うかもしれませんが、現場を見てきた経験からすると、たしかに約半数以上は向いてないなと思ったりもします。 個人的に他の人を見ていて思う事は、プログラマーとしての適正は「論理的な思考ができるかどうか」で決まると思います。
・よく分かっていない事を、あいまいなままにしておかない人 ・プログラムの中にある法則性を見いだし、それを応用して未知の部分も補える
と言ったような感じです。 ことプログラミングの仕事に置いて、「運」や「偶然」といったものは存在しない、と考えるべきです。 「今日は運がよくて、たまたま仕事が上手く言った」なんて事はまずありえないと考えておいた方が、仕事は上手く行きます。 できない人は運が味方しても、毎日残業して何時間仕事を頑張ったとしてもできないままだし、逆に仕事ができる人は雨が降ろうが槍が降ろうが、常に一定の仕事の結果が出せる、そんな仕事と考えておいた方が良いでしょう。

プログラマーなら新しい事を勉強してチャレンジしよう

あいまいな事をきちんと理解できるようになるためには、常に勉強し続けなければいけません。 実際プログラマーとして就職してからは、片時も勉強する手間を惜しんではなりません。かわりにきちんと勉強すればするだけ、比例するように結果が出るので、そこに達成感を抱ける人はすぐに成長でき、他の人に比べ大きく実力の差を広げる事ができます。 プログラムというものは書かれた命令を正確に実行するだけであり、人の気持ちを汲んでくれたりはしません。 たとえばコンピューターが働いているあなたの事を、「今日は風邪気味で疲れていて大変そうだから、ちょっと駄目なプログラムでも今日だけ特別オッケーにしてあげるね!ウフフ☆」なんて忖度して気遣ってくれたり、甘やかしてくれたりする事は当然ありません。 どんな体調の時でも一字一句間違えないように書かなければプログラムは正確に動きませんし、また逆に言い換えれば、どんな体調の時でも正確に書けば、正確に動いてくれるのがプログラムの良い所なのです。勉強すればするだけ知識は味方になってくれるし、調子が悪いなど、自分にとって悪い状況の時でも正確に仕事をこなしてくれる頼もしい存在です。 このプログラムの特性を良い事とみれるかどうか、がそのままプログラマーの適正になると思います。 IT業界は常に人材不足なので、理系だろうが文系だろうが誰彼かまわず受け入れてくれる、懐の深い業界です。僕が就職した会社でも、未経験の大卒理系、文系どころか、高卒だけではなく中卒の人までいたり、年齢も22〜30とかなり幅広く人を採用したりしていました。 そんなに幅広く人を採るという事は、だれにでもできる仕事なんだろうか、最初はそう思ったりもしましたが、実際にはそんな事はありません。 僕が入った会社では、そんな風にいろんな環境で育った人たちがプログラマーになった訳ですが、プログラマーになった理由も人それぞれであり、 ・営業とか性格的に無理そうだから ・給料が良さそうだから ・未経験でも雇ってくれたから ・仕事さえできれば、どんどん出世できそうだから ・専門学校を出て募集してたのが、プログラマーの募集ばかりだったから
といった理由で入ってきたようです。 ・どうしてもプログラマーになりたかったので入社した という気持ちで入社した人は一人もいませんでしたね。僕の場合で言えば、 ・向いていそうな仕事が、他に見当たらなかったから というポジティブと消極的さが半々に混じった、なんとも言えない微妙な理由でプログラマーになったのでした。 しかし、そんな「前向きにプログラマーを志した」訳ではない人たちですら、入社一週間ほどでお互いの間にかなり実力に差がついてきます。 正直言って僕のプログラマーとしての実力は10人中3、4番目と言った所。真ん中よりは上でありましたが、それでも劣等感というか、「自分はプログラマーとして適性がある」とはなかなか思えず、これから先自分がプログラマーとして続けていけるとは思えないでいました。 というのも、上位の1番、2番の実力が他の人と比べて圧倒的すぎて、そこから超えられないかなりの差があってから、僕が3番、4番手として機能していたからです。 そこにはあまりにも歴然とした実力差が、巨大な壁として立ちはだかっていました。 僕と同レベル、またはそれより下の人も同じように感じていたらしくて、上位の人が自分の何倍もの量の仕事をどんどんこなしていく中で、いちいちいろんな問題につまづいて、その度無駄に時間を取られていく様に思えるのが本当につらかった思い出があります。 はやくもっと仕事ができるようになりたい、という気持ちが先立って、みんなが焦っていました。 (余談ですが、結果が限りなく最下位に近い人ほど、なぜか劣等感をちっとも感じたりせず、まったく仕事ができないのに謎の自信をもって偉そうにしていましたが、これはまったくの問題外です) 今にして思ってみれば、プログラマーは日夜バグと戦うのが仕事なので、いろんな失敗をしていろんな問題と向き合えば向き合うほど経験値を積む事ができて成長していけるので、失敗を恐れてはいけなかったのですね。 しかし当時はひよっこの筆者はなかなかそういう風に考える事ができず、失敗する事をなにより恐れていました。 この辺が上位と僕のプログラマーとしての適正の差だったと言えるのかもしれません。「失敗したらどうしよう」という恐れの気持ちはプログラマー(特にひよっこ)にとって天敵です。
・どんどん新しい事にチャレンジして、 ・そして失敗して、壁にぶつかり、 ・ノウハウを自分の中に蓄積していく
事が上達するのに必要なのです。トライアンドエラー、という言葉は、まさにプログラマーのためにある言葉なのではないだろうか、というくらいしっくりする言葉です。 常に新しい事にチャレンジする、常に勉強する、そういった事が好きな人はとてもプログラマーに向いているし、楽しく仕事ができるのではないでしょうか。 逆になにをやるにしても「めんどくさい」が先に来てしまう性格の人には、他の道を探す事をおすすめします。

プログラマーは几帳面であり曖昧を嫌う

・物事に対して楽観的 ・性格がやさしくほがらか
という性格の人は、人間的に暖かみがあって魅力があるかもしれませんが、プログラマーの世界ではマイナスに働く事も少なくありません。 どちらかというと、
・ちょっと神経質と思ってしまうくらい几帳面 ・少しうるさいなというくらいきちんとした考えを持っている
人の方が、プログラマーとして向いていたりします。よくものすごい潔癖性で、「掃除をする際にほんのちょっとのホコリも許さない」なんて人がいたりしますよね。 でも、それくらい細かい性格の人の方が、プログラマーとしての適性があるようです。 そしてこれはかなり偏見的な見方かもしれませんが、プログラマーとして仕事ができる人は、 ・あまり説明が上手ではない イメージがあります。プログラマーというか仕事ができる人は総じてそういう傾向がありますが、その人にとってはできて当然の事なので、なぜ他の人はできないのか、その気持ちがよく分からないんですよね。 だからそういう人にとっては、なぜ他人がそんな事で悩んでいるのか、釈然としない顔でよく人を見ています。 逆に序盤で仕事ができなくて苦戦していた人は、分からない人の苦労を知っているので、自分より後に入ってきた人の面倒を見るのが得意で、説明も上手だったりはしますね。 そういう人は教育係になったりして、いかんなくその才能を発揮したりしています。

プログラマーでもコミュニケーション能力は大事

プログラマーというとちょっとコミュ症というか、性格が複雑そうだし寡黙で何を考えているのか分からないイメージがあるかもしれませんね。 だからこそというか、きちんとしたコミュニケーション能力を持っていて、あらゆる立場の人と報連相をおこなえる人は、現場でとても重宝されます。 それぞれが自分のパソコンとにらめっこしてばっかりで、お互いに何をやっているか状況が分かりにくいからこそ、情報の共有をおこなえる人の存在がなにより大事になってくる訳ですね。

プログラマー適正とは?どんな人がSEやプログラマーになれるのかについてまとめ

いろいろとプログラマーという仕事の適正について、まとめるために考えてみました。 しかしこうして考えてみると、理系の研究職のようにちょっと神経質で複雑な人ほど向いている、少し特殊な職業なのかもしれないな、と思わないでもありません。 人手不足なので安易な気持ちでIT業界に入り込む事は可能ですが、入った後で勉強をおろそかにすればするほど後々痛い目を見る事になりますし、一方でやればやるだけ結果は確実に後からついてくるとも言えます。 もちろんプログラマーとして適正が無くてもその人の人格は否定されませんし、もっと向いている仕事で活躍できる事はいくらでも可能です。なので自分がどういう性格なのか、いちど真剣に考えてみるのもいいですね。]]>