Scalaとは?将来性やメリット・デメリット、Javaとの関係も解説

最終更新日:2023年10月16日

Scalaは、2003年にリリースされた比較的新しいプログラミング言語です。Webアプリケーションや業務系システムなど幅広い開発で活用されています。Javaとの互換性が高く、組み合わせて利用されるケースも少なくありません。

さらには、高年収につながる言語としても世界的に知られています。現時点では確かな支持を得ているScalaですが、将来性はどうなのでしょうか?

この記事では、Scalaの習得とScalaエンジニアとしての転職を検討するITエンジニア向けに、Scalaの概要や将来性、Scalaエンジニアの需要状況や転職動向、今後のニーズについて解説します。

この記事のまとめ

  • Scalaはオブジェクト指向と関数型をミックスさせたプログラミング言語で、両方の良いところ取りをしている
  • ScalaはJavaとの互換性が高いため、Javaからのスキルチェンジ、Javaシステムの言語置き換えなどに向いている
  • 現状Scalaは需要に対して供給が不足しているため平均年収が高く、エンジニアにとってはチャンスの言語と言える

今もらっている年収は高い?低い?

支援実績10年の登録者データを基にした エンジニア・クリエイター専門 年収診断 無料診断START

Scalaとは

Scalaとは


Scalaとは、2003年にリリースされた、関数型プログラミングとオブジェクト指向プログラミングの双方のパラダイムに対応可能なハイブリッド言語です。WebサイトやWebアプリケーション、スマホアプリ開発などに使われています。

幅広い領域で使われているScalaですが、エンジニア人口が少ないことから市場価値が高い傾向にあります。Scalaは、Javaプラットフォーム上で動作し、Javaのプログラムと連携させることができます。

Scalaの成り立ち

スイス・ローザンヌにあるスイス連邦工科大学 (EPFL) 教授のマーティン・オーダスキー氏を中心にScalaは開発されました。Scalaの公式ページ内のTOUR OF SCALAでは「一般的なプログラミング方法を簡潔かつエレガントかつ型安全な方法で表現するために設計」されているとしています。

オーダスキー氏はjavacなどの開発に携わった経験があり、javaとの親和性が高く設計され、JRE(Javaの実行環境)での実行が可能な互換性が保たれています。JREで実行可能に設計されているため、マルチプラットフォームで動作させることが可能です。

オブジェクト指向プログラミングと関数型プログラミングの特徴を持つ

プログラミングパラダイムとして、オブジェクト指向プログラミングと関数型プログラミングという考え方があります。

オブジェクト指向プログラミングは、プログラム上で扱うモノ単位でプログラムを作成するという考え方です。プログラムの部品化がしやすく、一定のセキュリティも保てるというメリットがあるため、近年では多くのプログラミング言語が取り入れています。

関数型プログラミングは、処理を関数という単位で記述します。関数を簡潔に記載し、その関数の組み合わせによってプログラミングを構成します。各関数は独立しており、実行中の他の処理の影響を受けません。このため、コード全体が簡潔で可読性が高く、再利用性や保守性が高い特徴を持ちます。

Scalaではこのオブジェクト指向と関数型プログラミングを統合して作られており、両方の記述方法が利用可能です。それぞれのメリットを活用できることは、Scalaのメリットとなります。

Scalaで開発されたサービス例

Scalaは著名なサービスにおいても活用されているプログラミング言語です。サービス構築にScalaを活用している事例を紹介します。

■Twitter
Twitter社のMarius Eriksen氏による「Effective Scala」によると、「Scala は Twitter で使われている主要なアプリケーションプログラミング言語の一つだ」としています。「Twitter のインフラの大部分は Scala で書かれ」ており、「業務を支える大規模ライブラリ」にもScalaを利用していることに言及しています。Twitterなどのサービスは日進月歩で進歩しており、本文書は2012年の記録ではあるものの、現在もScalaのプログラムが活用されていることが想定されます。

■Spotify
音楽ストリーミングをサブスクリプション形式で提供するSpotifyもScalaを利用しています。特にデータ基盤領域で利用しており、OSSのライブラリも公開しています。

■Chatwork
国内のサービスでScalaの利用を進めている企業としてはChatworkが有名です。Chatwork Creator's Noteによると2014年と非常に早い段階から社内の開発言語としてScalaを取り入れています。その後の報告でも多くのプロダクトでScalaでの開発実績をあげており、今後も継続的に利用すると目されます。

