IT系のエンジニアと言っても大きく分けて2つあります。SIerで働くエンジニアと自社でサービスを持つ会社(Webサービス系)のエンジニアです。SIerに所属していて感じるのは確かに世間で言われているように、Webサービス会社より技術的に遅れているということです。”Kubernetes 事例”で検索するとWebサービス会社の事例のほうが多く表示されることからも分かります。じゃあだからといってSIerがまったく駄目かというと給料は安定していることが多いですし、大規模ITプロジェクトの実行にはSIerが必要な状況も当面は続くと思われます。そんなSIer所属の小生が各種プログラミング言語を触って得た浅い所感を元に、それでもSIerを目指す人に向けてオススメの言語をお伝えいたします。
Java
SIerと言えばJavaと勝手ながら思っております。近年はあまり人気がないような気もしますが、長年蓄積されたソフトウェア資産の力は大きいと思います。迷ったらJavaを習得するのが最もつぶしが利くと思います。またオブジェクト指向言語としても完成度が高いので、Javaを習得すれば他の言語、C#やPythonやRuby等も容易に習得できると思います。
C#
以前はMicrosoftと心中するとかWindowsしか対象じゃないという方が使う言語だと思っていましたが、最近はオープン化されていて、WindowsやLinuxでも動作します。また、Javaと言語仕様が似ていますが、Javaよりも進んでいる印象を持っています。しかし、ライブラリの豊富さはJavaに軍配が上がるのではと思います。Webサービスを実装しようと思ったらJavaだとJavaEEやPlayやSpringBootといった選択肢がある一方で、C#だとasp .net一択なような気がします。Windowsが多めの方にはオススメの言語です。
Python
最近人気のプログラミング言語です。Pythonの人気の要因はやはり機械学習系のソフトウェアが揃っていることでしょう。データサイエンスをする方には間違いなくオススメです。言語仕様というか書き方も正解が決まっていて、人によって書いた結果があまり違わないというのも良い点かなと思います。プログラミングを初めてする方にはオススメと思います。
Ruby
日本人のまつもとゆきひろさんが開発した言語です。よくPythonと比較されます。Rubyの方が玄人受けが良さそうな気がします。Rubyを一躍有名にしたのはWebフレームワークのRuby on Railsです。Railsを使えば驚くほど短い行数でWebサービスが作れます。
JavaScript
Webブラウザで動く唯一の言語です。HTML上で動的になにかしたい時は必ず必要になります。しかし、これがなかなか曲者で最新のJavaScript仕様=最善ではないです。多くのブラウザをサポートするためには古いJavaScript仕様で書かないといけない部分も多くあり、こっちのブラウザではこの関数が使えて、こっちでは使えないということが普通に起きるために悩まされます。一応ポリフィルという機能を使えば、古いブラウザでも動くようになりますが、ポリフィルを有効にする設定等がめんどくさいです。Pythonと違って何が正解かというのも分かりにくいです。またES6以前と以降では言語仕様もだいぶ変わりますので注意が必要です。
C言語
プログラミングをするならまずはC言語と硬派な人が言いそうですが、個人的にはPythonぐらいが良いのではないかと思います。現状OSを書ける唯一の言語なので基本の言語なのは分かっているのですが、ポインタやメモリ管理はSIerは知らなくてもやっていけます。反面プログラミングを極めたい人は避けては通れないと思います。
Go
あのGoogleが開発した言語です。玄人向けだと思います。他のオブジェクト指向言語と同じだろうと思って触ると肩透かしを喰らいます。シングルバイナリが簡単に作成できるし、クロスビルドもお手の物なので使いやすいです。GUIを伴わないアプリケーション、例えばWebアプリケーションや、コマンドツールなどにはオススメです。
Rust
ポストC言語の最右翼。Firefoxの開発元Mozillaが開発した言語です。玄人向けだと思います。RustでOSは開発されないかもしれないですが、OSに近しいところでは利用されるかもしれません。Firefoxでは段階的にC言語で書かれていたものをRustに置き換えていっているそうです。
SIer目指す人にオススメの言語
SIerを目指すのであれば、JavaかC#が良いのではないかと思います。なんの捻りもなくて申し訳ないですが、やはりこの2つのどちらかができれば困りません。Javaは古臭くて終わったような印象を与えてしまいがちですが、スペシャリストが書けば驚くようなコーディングができる奥深いものです。Javaなんて簡単だよという人も社内には結構いますが、大抵の人は表面的にしか知っていません。Javaも捨てたものではないのでもし何を習得しようか迷っていたらJavaも候補に入れてみてはどうでしょうか?