現在需要がある言語で将来も稼げるとは限らない

MTI1MDczOTM3MjQyNjkwODM0

COBOLを使えば高収入を得られるが、おそらくキャリアを限定することになってしまう。言語がマニアックになればなるほど、企業はより多くの給与を支払う傾向にあるだろう。需要と供給のシンプルな問題だ。あるいは、MongoDBのケリー・スターマンはそのことを「得られる収入の額と採用の可能性は反比例する」と定義している。

Quartzの「履歴書で最もアピールできるプログラミングスキル」のランキングが間違いであり、人を惑わせる理由がまさにそれだ。どのプログラミング言語が「ベスト」なのかは多くの要因が絡んでおり、その言語で今どれくらい稼げるかということは、ひょっとして最も軽視されているかもしれないのだ。

人気争いではどうか

結局、ベストなプログラミング言語とは、必ずしも最も稼げる言語というわけではなく、仕事探しに困らない言語、ということになりそうだ。

その基準から言えば、Redmonkの四半期ごとの人気プログラミング言語リスト(GitHubとStack Overflowとの照合データから抜粋)は、次に習得する言語を探す優れた参考資料と言えそうだ。

pic001

ソース:Redmonk

このランキングで、JavaとJavaScriptはトップの座を巡って接戦を演じ、グーグルのGo言語はチャートを急上昇して21位にランクインしている。では、ある言語は他の言語よりも重要なのだろうか?

たぶんそうだ。

Pivotalのチーフ研究員のミリンド・バーンダールカルはこう強調している。

Matt Asay (@mjasay):「どのプログラミング言語が最も重要だと思いますか?またその理由は?」

Milind Bhandarkar(@techmilind):「c++11は新しいアセンブリで、Javaは新しいC、Goは新しいJavaでpythonは新しいcobolですね。「最も」重要な言語というのは今までも、これからも、ありません」

バーンダールカルは正しい。業界全般にわたってプログラミング言語の重要度を客観的に評価する方法はないかもしれない。しかし開発者各自が自分にとってベストな言語を決める主観的な方法ならば確実に存在する。つまり、自分の将来設計に合った言語を選ぶということだ。

将来設計

例えば、クラウドの専門家サイモン・ワードリーは「インターネットがオペレーティングシステムならば、JavaScriptがその言語だ」と言っている。

クラウドを将来やりたいと考えるならば、Goが上位にランクインするはずだ。Red Hatのポール・ランディンによると、「Goは困難な問題も簡単に解決してしまう」ので、「クラウド時代で最も面白い(言語)」だという。

モバイルを選ぶ?それならば、Swift(アップル)やJava(Android)は必須だろう。

自身の選択に自信がなければ、Redmonkがまとめたようなプログラミング言語の人気ランキングを見てカンニングすればよい。Goがそうだったように、人気が急上昇する言語に注目していればいいのだ。

あるいは企業に人気の言語を、給与額ではなく求人数から探ってみよう。その基準でIndeed.comのデータを見ると、Ruby は衰えつつあり、Pythonは比較的コンスタントに人気で、Goは爆発的に伸びている。しかし、超右肩上がりの成長を求めるなら、Node.jsが最適だろう。

pic002

ソース:Indeed.com

ウェブは死んだと思われていたが、実際はかなり元気なようである。

好きなコードで稼ぐ

開発者は必ずしも常に将来性と、現在の給与面のどちらかで言語を選ぶ必要はない。Quartzのランキングには、収入と人気を両立した言語が多数登場している。例えばJavaScriptやPython(ビッグデータの重要性が増すにつれてランクが急上昇した、万能で素晴らしい言語)だ。

pic003

ソース:Quartz

実のところ、開発者が市場の担い手になっているのだし、今日ではどのようなプログラミング言語でもそれを学ぶのが悪い投資になるということはない。企業は必死で開発者を雇って意欲を喚起しようとしており、その傾向は当分衰えないだろう。

これを念頭に置いて、好きなことをすればよい。自分が望む未来を最も表現できる言語でコードを書くのだ。選ぶ言語が何であれ、開発者であることがこれほど恵まれている時代は今までにないのだから。

トップ画像提供:Shutterstock

Matt Asay
[原文]