ScalaとJavaとの関係

ScalaとJavaには密接な関係があります。

一つは開発者のマーティン・オーダスキー氏がJavaの一部の開発に携わっていたことです。Javaからの強い影響を受け、共通する点も多い由縁といえます。

次に、Scalaの動作環境としてJVMが利用できることが挙げられます。JVMはJava Vertial Machine(Java仮想マシン)の略で、一般にJavaの動作環境として提供されており、広く普及しています。JVMはマルチプラットフォームでのプログラムの動作を実現しており、Scalaもその恩恵に預かっています。また、Javaと同一の環境であることからJavaのプログラムとの連携の実現もしやすいです。

先のJVMとも関連して、Javaのライブラリの使用ができるところもScalaのメリットとなるポイントです。広く普及したプログラミング言語のJavaには多数のライブラリが提供されており、活用することで生産性と品質を高めたプログラミングが可能となります。

プログラミング上でのJavaとの共通点と違い

プログラミング言語としての記述に関しては、ScalaとJavaには共通点と違いの両方が存在しています。例として変数、メソッド、型について記載します。

変数の宣言

Scalaでは変数は二種類存在します。値の変更が可能な通常の変数の宣言にはvar、定数の宣言時にはvalというキーワードを指定します。

Javaにおいては、変数の場合には特に指定のためのキーワードはなく、定数の場合にはfinalというキーワードで表します。

メソッドの定義

メソッドの記述については、引数があり戻り値があるという点でJavaとScalaで記述は似ています。Scalaでの記述ではdefキーワードをつけることや、呼び出し時のかっこが省略できる点などが違いとなります。

型の宣言

Scalaで扱える型には値型と参照型が存在します。Javaの基本型(プリミティブ型)と参照型と同じ関係性です。

値型については、Int、Double、Charなどが用意されており、Javaの基本型との違いは先頭が大文字になっていることです。

Scalaの参照型はAnyRefのサブタイプです。Javaの参照型におけるjava.lang.Objectの継承と同じ関係にあります。

Scalaが用いられる場面

Scalaが用いられる場面として、Web開発、アプリ開発、ゲーム開発、データ分析などが挙げられます。もっとも多いのは、Web開発です。Webシステム開発、Webサイト開発など、Web関連の開発と相性が良いです。

また詳しくは後述しますが、Javaとの互換性が高く、JavaをScalaに置き換えるケースも多いです。Javaが使われているシステムが幅広いので、結果的にScalaの幅も広くなっています。

Scalaを学習するメリット・デメリット

Scalaを学習するメリットとデメリットをご紹介します。

Scalaの学習メリット

まずはScalaの学習メリットとして以下が挙げられます。

  • ・Javaとの互換性が高くJVMの経験も活かせる

    ・コードの記述量が少なく効率的に開発できる

    ・柔軟な開発が可能

    ・国内での需要が高まっている


それぞれご説明していきます。

Javaとの互換性が高くJVMの経験も活かせる

ScalaはJavaとの互換性が高く、JVM上でも動かすことが可能です。JVMはJava Virtual Machineの略で、Javaを動かす環境のことです。ScalaでJavaのライブラリを使用することも可能なので、JavaコードをそのままScalaに書き替えていくことができます。

コードの記述量が少なく効率的に開発できる

Scalaはコードがシンプルで記述量が少ないです。コードの記述量が少ないことで時間と労力が少なく済むだけでなく、エラーも減ります。プロジェクトで使用した場合、他の人がコードを読みやすいという点もメリットになります。

柔軟な開発が可能

Scalaはオブジェクト指向と関数型の両方をミックスしたプログラミング言語なので、コードの記述方法が柔軟です。システムの種類や拡張性と可読性のバランスなどを考えて、プロジェクトごとに異なるコード規約で開発を進められます。

国内での需要が高まっている

Scalaは国内での需要が高まっています。その証拠に、他のプログラミング言語よりも平均年収が高い傾向があります。統計にもよりますが、すべての言語の中でScalaがトップになっているケースも少なくありません。

ただしScalaの需要が全言語の中でトップというわけではなく、現時点で供給が少ないことも年収が上がっている大きな原因でしょう。需要に対して供給が少ない状況なので、エンジニアにとってはチャンスです。

