ボリュームゾーンでは「年収アップ」な言語は選択しづらい

定期的に「どの言語が人気があるか」とか「収入が高いか」みたいなものが話題になる。

定期的なのは当然で、その手の調査やアンケートが定期的に行われるので、それが発表されたタイミングでネット赤新聞達がネタにして、それがネットで話題となるわけである。

人気のプログラミング言語「Python」、学べば年収アップも可能?

ところが残念なことに、そういった言語の需要そのものは少ない。

仕事を出す側の論理を考えたらすぐわかる。「年収が上がる言語」というのは、「単価が高くなりがちな言語」とイコールである。となれば、同じ機能を実現する時に、より工数が少なくなる(つまり全体金額が下がる)方向でなければ、その言語を選択するということは、単に開発費が高くなってしまうということである。同じ機能を実現するのに、余分な金をかける馬鹿はいない。

これは言語に限らずどんな技術でもそうであって、ある製品を作ろうとした時、その製品のライフタイムでかかるコストが一番安いであろう技術が採用される。下衆な例を上げるなら、「人工知能」で実現して運用するシステムと「人口知能」で実現して運用するシステムとがあった場合、選択されるのは

コストの安い方

だということだ。末端のイキリ技術者とイキリ経営者以外にとっては自明なことである。どれだけ素晴しい技術であっても、同じことを実現するのであれば、コスト的なメリットがある方を選択するのは当然なのである。

だから、同じことを実現するプログラマが、「年収アップ」な言語を身につけても、年収はアップしない。そもそもそんな言語を選択した開発が始まるわけでもない。「普通のECサイト」を構築するような仕事であれば、単価的には

PHP < Ruby(Rails) < Python

であるので、特に深い理由がない限りはPHPが選択されることになる。つまり、「普通のECサイト」を作るエンジニアが、Pythonを覚えたところで年収がアップしたりはしない。単に仕事が減るか、以前使っていた言語の仕事が回って来るだけである。

ちなみに弊社で開発言語を選択する時の条件は、「必要な機能を開発する妥当な単価(安けりゃ良いってもんじゃない)の外注が確保出来る言語であるか?」である。また、多くの場合「必要な機能」には「ライフタイム中のメンテナンスが容易か」等も含まれる。

当然ながら、技術の選択は「コスト」だけではない。いや、厳密に言えば「コスト」と言えるかも知れないのだが、一番大きいことは

不可能を可能にする

ことである。現実には完全に不可能だったことが新技術で可能になることはあまりなくて、実際は

不可能だと思われるくらいコストがかかっていたものが常識的なコストに収まるようになる

くらいであるのだが、とにかく「今まで無理だったことが無理でなくなる」ことに新技術の価値がある。今まで使ってなかった言語が使えるようになるということも、そういったことに価値がある。PHPにはTensor Flowのグルーがないから、PHPではTensor Flowは使えなかった。でもPythonを覚えたらTensor Flowが使えるようになる。そういった類のことである。

当然ながら、「Tensor Flow」はあくまでも例に過ぎない。「Pandas」かも知れないし、「Numpy」かも知れない。「ESP32」かも知れない。

しかし、その価値を引き出すためには「Tensor Flow」が使えないと意味がない。「Hellow World」が書けるとか、今まで書いてた「普通のECサイト」が構築出来るとかでは意味がないのである。

つまり、単に平均年収の高い言語を覚えるだけでは、「年収アップ」なぞ期待出来ない。そういった言語を覚えると共に、

新しいスキルセット

を身につけなければ、昔の仕事ばかりがやって来てしまうだけである。「普通のECサイト」を構築するスキルしかないのであれば、PHPかRubyが出来る方が仕事にあぶれないで済むだけマシである。「年収アップのためにPython」と思うのであれば、そういったスキルセットを身につけなければ「Python」の意味はない。