エンジニアになるまでの道標

大手日系企業に勤めて3年目、仕事について色々と語ります。

どのプログラミング言語を学ぶべきか考える

自分の考えを整理するために書く。

前提

SIerで働くサラリーマン。業務経験はJavaのみ。個人開発でSpring Bootを使用。Vue.jsとAWS完全に理解した状態のド素人。モダンなフロントエンドに興味あり。インフラも将来的にはできるようになりたい。

これから積極的に触れたい言語ランキング

  • TypeScript

みんな良いって言ってる。フロントエンドもバックエンドもこいつがあれば綺麗に書ける幻想を抱いている。

何を作るにしても必須。

  • Go

将来的にMSAを採用した環境で働くだろうから必要だと考える。サーバレスとの親和性も高い。

sunk costがデカい。初めて触れた言語。基本情報もJavaで取得した。無駄に思い入れがあるので捨てきれない。きっちりかっちりしたモダンな業務系システム、toBシステムでも採用はあるし、Spring Bootを採用するtoCサービスも意外とあるし、オブジェクト指向、型システム、ラムダ式、進化を続けるJavaを追い続けることで、歴史とパラダイムを知ることができるので面白い。学習を続けたい意欲はあるが・・正直、Webに興味があるのに、なぜPHPRubyをやってこなかったんだと新卒の時の自分を恨んでいる節もある・・結局、世の中を見渡してみた時にJavaを採用してるプロジェクトは不幸なことが多い気がする・・サーバレス分野で生き残れない可能性もあると思うので、早いところ見切りをつけても良いのかも知れない。

  • Rust

少し出遅れた感はあるが、今学ぶべき言語だと思う。低レイヤーやるなら、CよりRustを選びたい。

  • WAsm

Rustの次に来ると言われている。状況はウォッチし、将来的に必要であれば学ぶ。

WebやるならやっぱりPHPだよね・・軽いし。転職活動してみて、PHPの強さを思い知った。徳丸さんがいなければ、Webサービス作るにしてもバックエンドは最悪、他言語でもいいや!となれるかも知れないが・・ウェブセキュリティの考え方とか、ウェブ自体の考え方とか事例が多いのはやっぱりPHP

  • Kotlin

サーバーサイドKotlinが2020-2021で瞬間的ムーブメントになったと思う。JVM系好き。Kotlinも今は安定していると聞くし、Javaの良い面も取り入れた新しい言語なので、積極的に触れていきたい。モバイルにシフトしていく足がかりともしたい。

JVM系好き。JavaでチョットStreamを試してみて興味を持った。

全然興味ないけど、構文は理解してる。簡単にスクレイピングとかはできるようになっておいた方が良いとは思っているが、必要に応じて学習すれば良い。ジョブとか、Lambdaで簡易なスクリプト書くときに使えるから、早く綺麗に書けるようにやっておいてもいいのかな・・と思う程度。

  • C

Atcoderの解説がほとんどCばかりなので、アルゴリズムの勉強用にCに慣れたいなという思いがある。

スタートアップで採用するところも多いし、需要はある。でも今からRubyやるならPHP頑張った方が良い。

全然興味ない。