Scalaの学習デメリット

次に、Scalaを学習するデメリットです。

習得の難易度が高い

Scalaはオブジェクト指向と関数型両方の要素を持っているため、言い換えれば両方理解している必要があります。プログラミング経験がない方はどちらの概念も知らない可能性が高く、最初の言語がScalaだと混乱する可能性が高いでしょう。そのため、まずはオブジェクト指向の言語を学び、次に関数型言語を学習したのちにScalaを学ぶとよいです。そうでない場合もオブジェクト指向から入るのがおすすめです。

Javaと比較するとIDE(統合開発環境)が発展途上

ScalaはJavaに比べるとIDEが発展途上です。プログラミングにおいてIDEの機能を使いこなすことはかなり重要で、開発効率が良くなることはもちろんエラーの大幅削減にもつながります。Javaは歴史がある分IDEは充実度が高く、ScalaはまだJavaには至らない状況です。

コンパイル速度が遅め

コンパイル速度が遅めという点も一応デメリットと言えるでしょう。ただし、遅めと言っても開発時に気になるほどではない可能性が高いです。膨大なステップ数になれば言語による差が影響してくる可能性もありますが、一般的なシステムでは大きく影響する可能性は低いということです。

Scalaエンジニアに求められるスキルと経験

Scalaエンジニアとして転職する場合に必要な重要視されるスキル・経験について説明します。

Scalaでのプログラミングスキル

Scalaエンジニアとしての転職を行う場合、Scalaの基本文法とベースとなる考え方は学んでおく必要があります。Javaに記法は近く、Scalaは習得難易度が非常に高い言語であるため、Javaエンジニアの経験があれば詳細な技術習得は入社後でも可能という企業、転職求人も存在します。

特にScalaを採用する現場では、Scala以外にもJava、C#、C++、GOなどマルチな言語を利用していることが多く、新たな言語習得が苦にならないという適正が必要です。

関連記事:プログラマーが使うプログラミング言語とは?種類別の特徴や選び方を初心者向けに解説

Javaの知識とScalaへの変換スキル

ScalaはJavaの後継ともいわれる言語です。基本的な記述方法はJavaに似通っており、ライブラリも引用可能です。ただし、Scalaは非常に少ない行数でJavaと同じ処理を実装でき、開発コストや処理時間を圧縮できるという特長があります。

したがって、Javaの文法を念頭に置きながらScalaを使ってソースコードの判読性やシンプルさをより高めるスキルが求められます。

さらには他言語への変換という点では別の選択肢も生まれてきています。

Scala.jsを利用することでScalaのプログラムをJavaScriptにトランスパイルすることも可能です。JavaScriptの各種ライブラリにも対応しており、Scalaでのフロントエンド開発が可能となります。Scala.jsを利用できるようになれば、よりWeb開発への適用範囲を広げることができます。

JVM言語での開発経験

ScalaはJavaの稼働環境であるJVM(Java仮想マシン)で動作します。JVMで稼働する言語は、バイトコードという中間言語にコンパイルし、その後実行時に再度解釈を行って稼働する形式を取ります。

このコンパイル形式によりもたらされるメリットとして、一度書いたプログラムはOSなどのプラットフォームに依然せず、マルチな環境で稼働させることが可能です。Scalaもこのメリットを活かすことが可能な言語であり、JavaおよびGroovy、Kotlinなどのバイトコードを生成する言語での開発経験があれば、同様の考え方を活用することができます。

フレームワークを扱うスキル

Webアプリケーション開発では、生産性の向上と品質の確保を目的として、フレームワークを採用することが一般的です。Scalaでは「Play」「Spring Boot」といったフレームワークが人気があります。この2つのフレームワークはJavaで使用されており、多くの実績と情報があります。

また、RubyのWebフレームワークSinatraに似せて作られたScalatraも利用数が増えてきています。利用シーンの多い有用なフレームワークの出現に合わせ、フレームワークを学習して利用するスキルを有していることが必要となります。

そのほかの評価されやすい経験

Scalaが採用される現場では、必要に応じて難易度が高くとも適性のある言語を選択しているといえます。これは、総合的なエンジニアとしてのスキルが要求される現場であるとも言い換えられます。Scalaに限らず、他の言語のプロジェクトでも下記のような経験がある場合には評価の対象となります。

  • ・Webアプリケーション設計、開発の経験

    ・チームリーダーやプロジェクトリーダーなどチームのリーダー経験

    ・上流工程(要件定義、基本設計)の経験

