プログラミングするならどの言語を習得すべきか?
僕みたいにフリーランスエンジニアを目指そうと思う人って最初に習得すべきプログラミング言語で迷うことがありますよね。
かくいう僕も結構迷った時期があったんですが、とりあえず現時点ではJava一択です。
Javaとかもう今更感が漂いますが、Javaはやっといて損はありません。
なんだかんだ結局Javaでの開発が多い
実際、なんだかんだJavaでの開発がぶっちぎりで多いんです。僕が勤務するSierでもRubyやPythonを扱う現場(案件)はありません。(上司に確認済)
これはSierの取引相手が旧態依然とした古典的な日本企業なので、大体そういうところはJavaでの開発がメインなのが原因です。
簡単に言えば、取引先にベンチャーがいないからRubyとかの取り扱いがないってだけ。。
ただ、業界的にJavaでの開発が一番多いのは事実で、フリーランスを目指す人はまずJavaを学んでおいた方がいいのは間違いありません。
「俺はRubyだけやりたいんだ!」って言っても、Rubyでの開発はまだ少ないということもあり、可能性としては低いが仕事が見つからないという可能性も否定できません。
僕たちの都合に市場は合わせてくれないので、どうしても僕たちが市場に合わせていくしかありません。
Javaをやっとけば仕事が途切れることはないので、まずJavaをやっておけば間違いありません。
需要の多い言語を習得することが仕事獲得の秘訣です。
1つの言語でコードが書ければ、他の言語もできるようになる
日本語が話せるからといって英語が話せるようにはなりませんが、JavaができればRubyでもPythonでもできるようになります。
プログラミングは極論を言えば、IF文とFor文さえ書ければ大体どーにかなります。
ですのでプログラミング未経験者が、勉強する言語で迷うのはあまり意味がありません。
1つの言語が読み書きできれば、他の言語にも充分流用可能なのでまず需要の多いJavaを身につけた上で、自分のやりたいことに合わせて言語を選択すれば良いです。
僕はJavaを身につけた後は、RubyやPHPにシフトしていきたい
とりあえず僕の展望は、Javaを身につけ仕事は獲得できる状態にした上でRubyを学んでいきたいなと思ってますね。
というのも、Javaって古臭い体質の現場で使用されることの多い言語で、週5日勤務だしリモートワークもできないことが多いんですよね。
会社に行くのは構わないんですが、週4日労働にしたいので将来的にJavaをメインにはしたくありません。
Rubyはベンチャー界隈で使用されることが多い言語ですから、働き方が割と自由なんです。
言語で働き方が変わる世界なので、自分がどういう働き方がしたいかを考えましょう。
結論、まずはJava。以降は自分の働き方次第で変える
まずはJavaです。Javaで最悪でも飯が食える状態にした上で自分の理想の働き方ができそうな言語を習得しよう。
Web系ならRuby・PHPだし、AI関連でPythonも良いですね。
機械学習やらビッグデータの解析やらで需要が増えることが予想されるのでPythonはめっちゃ良いと思います。