
プログラマってすごいよね、何でも自分で作れるんだもんね。
全然だよ!何でもできるわけじゃないよ。


そうなの??だって専門職って感じじゃん!
今のプロジェクト専門ね。

「今のプロジェクトでは出来る」けど「他のプロジェクトでは通用しない」
そんなプログラマはわんさかいます。
今回は、ほとんどの人がそんなにすごくないことについてお話します。
一口にプログラマと言っても膨大な種類がある。
IT業界のことを良く知らない人でも、プログラミングはプログラム言語で書くということくらいは知っている人も多いのではないでしょうか?
英語、日本語、ドイツ語、フランス語…等、言語の数は膨大にあるように、プログラミング言語もまた、膨大な種類があり、200種類以上あると言われています。
日本語ができるからと言って英語ができるわけではないように、プログラム言語も一つ覚えたからと言って、他の言語ができるとは限りません。
日本語が話せるからと言って、「私、語学が得意なんだよね」とは誰も言わないですよね。
でもプログラマは一つの言語ができるだけで「私、プログラミング得意なんだよね」という思想に陥ってしまいます。
また、同じ日本語の中でも、地域特有の方言があるので、北海道に住む人が沖縄の人の言葉を100%理解できるかと言えばそれも難しいと思います。
プログラムも同じで、同じプログラム言語でも方言みたいなものがあったり色々な書き方があります。
さらに細分化される要素もあります。
例えば、料理をするとき、クックパッドを見てカレーライスを作るとします。
見るレシピによっては、ルーを使ったりスパイス調合が必要だったり、圧力鍋を使ったりフライパンを使ったりと、ベースによって作業内容は全く違いますよね。
プログラム言語もプログラムを書くための土台は色々な種類があるため、ある土台で書いたとしても、他の土台で書くことができるかと言われると、簡単ではありません。
このようにプログラム言語はたくさんある上に、同じプログラム言語だけみても色々な方言や土台があるため、プログラミングの世界はものすごく広いということがわかります。
プログラマの世界は狭い
プログラムの世界はものすごく広いことはお話しましたが、プログラマは逆にものすごく狭い世界で生きています。
40年間プログラマを務めてたとして、一体どれくらいの種類をカバーできるでしょうか?
ほとんどできません。
ひとつの技術を覚えたら経験者して重宝され、次回もまた同じようなプロジェクトに配属されます。
何年も同じことしかやっていないというプログラマも多いはずです。
広いプログラムの世界の中のほんのわずかな部分だけをかじって生きている、それがプログラマです。
多くのプログラマがたどり着く思考回路
同じことを繰り返しやっていくと、慣れてきますし、技術も覚えます。
その技術を必要としているところからは重宝もされます。
そんなプログラマが思うことは
「私、プログラミングバリバリですごい」です。
バチカン市国よりも狭い世界で通用しているだけなのに世界中で通用すると勘違いをしてしまいます。
井の中の蛙とはこのことですね。
そして、同じことを出来ない他人が現れると「あいつ、こんなことも出来ないのかと。」と見下します。
たまたま自分が同じことを長く続けて自然と覚えただけなのに、なぜかそこに誇りを持ちます。
長くやっていたら覚えるのは当たり前です。その人がすごいからではありません。
でもプライドの高い人が多いせいか、自分がすごいと勘違いしてしまうんですね。
IT業界のやり方がダメすぎる
例えば、あなたがレストランに勤めていて、カレーライスの担当をまかせられたとします。
何度もカレーライスを作っていくとだんだん慣れてきますよね。気づくとカレーライスに関してはもう一人前と言ってもいいレベルになります。
その後、他の店舗に異動することになりましたが、異動先の店舗でも経験者ということでまたカレーライスの担当になる可能性は高いです。
結果的にあなたは、いつまで経ってもカレーライス以外の料理を覚えることが出来なくなります。
同じように、IT業界でも基本的には「経験があること」に需要があります。
現在の経験を活かして、次も同じ技術のプロジェクトへ、そのまた次のプロジェクトも…とこの繰り返しになります。
その結果、それしかできない人間になります。
経験がないからと新しいことに挑戦させてもらえず、いつまでたっても経験のないままで、今持っている技術以外での需要がほぼなくなってしまいます。
つまり、「新卒入社時や未経験転職時に一番最初のプロジェクトで何に配属されるか」でその後のプログラマ人生は変わります。
あまり需要のない技術のプロジェクトに配属されると、その後が大変です。
プログラマは何でもプログラミングできるわけではない
プログラマ=なんでもできるわけではなく、数ある作業のほんの一部だけをやっているに過ぎません。
一歩プロジェクトを変えたり、会社を変えたら全然通用しないこともあります。
ここに気づいて、危機感を覚えていれば問題ありませんが、多くのプログラマは気づいていません。
今、必要とされていることに対応できているから、自分は出来ると思い込んでいます。
確かにひとつ覚えれば何年先までも通用するであろう技術も存在しますが、いずれは変化や衰退します。
何やっても通用するすごいプログラマもたくさんいますが、多くの人はやったことしかできないのが事実です。
ーーーーーーーーーーー
いかがでしたでしょうか?
大半のプログラマは何でもプログラミングできるすごい人ではありません。
やったことあることだけ、長く経験したことだけは得意になるかもしれませんが、それだけです。
ここで周りと違うことを見せつけられれば良い意味でだいぶ浮くんですけどね。
ちなみに私もたいしたことない人の代表です。
以上、最後までご覧いただきありがとうございました。