Scalaエンジニアの転職市場状況

Scalaの転職事情について、レバテックキャリアが保有する公開求人情報をもとに解説します。

正社員の求人状況

2023年7月19日時点でのScalaの公開求人数は601件でした。Javaの求人数は6,507件、Pythonは4,263件、Kotlinは1,442件であることから、国内ではやや求人数が少ない状況です。

また、Scalaの求人・転職情報から30件を抽出し想定年収から平均年収を算出すると、約624万円となりました(想定年収の最小値、最大値の中間値の平均より)。スキルによって開きがありますが、比較的高い年収の仕事が多い傾向があります。注意点として、Scala専門のエンジニアではなく複数言語が扱えるエンジニアととっての一言語としてScalaがあがっているケースが多いです。

Scalaエンジニアの求人・転職情報

関連記事:プログラマーで年収1000万円を目指す方法とは?

求人例から見るScalaエンジニアの仕事内容と年収例

実際のScalaエンジニアの案件をもとに事例を紹介します。

Scalaによるパッケージ製品開発

■業界
IT・通信

■業務内容
・Scalaによる広告業向けプラットフォーム製品の開発、導入、運用支援
・アドテク関連システムのコンサルティング、受託開発、新規製品企画、開発

■求められるスキル・経験
・プログラミング実務経験
・アルゴリズムとデータ構造に関する知見の保有
・新たなことにチャレンジするフロンティアスピリッツ
・論理的思考

■想定年収
500~900万円

■勤務地
東京都

データエンジニア

■業界
IT・通信
広告

■業務内容
・データ基盤の構築、運用、改善
・データ基盤改善プロジェクトの要件定義、プロジェクト推進、実開発業務(Scala他)
・データ基盤の新サービスへの切り替え
・データ基盤を支えるエンジニアチームの構築

■求められるスキル・経験
・バックエンドエンジニアとしての実務経験2年以上
・データエンジニアとしての実務経験2年以上
・データ基盤の運用やパイプライン構築経験
・正解のない課題に継続的に取り組み、成果につなげられる方

■想定年収
500~800万円

■勤務地
東京都

国内におけるScalaの将来性について

Scalaは日本国内では徐々に案件が増えている状況です。PHPからScalaに移行する企業が出てくるなど、既存のソースコードの書き換え案件などもあります。ここでは国内におけるScalaの将来性に対する意見を紹介します。

Scalaの将来性が高いとされる理由

まずはScalaの将来性が高いとされる理由についてご紹介します。

Javaに変わる次世代言語として期待が高い

ScalaはJavaとある程度の互換性を持ち、関数型言語やスクリプト言語の特性を併せ持ったハイブリッド言語です。日本においてはまだ需要が少ないですが、IT企業やメディア系企業を中心に需要が高まってきています。Javaの後継言語になりうるという意見もあり、その将来性が期待されています。

関連記事:
Javaとは何?【初心者にも分かる基本と特徴を解説】
プログラマーの将来性と、今後需要が高まるスキル

ChatWorkなどの著名なWebサービスで活用されている

Scalaの言語特性として、バグの少なさ、開発納期の短さ、機能の改善や変更が比較的容易である点が挙げられます。この特性が評価され、安定性が求められる大規模なサービスの開発や、変化の激しい業界でのスピードを求められる開発に活用されている事例がいくつかあります。

具体的な活用例としては、先述したチャットサービスの代表格である「ChatWork」、多くのエンジニアをユーザーに持つメディア「はてなブックマーク」などが挙げられます。

Scalaは国内では他の主要言語に比べて実績がやや少ないため、採用理由が気になるエンジニアも多いのではないでしょうか。ChatWorkでScalaを採用した理由として、以下の情報がChatWork株式会社の開発ブログで公表されています。古めの記事ではありますが、現在にも共通する話です。

  • ・静的言語としての保守性とパフォーマンスの高さ

    ・動的言語からスイッチして成功した実績があること (twitter、dwangoなど)

    ・AWSはJava SDKが最も充実しており、ずっと利用したかった

    ・チャットのリアルタイム処理と相性がいい

    ・Javaのスキルセットを持つメンバーが何人かいた

    ・PHPエンジニアでも短時間(開発合宿中)でそれなりに書けるようになった


