自分が勉強しているプログラミング言語は、転職で役に立つだろうか? 会社で身につけたスキルで年収が上がるだろうか?
という疑問は誰しも持つものだおt思います。
この記事では、ウェブ系エンジニアとして転職したい方のために、転職活動中に求められるスキルセットのトレンドを紹介します。
筆者の転職活動の経験を基にしています。
転職活動中は 30 社以上の話を聞いて比較検討したので、参考になるはずです。
バックエンド
バックエンドで使われているプログラミング言語は大きく分けて 5 つです。
- Ruby on Rails
- Go
- Node.js
- Kotlin(または Java)
- Django
なんだかんだ、Rails が一番多く、次が Go です。
Rails を使っている会社は非常に多いです。
私個人としては Rails はオワコンで、将来的には徐々に使われなくなっていくと確信していますが、2022 年後半時点では、使っている企業は未だに多いです。
エンジニアとして就職するなら、とりあえず Rails をやっておくのが無難でしょう。
mixi、マネーフォワード、Freee、タイミー、AppBrew...その他、 Rails を使っている会社はたくさんありました。
SES は避けられがちですが、未経験の方はとりあえずジョインして、 Rails 業務経験を積むのも作戦としては良いです。
Rails の知識は他で流用しづらく、学習するのは正直気が重いですが、とりあえずウェブ系の足がかりを探している人は Rails をやっておけばいいでしょう。
ただ、ビューを Rails 上で erb で書くなどのやり方はさすがに時代遅れすぎるので避けたほうがいいです。
JavaScript に強い会社だと、フロントエンドもバックエンドの TypeScript を使いたいという理由から、 Node.js を選択するケースが多くなっています。
TypeScript + Express, NextJS などです。
具体的には 株式会社 diniiや、コミューン、ミツモア社などはフル TypeScript で作られています。
Go は先進的な会社ではよく使われています。マイクロサービスとの相性が良いので、今後ますます利用が伸びそうです。
Go を使っている会社に入れば、周りもレベルが高い人が多いので、今後は安泰です。
Ruby on Rails は間違いなくオワコン
Rails は本当にしぶとく需要があります。
一方で「Rails をはがしたい、やめたい」という会社は想像以上に多いです。
Rails は「Rails のやり方を覚える」という覚えゲーで、他のプログラミング言語を学習するときにあまり知識が流用できません。
そもそも動的型付けで型の恩恵を受けられない Ruby は大規模開発に向いていません。
意味不明なコードがあちこちに散らばるので、 Rails はチーム開発に全く向いていません。 とにかく、関わる人が増えれば増えるほど生産性が下がるのです。
Ruby は実行時に型の整合性をチェックするため、大規模になればなるほどバグが発生する可能性が高くなり、保守が大変になります
Rails が好きな人は「初速を出すなら Rails」「欲しい機能がさくっと作れる」と言いますが、それは 2010 年代の話です。
Rails よりもさくっと作れるフレームワークはたくさんあります。Rails がサクッと作れていた時代は、全てを Rails 上でやろうとしていた時代の話です。
クラウドサービスを組み合わせれば、わざわざ Rails を使わなくても実現したいことができます。
「Rails は現在、多くのエンジニアを不幸にする現況で最低最悪のゴミフレームワークに成り下がっていますが、2010 年代に多くのシステムを支えた実績があるのは疑いの余地がありません。
昔の Rails は相対的に生産性が高かったので、多くの会社で使われました。
不幸にも Rails を使って作ったサービスが育ってしまったために、2020 年代になってその生産性の低さに皆が頭を抱えている状況です。
SIer 方面では「2025 年の崖」などと言われていますが、ウェブ系でも Rails の崖が 2025 年くらいに訪れるでしょう。
Rails で大規模開発している会社の多くはその非効率さに耐えられなくなって爆発するはずです。
フロントエンドのトレンド
フロントエンドは React か Vue の 2 択です。
- React(たまに Next)
- Vue(Nuxt)
Angular を採用しているウェブ系企業は観測する限りは一つもありませんでした。
SIer では Angular が採用されているらしいですが、トレンドではありません。
Angular が好きな会社はアクセンチュアや野村総合研究所です。
これらの大手 SIer が初期構築に関わったプロジェクトでは、今でも Angular が使われています。
ただ、実際は React か Vue を選ぶことになるでしょう。
私の予想では、今後は React の 1 強になります。それが世界のトレンドです。
また、Nuxt3 のアップグレードに苦労する会社が今後増えてくるので、そこで Vue も一緒に廃れてくるのではないかと思っています。
Vue.js はオワコンになる。Nuxt2 から Nuxt3 へのアップデートは破壊的変更が多すぎるから
今から勉強する人は React をやっておきましょう。
Svelte や Astro は先進的ですが、2023 年時点ではまだ早いです。もう少し大勢が決するまで様子見でいいです。 採用している会社が少ないため、転職であまり役に立たないからです。
インフラ(クラウドサービス)
GCP の勢いがすごいです。 いけてるウェブ企業が新しく採用するのは基本、GCP という印象があります。
具体的にはメルカリや Sansan です。
AWS もけっこう強いので、GCP か AWS を学んでおくのがよいでしょう。
おそらく今後は GCP の方が盛り上がると予想しています。まぁ、AWS でも GCP でもどっちでもいいです。
Azure はやめましょう。
Azure を使っている企業は 1 つもありませんでしtあ。
世界では Azure のシェアが 22 % で 2 位らしいですが、日本のウェブ系で Azure を使っている会社はほとんどありません。
Azure はユーザーインターフェースも使いづらいですし、おすすめできません。Azure を使っている会社に就職するのもおすすめできません。 何らかのマイクロソフトとの癒着を疑ったほうがいいでしょう。
Oracle Cloud は論外です。勉強する価値がありません。
Terraform も使えるようになっておきましょう。
Doker + Kubernetes の知識も必須です。抜かりなく勉強しておきましょう。