2つ目にマスターしておくとよい言語とは?(壱)



エンジニアの皆さんは得意な言語・技術をお持ちです。
1つだけの得意技術の方もおられますが、いくつかもっておられるのが普通です。
 
勿論自らの興味・感覚に従ってまた現場のニーズに従って選択されるのがよろしいのですが、ここで少しご参考になる情報をお出ししましょう。
 
ご検討の助けになれば幸いです。
 
まず、あまりにも高いハードルを考えない方がよいということです。
第二言語は最初の言語より圧倒的に時間が少なくて済むということは確かなようです。
そこで何を軸にして選ぶかですが、幾つかにわけて考えましょう。
 
①キャリアアップのため
②やりたい分野・興味
③言語種別
 
①はキャリアプランニングにおいてエンジニア一本でいくならよっぽどの鉄板言語で高いスキルがない限り難しいですね。
現在の一つの言語・技術を軸にしている場合にそれだけでやっていけるとは限りませんし、条件の選択の幅が狭まります。
また更に高い条件を求めて需要の高い技術を求めることもあるでしょう。
 
②は例えばぜひ機械学習をやりたい。スマホの開発がしたい、ゲームの開発がしたいなど興味が先にくるなら、それに必要な言語を学ぶという考え方があると思います。たとえマイナーでも競争が高くでも是非という考えです。
 
③はもっとテクニカルな考え方で、プログラミング言語には主に3種類、手続き型、オブジェクト指向、関数型の3種類あります。現在手続き型がメインだったとすればオブジェクト指向で何かとかまた関数型で何かというのがあると思います。

やはり考え方が違いますので、学んでおきたいというのはエンジニアとしては当然あるでしょう。他にも例えばアプリケーション開発用かシステム開発用もあります。
 
ではまず今回は①。
 
あくまでも現在のデータですので、これから先の予測という意味では不確定です。
ご承知おきください。
 

1.案件が多い言語を選ぶ

 
まずは案件数ランキングからです。
<現在の案件数ランキング>
 
 Java 29%
 PHP 19.3%
 Objective-C/Swift 7.5%
 Android(java) 6.9%
 JavaScript  6.2%
 C/C++    5%
 C#/C#.NET  4.6%
 HTML   4.6%
 Ruby    4.4%
 
 
WEB系とスマホ系が多いですね。スマホはすこし系統が違うかもしれません。


案件の多い言語・・・WEB系、Java
 
案件多いところ、要するに必要とされる場面が多いところからでWEB系はどうでしょう。
Web系はHTM/CSSを含むとすれば、JavaScript, PHP、Rubyもいれましょう。

逆に技術者が多すぎてまた普通過ぎて、これ単独では中々難しい可能性があるのですが、
PHP、JavaScript、HTML/CSSは基本として知っておいた方が良い場合が多いと思います。

特にPHPは他の言語やった方には容易なのではないでしょうか。
Rubyは広い用途があります。
Javaはいうまでもないでしょう、WEBから大規模系までなんでもござれです。Javaの技術者はどこでも引く手あまたです。
 

2.将来性を選ぶ

・イチオシのPython
Pythonはここで何度も取り上げました。用途の広さ、習得の用意さ、特に機械学習での鉄板という意味で将来性が高く評価されています。近年案件が急速に増えてきました。
ただし、日本では長らく無名だったのがごく最近急速に火が付き、その反動からかかなり加熱しています。イチオシの座はかわりませんが、供給がやや追い付いてくる可能性はあります。
でもPythonはこれから数年もっとも人気のある言語となるでしょう。
 

3.需要と供給の関係

 
そこでもっと生々しく単価ランキングです。
BIZREACH調べ)

1. GO
2. Scala
3、 Python
4. Kotlin
5  TypeScript
6  R

これは案件数もあるのですが、Javaなど案件数上位がでていないので
これだけにたよれませんでした。
結構案件数が少なくても高い言語はありますよね。
案件数だけで選べないというのはそのせいです。
 

4.世界での人気

世界をみてみましょう。
2018年末に「HackerRank」が調査した世界のエンジニアの
これから学びたい言語の結果です。
 
1. GO
2. Kotlin
3、 Python
4. TypeScript
5  R
6  Scala
 
 
この中の支持率はGOがが少し差をつけています。
これは興味深いですね。
またRのような統計専門言語でかなり難しいものもはいっています
ハードルは少し高くなりますが、これはやりたい分野ということにかかわってきます。
 
キャリア形成という意味からあまりマイナーな言語はと思われるかもしれませんが、Pythonだって少し昔までは海外のエンジニアには人気あるけど、日本では案件数の少ない言語の典型でした。

GOは勿論Googleが開発した言語です。ドワンゴ、メルカリ、パーソナルキャリアで既に導入
されていますので、もうマイナーとや言えませんね。
 
少なくともキャリア形成という意味でも色々選択の幅がありますので、色々な観点から検討されることをお勧めします。
 
次回はエンジニアとしてのキャリアプラン  ~2つ目にマスターしておくとよい言語とは?(弐)~ です。