引用:ChatWork Creator's Note.

他にもインターネット広告のツール、求人媒体などの検索サービス、ゲームアプリなどの開発にも利用され始めており、需要は拡大する可能性があります。

PHPなど他言語からScalaへ移行する案件が増えてきている

他言語で開発された既存のサービスやシステムを、Scalaへと移行するケースが増えています。多くの場合その理由は、長年の技術的負債です。Scalaのシンプルで可読性の高いコード、バグの少なさなどといった、言語としての完成度の高さが、技術的負債を清算するのに適していると判断されています。

先ほど紹介したChatWork株式会社もPHPからScalaに移行した企業のひとつであり、今後もScalaによる開発が増えていく可能性があります。

Scalaの将来性を危惧する意見

Scalaはオワコンなのでしょうか?現時点では、将来性についてのネガティブな意見はごく一部です。強いて言えば、Scalaはオブジェクト指向と関数型プログラミングの両方の概念を理解していないと使いこなせないため、習得ハードルがやや高い言語であることが挙げられます。

このような観点からScalaをオワコン認定する意見も一部あるのも事実ですが、レバテックキャリアにおけるScala関連の公開求人は2023年7月時点で601件あることからも、今すぐ需要がなくなるということは考えづらいでしょう。

Scalaエンジニアとしての転職を成功させるための準備

Scalaエンジニアとして成功することを目指す場合、より確率を高めるために準備できることを紹介します。

オブジェクト指向への理解を深める

Scalaという言語を利用する場合に活用したい特性が、オブジェクト指向および関数型の両プログラミングパラダイムを持つという点です。この二つのパラダイムは相反するものではなく、同時に成立しています。本当の意味でScalaを活用しきった開発を行うためには両者を有効活用できなくてはなりません。

オブジェクト指向、関数を引数に取れるというScalaの特性に理解を深め、利用シーンを見極められるようになっておくと、Scalaエンジニアとしての活躍に繋がります。

Scala入門者向けのおすすめ書籍

Scalaを学習する際におすすめの書籍をご紹介します。想定としては、プログラミング経験自体はあるが、Scalaは未経験という方です。

『実践Scala入門』(瀬良 和弘/水島 宏太/河内 崇/麻植 泰輔/青山 直紀、技術評論社 )
Scalaの基本文法、言語機能、ビルド、テストなど開発に必要な基本知識を網羅した内容になっています。実際に手を動かして開発することを想定して書かれた書籍なので、別の言語経験者が対象になっています。

『Scalaスケーラブルプログラミング 第4版』(Martin Odersky/Lex Spoon/Bill Venners/麻植 泰輔/立野 靖博/田所 駿佑、インプレス)
Scala言語そのものの開発者たちが執筆した書籍です。開発者の視点からScalaの機能について細かく解説されています。機能の使い方はもちろんなぜその機能を作ったのかという視点も入るので、Scalaを効率的に使いこなすスキルが身につくでしょう。

『Scala逆引きレシピ』(竹添 直樹/島本 多可子、翔泳社)
辞書的な使い方ができる書籍です。今の時代はネットで検索すれば必要な情報は入手できますが、書籍の方が体系的に解説されているというメリットがあります。逆引き用ですが、書籍をざっと見ていくことで、どのような処理ができるのか、どのように記述するのかを把握していく使い方もできます。

サーバーサイド開発などの実務経験を積んでおく

Scalaはサーバーサイド処理に適した言語です。Scalaエンジニアとして活躍する場合の多くは、サーバーサイドエンジニアとなることが想定されます。

可能であれば近い言語でサーバーサイド開発のプロジェクトに従事することで、Scalaエンジニアとして活躍するための経験を積むことができます。言語や開発分野が違うとしても、開発業務につき、プロジェクト推進や開発工程といったシステム開発に必要な考え方を経験しておくことが、Scalaエンジニアとしての成功にも必要です。

ポートフォリオを作成する

Scalaを使ったポートフォリオとなるプログラムを作成し、公開するといったアプローチも、その後の成功に繋がっています。Webサイトや各種のプログラムを作成し公開することで、プログラミングスキルを対外的に明示することが可能です。

