Scalaエンジニアのフリーランスの将来性とキャリアの広げ方
公開 2026-10-29 監修:株式会社エージェントベスト
Scalaエンジニアのフリーランスの仕事は、Scalaで動いているサービスを止めずに新しい版へ移し、保ち続ける仕事を軸に続くと考えられます。scala-lang.orgでは、2026年9月にScala 3.9が新しい長期サポート(LTS)の系列として公開され、Scala 2.13も保守を続ける方針が示されています(2026年10月時点)。
選択肢を広げるには、Scala 3で書けることに加えて、版の移行を計画して進める力と、JVM・データ処理・設計のどれかの軸を持つことが近道です。この記事では、公式に示されている動きを土台に、仕事の変わり方と経験に応じた広げ方を整理します。
公式の動きから見えるScalaの現在地
2026年10月時点で、scala-lang.orgと関連する公式ページで確かめられることは次のとおりです。
| 公式に示されていること | 出典 |
|---|---|
| Scala 3.9.0が2026年9月3日に公開され、Scala 3の新しいLTSの系列になった | scala-lang.orgの3.9の発表 |
| それまでのLTSのScala 3.3は、3.9.0の公開から1年間は保守が続く。3.9 LTSは少なくとも3年の保守が約束されている | 同上 |
| Scala 3.9でビルドした成果物は、Scala 3.3のプロジェクトからは使えない | 同上 |
| 新機能を含む「Next」の系列は多くの利用者向けの既定で、ライブラリはLTSを対象にすることが勧められている | 保守方針のページ |
| Scala 2.13の保守は今後も続く見込み。2.12は最小限の保守、2.11は2016年に終了 | 保守方針のページ |
| Scala 3.8以降は、必要なJDKの最低版が17 | JDK互換性のページ |
| Spark 4.2.0はScala 2.13で動き、Scala APIを使うアプリケーションは同じ版のScalaを使う必要がある | Apache Sparkの公式ドキュメント |
| sbtは2.x系列が2026年6月14日に初版を公開し、現行の系列になった | sbtの配布ページ |
配布ページでは、2026年10月時点で、Scala 3の現行版として3.10.0(2026年10月12日)、3.3系のLTSとして3.3.9(2026年10月28日)が並んでいます。
現場への影響
| 公式の動き | 現場の仕事への影響 |
|---|---|
| LTSが3.3から3.9へ移った | 3.3で止まっている現場で、版上げの計画と作業が生まれる |
| 3.8以降はJDK 17以上が必要 | Scalaの版上げに、JDKの更新が先に必要になる現場がある |
| Scala 2.13の保守が続く | 2.13で動くシステムの保守・改修の仕事も残る |
| SparkはScala 2.13 | データ処理の部分だけ2.13に残す、といった判断が必要になる |
| sbt 2.x系列の公開 | ビルドの設定の移行も、版上げの作業に加わる可能性がある |
発表では、アプリケーションの版上げは、ビルドの道具、JDK 17以上、(使っていれば)Scala.js、Scala、ライブラリの順に、一段ずつCIを通しながら進めることが勧められています。ライブラリを先に上げると新しいコンパイラが必要になることがあるため、依存を先に上げないようにとも書かれています。この順番を理解して計画できることは、これからの案件で話せる経験になります。
Scalaの仕事はどう変わっていくか
「新しく作る」と「移して保つ」が並ぶ
Scalaで作られたサービスは、Web系の企業を中心に長く動き続けています。新しくScala 3で作る案件と並んで、Scala 2.12・2.13や3.3で動いているものを、新しい版へ移す仕事が一定の割合を占めると考えられます。
移す仕事では、新しい機能の知識と同じくらい、依存しているライブラリの状態を調べ、移行の順番を決める力が問われます。Scala 2のマクロはScala 3のコンパイラでは展開できないため、古いライブラリに頼っている部分の置き換えを判断する場面も出てきます。
生成AIが入ったときに残る判断
生成AIの支援で、定型のコードやテストの下書き、版上げに伴う機械的な書き換えは速くなっていく可能性があります。3.9の発表でも、コンパイラの自動の書き換えの機能を段階的に使う方法が示されています。
一方で、次のような判断は、道具が変わっても人の責任で残る部分が大きいと考えられます。
- どの抽象化を残し、どれをやめるか。チームが読み続けられる形か
- 移行の前後で、処理の結果やエラーの扱いが変わっていないか
- ライブラリを置き換えるか、Scala 2.13の成果物を一時的に使い続けるか
参画先によっては、ソースコードを外部の道具に渡せるかどうかが方針で決まっています。使えるかどうかは案件ごとに確かめてください。働き方の変化は生成AIで仕事はどう変わるかでも扱っています。
選択肢を広げる4つの方向
Scalaの経験を軸にしたまま、選べる案件を広げる方向は大きく4つあります。
| 方向 | 身につけること | つながる案件の例 |
|---|---|---|
| 移行・版上げ | 依存の調査、マクロの置き換え、JDKとビルドの道具の更新 | Scala 2から3、3.3から3.9への移行 |
| JVMと周辺の言語 | JVMの性能調査、Java・Kotlinとの連携 | JVMの言語が混在するバックエンド |
| 大量データの処理 | SparkのScala API、分散処理の性能 | 集計や変換の処理の開発・改善 |
| 設計とリード | 書き方の規約、育成、ライブラリの方針 | 技術リード、共通基盤の整備 |
全部を同時に追う必要はありません。今の経験に近い方向を一つ選び、そこで一段深い経験を積むほうが、面談で説明しやすくなります。
JVMの言語と組み合わせる
ScalaはJVMの上で動くため、JavaやKotlinの案件とは経験を行き来しやすい関係にあります。Scalaだけで案件を探すと選択肢が限られる時期でも、JVMのバックエンドとして経験を示せると、参画できる範囲が広がります。比べる際はJavaエンジニアの将来性もご覧ください。
データ処理の側へ広げる
SparkのScala APIでの経験は、大量データの処理の案件につながります。ただ、データの基盤全体の設計や品質の管理は、データエンジニアの仕事として求められる中身が別にあります。その方向へ広げる場合はデータエンジニアの将来性を参考にしてください。
経験の段階ごとの広げ方
実装中心の段階
まずは、Scala 3で小さなものを一つ書き、Scala 2との違いを自分で確かめておくことが、選べる案件の幅に直結します。Scala 2の現場にいる方は、手元で現在のコードの一部をScala 3に移してみて、どこでつまずくかを記録しておくと、移行の案件の面談で話せる材料になります。
設計を任され始めた段階
型やモジュールの分け方を決める立場になったら、「なぜその書き方を選んだか」を文書に残す習慣をつけると、次の案件で話せる経験になります。移行や性能の問題を一つ深く解いた経験があると、実装の担当から設計の担当へ移りやすくなります。30代の働き方は30代のフリーランスの記事で扱っています。
リードの段階
技術の方針を決める立場では、LTSとNextのどちらを使うか、いつ版を上げるかの判断が仕事になります。公式の保守方針では、ライブラリにはLTSを、それ以外のプロジェクトにはNextを勧めています。自分たちのプロジェクトがどちらに当たり、チームの習熟や依存の状態を踏まえてどう決めたかを説明できると、上流の案件に入りやすくなります。経験の長い方の働き方は50代のフリーランスの記事、上流への入り方は上流工程の記事で解説しています。
将来に備えて今からできること
- 経歴に系列を書く:Scala 2.12・2.13・3のどれで、どのJDKとsbtで書いてきたかをプロジェクトごとに書き分けます。書き方はScalaのスキルシートの記事で解説しています
- 新しいLTSで一度動かす:手元の小さなアプリを、Scala 3.9とJDK 17以上で動かしてみます
- 移行の順番を説明できるようにする:ビルドの道具、JDK、Scala、ライブラリの順を、自分の経験に当てはめて話せるようにします
- 広げる方向を一つ決める:上の4つの方向から、今の経験に近いものを選びます
求められる技術の全体像はScalaの案件で求められるスキル、報酬の決まり方はScalaエンジニアの報酬の記事にまとめています。
よくある質問
Scalaはこの先も案件がありますか?
先の案件の量を言い切ることはできません。ただ、Scalaは新しいLTSの系列が公開され、Scala 2.13の保守も続く方針が示されています。動いているサービスを新しい版へ移して保つ仕事は、サービスが使われている限り発生しやすいと考えられます。JVMのバックエンドとしての経験もあわせて示せると、状況が変わっても選択肢を保ちやすくなります。
Scala 2のままのシステムはすぐに移行が必要ですか?
公式の保守方針では、Scala 2.13の保守は今後も続く見込みとされており、すぐに使えなくなるわけではありません。ただ、ライブラリの新しい版がScala 3だけで出るなど、周辺の事情で移行を考える現場もあります。いつ移すかは現場ごとの判断になるため、参画先の方針を確かめてください。
Scalaの経験を生かしてほかの言語の案件にも広げられますか?
広げられます。とくにJavaやKotlinなど、同じJVMの上で動く言語の案件とは、性能の調査やライブラリの扱いで共通する経験が多くあります。言語を増やすこと自体より、Scalaで身につけた型の設計やエラーの扱いの考え方を別の言語でも使えることを示すほうが、評価につながりやすいと考えられます。
参考にした公的情報・資料
- Scala 3.9 LTS released!(scala-lang.org)
- Development / Scala Maintenance Policy(scala-lang.org)
- All Available Versions(scala-lang.org)
- JDK Compatibility(docs.scala-lang.org)
- Spark Overview(Apache Spark)
- Download(sbt)
- Scala 3 Migration Guide: Macros(docs.scala-lang.org)
記事の内容は公開日時点の情報にもとづきます。制度や税率は変わることがあるため、手続きの前に必ず各機関の最新情報をご確認ください。