Javaは表舞台に表れてから、瞬く間に企業に浸透しました。
堅牢かつ安定性が高い上に、プラットフォームを選ばないためコスト面で有利です。Javaは企業好みの言語なのです。そのため現在も尚、企業の屋台骨を支える役割を担っています。
こうした背景によりJavaエンジニアの需要は高く、フリーランス向け案件は豊富にあります。しかし、どのような手順を踏めば独立できるのでしょうか。そして、在宅の可能性や年収、将来性についても気になるところです。
独立を目指している人のために徹底調査しました。
Javaフリーランスエンジニアの案件数は多い
フリーランスエンジニア向けの案件数を言語別に比較すると、Javaが突出して多い事が分かります。
以下は、”geechs job”に掲載されているフリーランス向けの案件の数です。
・Java 434 件
・JavaScript 358 件
・PHP 338 件
・Python 93 件
Javaの案件数は、フロントエンドの人気言語であるJavaScriptを上回り、サーバサイドで使われるPHPを圧倒しています。また、機械学習の言語として注目を集めているPythonと比較しても、JavaはPythonの5倍にも上ります。
現在最も市場から求められているのが、Javaエンジニアなのです。
Java案件の種類と特徴
案件の多数を占めているのは、業務系案件とWEBサービス・WEBアプリケーションといったWEB系案件です。加えて、Androidアプリも依然として求められています。それぞれに分けて、案件の特徴をお伝えします。
業務系案件
特徴は、以下のようになります。
・既存システムの改修・機能追加・リプレイス
・大規模案件
・ウォーターフォール色が強い開発体制
・業務の知識が求められる
大規模な業務システムの多くが、Javaで構築されています。そのため案件の多くは、既存の業務システムの改修や機能追加、そしてリプレイスになります。
ここでいうリプレイスとは、WEB系フレームワークとして利用されつつあるSpring Frameworkの適用です。
適用することでコード量の削減の他、WEBアプリケーションの環境構築が簡素化されます。その後の改修・機能追加が容易になるため、リプレイスが求められているのです。
また、業務システムはSIerの領域であるため、ウォーターフォールが色濃く残っています。「上流と下流の明確な区分」「整備された各種書類」によって、下流工程は作り易く感じるでしょう。
そして、クライアントがSIerに求めるのは、自社業務と業界の理解です。そのため、業界の案件を一度でもこなせば、同じ業界のものを受注しやすくなります。
WEB系案件
業務システムと異なり発注元がWEB系企業となります。
そのため以下のような特徴があります。
・少人数によるアジャイル開発
・バックエンドを中心にフロントエンドも求められる
・直請け案件が多く上流工程にコミットしやすい
・長期案件になり易い
サーバサイドをJavaで開発するだけではなく、フロントエンドの開発も求められます。それを少人数によるアジャイル開発によって進めるのです。
このような背景から、求められるものは業務系と大きく異なります。
・様々な業務に臨機応変に対応できる幅広いスキル
・ドキュメント作成能力よりも、対話を重視
一方、得られるものは上流工程へのコミットのし易さです。WEB系企業は直請けが多く、加えてアジャイル開発です。発注元と直に接する機会は、業務系の比ではありません。その分、クライアントから認められる可能性が高くなり、上流工程へシフトが容易になります。
更に、長期案件に繋がる傾向にあります。WEB系であるため、PDCAサイクルを回し続けなければならず、熟知している開発者の囲い込みが必要になるのです。
Androidアプリ
かつてAndroidアプリはJavaでのみ開発されていましたが、GoogleがKotlinの正式サポートを表明した2019年以降、新規案件で使われる機会は減りました。既にiOS(iPhone)端末向けのアプリも同時に開発できる環境が複数登場していたところに、追い打ちをかける形です。
AndroidのJavaには逆風ですが、現在でも多数の案件が見つけられます。
例えば「Javaから他の開発プラットフォームに置き換える案件」「既存のJavaアプリの改修案件」等のリリース済みサービスの開発です。稼働しているアプリが多数ある以上、今後もAndroid向けのJava案件は残り続けると思われます。
在宅案件の割合
Java案件の約15%がリモート可能と、他の言語と比較すると僅かに少なくなっています。しかし、在宅案件数を比較すると、他の言語と同程度です。
リモート可の案件の割合を言語別に比較しました。
・Java 15%
・PHP 17%
・JavaScript 18%
※レバテックのフリーランス向け案件より
Javaのリモート案件の割合が少ない原因は、大規模な業務システムに使われているためです。開発チームの規模が大きくなると、円滑な対話が望まれます。
在宅案件の割合は15%と少ないですが、案件数を比較すると以下のようになります。
・Java 875件
・PHP 796件
・JavaScript 1033件
Javaの在宅案件数は、PHPよりも多くなっています。在宅でバックエンドメインで携わりたいのであれば、Javaスキルを磨く方が良いでしょう。
Javaフリーランスエンジニアの報酬単価・年収
Javaの実務経験3年の場合、フリーランス向け案件の月額報酬の相場は、56~65万円になっています。年収に換算すると、672~780万円です。
年収に開きがありますが、押し下げているのは業務系案件です。
・業務系 56万円/月
・WEB系 58万円/月
・Android 65万円/月
※レバテックのフリーランス向け案件より
業務系の発注元は大手が多いため、高単価を期待したくなります。
しかし、元請けとなるSIerは多重請負を常としている業界のため、単価が期待できなくなるのです。
ところが業務系で使われる他の言語と比較すると、Javaは単価の高い言語であることが分かります。
・Java(業務系) 56万円/月
・VB.NET 49万円/月
・C#.NET 54万円/月
Javaは単価が期待できる言語なのです。
⇒プログラマー年収インタビュー(リアルなプレイヤーの声が聞ける!!)
Javaエンジニアがフリーランスになるために必要なスキル
フリーランスに必要なスキルは、業務系、WEB系、Androidアプリで異なります。それぞれ個別にお伝えします。
業務系案件とWEB系案件に共通して必要なスキル
フリーランスに求められるJavaの実績年数は、特殊なものを除き3年以上です。3年以上の経験は、詳細な指示の下で動くような作業ではなく、自ら進んで作業に取り掛かる姿勢が求められます。
進んで作業する上で必要なものは、最新のJavaとServlet/JSPと以下のようなスキルです。
・Spring / Spring Boot / Thymeleaf / Spring Data JPA / MyBatis-Spring
・Struts
・JUnit
・AWS / RDB
・フロントエンド(JavaScript React Vue.js)
一部でレガシーな技術がありますが、最小限の改修で済ませたい案件やリプレイス案件が多いためです。
業務系案件に必要なスキル
先にお伝えした「業務系案件とWEB系案件に共通して必要なスキル」に加え、詳細設計以降ではオブジェクト指向の熟知が必要になります。大規模な業務システムは、多人数で構築されています。過去のソースの解析はもちろん、他者のコードレビューを行う事もあるからです。
そして、要件定義や基本設計等の上流工程の経験を求められることもあるでしょう。ヒアリングや要望に沿った設計書案の作成への関与もあるため、業務内容についての深い知識が問われます。
WEB案件に必要なスキル
WEB系の開発で求められるのは「業務系案件とWEB系案件に共通して必要なスキル」の他、以下の二つです。
・UI/UXの設計
・API設計
WEB系はバックエンドだけではなくフロントエンドも担当します。フロントエンドの要であるUI/UXでは、ユーザー視点に立った設計力が強く求められます。
具体的には「入力個所と内容が瞬間的に伝わるか」「操作が反映された事を伝えているか」「求める情報が分かり易いか」というユーザー視点が必要になります。
プログラミングとはかけ離れていますが、WEB系では必須なのです。
また、APIについてですが、ユーザーとのデータのやり取りはJSONが使われます。提供側の都合で、JSONの構造を安易に変更できません。そのため、未来像を意識した設計力が期待されるのです。
Androidアプリ案件に必要なスキル
Androidアプリで求められるスキルは、以下のようなものがあります。
・JUnit
・Firebase
・AWS
・Kotlin
求められるスキルは、業務系やWEB系と比較して多くはありません。理由は開発キットであるAndroidSDKに、必要なものが全て収まっているからです。従って、項目こそ少ないですがボリュームは多く、多くの案件で開発経験3年以上を求められます。
未経験からでもJavaフリーランスエンジニアになれるのか
未経験のフリーランスエンジニアが案件を獲得するのは、不可能ではないと思われます。実務経験を問わない案件は、極少数ながら存在するからです。しかし、社員として実務経験を積むことをお勧めします。
実務経験を必要としない案件で、しばしば見られるのは「サーバサイドJavaのリプレイス案件」「リリース済みのAndroidアプリの改修案件」等です。どちらも主な作業は実装ですので、Javaの学習経験があれば対応可能でしょう。しかし実務経験者と比較されるため、未経験者の受注は困難です。
会社で働くかスクールに通うか
未経験でも入社はできます。独学の実績を証明できるものがあれば、採用の土俵に上がれるでしょう。しかし、意欲を伝えるものがないのなら、プログラミングスクールに通うことをお勧めします。
採用担当者が実務未経験者に求める意欲は、ポートフォリオです。なければ見向きもされません。学ぶ過程でできた制作物をWEBサーバに上げ、ソースをGitHubで公開します。採用されやすいポートフォリオならば、間違いなく次の段階に進めます。
全く開発経験がない場合もあるでしょう。そのような時はスクールです。スクールに通い課題をこなす過程で、自然とポートフォリオが積み重なっていきます。
独学で意欲を証明できるポートフォリオがあれば入社を目指し、なければスクールに通うのが良いでしょう。
Javaフリーランスエンジニアの案件獲得のコツを紹介
案件獲得のコツは、モダンな技術を習得し続けることです。学習対象は「Javaエンジニアがフリーランスになるために必要なスキル」で挙げたものです。僅かしかありません。
それぞれのスキルの経験さえあれば、必ず企業の目に留まります。日本の社会人の学習時間は、1日僅か6分です。学び続けるだけで競争相手が減り、確実に案件獲得ができるのです。
Javaの高単価案件を獲得する方法
高単価案件の獲得には、2つの道があります。
その1つは、ブロックチェーンや機械学習等の先端IT技術の案件に携わることです。平均月額単価は79万円と、全体の63万円を大きく上回っています。求められているのは先端IT技術の開発経験であることが多く、実務経験まで求められていません。
もう一つの道は、業務系・WEB系の上流工程へのコミットです。上流工程の作業がメインになると、月額単価が10万円以上はあがります。コミットに必要なのは、バックエンドとフロントエンドの技術を追い続けることです。技術選定や作業指示に、幅広いスキルが欠かせないためです。
学習し続ければ高単価案件を獲得できます。しかし、積極的に行動しなければ、獲得に思わぬ年月がかかるでしょう。求めてもいないのに、高単価案件がやってくることはないからです。
そこでお勧めしたいのが、エージェントの活用です。希望条件を伝えておくだけで、市場に流れる前の高単価案件が優先的にあなたのところに訪れます。
現在、フリーランス向けの案件として人気があるエージェント紹介業者は、ギークスジョブ、DYMテックです。高単価を狙うのならば、どちらも登録したいところです。
Javaフリーランスエンジニアの今後のキャリア
Java案件は緩やかに減少していますが、フリーランスエンジニアが受注難に陥るとは考えにくい状況です。
案件の総量も多く継続受注の確率が高いことから、キャリア構築は容易と考えられます。
実績年数と共に上流工程関与の機会が増えるでしょう。そうなれば、自然とITコンサルタントへの転身も可能になります。
需要と将来性
このように断言できるのは、将来に渡りJavaの需要の高さが保証されているためです。
・既存の業務システムの多くがJavaを採用
・堅牢で安定性に優れているJavaに代わる言語が存在しない
・クラウドのコンテナで、Javaが稼働可能
・Javaは開発者の要求にあわせ、モダンな言語スタイルを取り入れている
プラットフォームを移しても、稼働実績のあるソースを破棄する理由はないのです。
まとめ
Java案件の最大の特徴は、フリーランス向けの案件の豊富さにあります。他の言語と比較して群を抜いていることを確認しました。Javaは安定稼働の実績があり、企業が好んで採用しています。案件数の豊富さは、それを証明しているのです。
現在も企業はJavaを利用し続け、代わり得る言語が登場していないため、今後も案件があり続ける事は確かです。
そして、月額単価は他の業務系言語を上回っています。しかも高単価案件を得られる容易な方法も示しました。実践すれば、将来が約束されたようなものです。
ただ踏み出すだけで得られるのです。
今フリーランスに向かわない理由は、どこにもありません。
この記事では、プログラマーが最終的に1000万円を目指すためにはどうすればよいかを解説します。
異業種からプログラマーへの転職を考えている人、いま正社員プログラマーとして働いている人、いまフリーランスの人。それぞれの境遇からどうすれば[…]