ソースコード上には意図を持った記述を行い、単純に開発ができることに加えて、整理されたソースコードが作成できる、ルールに沿ったコーディングができる、設計能力の高さなども示せます。

GitHub、Qiitaなどを利用してソースコードの公開、情報の発信をしていれば、エンジニアとしての幅の広さを分かりやすく伝えることができます。

関連記事:
プログラマーのキャリアパスとは?キャリアプラン・キャリアアップの具体例
女性プログラマーが増加している理由や働くメリットを解説

Scalaエンジニアの仕事に関するよくある質問

Scalaエンジニアの仕事や言語について、よくある質問とその回答をまとめました。キャリア選択の参考にご利用ください。

Q1. ScalaとJavaの違いは?

ScalaとJavaの違いは多数存在します。

大きな違いの一つとして、Scalaはオブジェクト指向と関数型の両方のプログラミングパラダイムに対応していることです。両者の特性を併せ持つことで、簡潔な記述と高い生産性や再利用性を実現しています。

また、プログラムの記法においても違いがあります。代表的な違いとしては、値型(Javaでは基本型)の型名記述において、Scalaでは「Int」と大文字で開始するのに対し、Javaでは「int」と小文字で開始することする点などが異なります。

Q2. Scalaの人気の理由は?

Scalaが人気の高い理由として、Javaとの互換性の高さがあげられます。

Javaの動作環境であるJVM上でScalaのプログラムを実行することが可能です。JVMのマルチプラットフォームである特徴をScalaも引き継いでいます。さらに、JVMではJavaのプログラムが動作し、Scalaのプログラムの中でJavaのライブラリを利用することができるため、Java資産を活かした生産性の高い開発が可能です。

既存のJavaでできたシステムの置き換えで選択しやすい言語であることもメリットです。ScalaはコードがシンプルなためJavaよりもコードの記述量を少なくすることができたり、Javaの不足部分を補うコーディングが可能という特徴も強みです。

Q3. Scalaの難易度は?

ScalaはJavaの後継ともいわれている言語で、難易度は比較的高めです。 オブジェクト指向と関数型という二つのプログラミングパラダイムの理解が必須であることが習得難易度を高くしています。

難易度の高いプログラミング言語ですが、使いこなせるようになると、JavaやC#などより、柔軟にかつ簡潔にプログラミングできることが大きな魅力です。

まとめ

本記事では、Scalaの基礎知識から将来性まで幅広くご紹介してきました。

Scalaは長年IT業界を支えてきたJavaの後継言語であるとも言われており、しっかりとしたスキルや実務経験を積み重ねればエンジニアとしての活躍が期待できる言語です。学習難易度は高いですが、高単価案件が多いので年収アップを希望するエンジニアは習得を検討してみてはいかがでしょうか。

ITエンジニアの転職ならレバテックキャリア

レバテックキャリアはIT・Web業界のエンジニア職を専門とする転職エージェントです。最新の技術情報や業界動向に精通しており、現状は転職のご意思がない場合でも、ご相談いただければ客観的な市場価値や市場動向をお伝えし、あなたの「選択肢」を広げるお手伝いをいたします。

「将来に向けた漠然とした不安がある」「特定のエンジニア職に興味がある」など、ご自身のキャリアに何らかの悩みを抱えている方は、ぜひ無料のオンライン個別相談会にお申し込みください。業界知識が豊富なキャリアアドバイザーが、一対一でさまざまなご質問に対応させていただきます。

「個別相談会」に申し込む

転職支援サービスに申し込む
※転職活動を強制することはございません。

レバテックキャリアのサービスについて

この記事の監修

レバテックキャリア編集部

レバテックキャリアは、IT/Web業界のエンジニア・クリエイター向けに特化した転職エージェントです。当メディアでは、エンジニア・クリエイターの転職に役立つノウハウから、日々のスキルアップや業務に活かせる情報まで、幅広いコンテンツを発信しています。

プロのアドバイザーがあなたのお悩みや疑問にお答えします

- 転職個別相談会開催中 -

相談内容を選択してください

※転職活動や求人への応募を強制することはありません

関連する記事

人気の求人特集

内定率が高い

Scalaの求人・転職一覧

今もらっている年収は高い?低い?

簡単60秒 エンジニア・クリエイター専門 年収診断 無料診断START ×