ソフトウェア開発の現場では、多くのフリーランスエンジニアが活躍しています。各フェーズに分かれて開発を行うソフトウェア開発では、それぞれのフェーズの専門分野に明るいフリーランスエンジニアが重宝されます。
今回は、ソフトウェア開発に携わっていた筆者の経験を踏まえて、フリーランスのソフトウェア開発事情やフリーランスの案件獲得について解説します。
※この記事はWorkship MAGAZINEからの転載です。


お金と保険のサービスです。
Contents
ソフトウェア開発における役割
ソフトウェア開発といっても、マネージャーの立場から指揮・管理を専門にする方から、プログラミングや仕様を練る方まで、仕事内容はさまざまです。
まずは、ソフトウェア開発における仕事内容を確認しましょう。
役割1. プロジェクトマネージャー

「プロジェクトマネージャーの平均年収」
プロジェクトマネージャーの仕事内容は次の通りです。
- システムの規模や機能に応じて予算やスケジュールを見積もる
- 開発メンバーを選定する
- チームを編成してシステム開発を主導する
- 成果物をクライアントに納品する
- 保守・運用のサイクルを考慮してプロジェクトを策定する
納品後は、運用担当チームに引き継ぐのが一般的です。プロジェクトマネージャーは、いわばシステム開発における総責任者といえるでしょう。
プロジェクトリーダーと混同されがちですが、プロジェクトマネージャーは「プロジェクト全体の管理者」であるのに対し、プロジェクトリーダーは「現場の管理者」という位置づけになります。
プロジェクトマネージャーはプロジェクト全体を俯瞰して課題を見つけ、システム開発がスムーズに進むようにマネジメントします。一方プロジェクトリーダーは、個別のチームをまとめて先頭に立って働く役割です。現場監督といった言葉が近いかもしれません。
求人ボックスの調査では、プロジェクトマネージャーの平均年収は約623万円。日本の平均年収と比較すると高い傾向にあり、月給換算すると約52万円です。
大規模システム開発でフリーランスがプロジェクトマネージャーになることは珍しく、プロパー社員がプロジェクトの指揮・管理を行うのが一般的です。一方で小規模システム開発ならば、プロジェクトマネージャーがフリーランスというケースも。実際、筆者の経験でもそのようなケースがありました。ただし「プロジェクトマネージャー経験が10年以上」といった経験豊富なフリーランスが従事している印象です。
※参照Workship MAGAZINE「プロジェクトマネージャーとは? 仕事内容、年収、必要スキル、資格など解説」
役割2. ITコンサルタント

「ITコンサルタントの平均年収」
昨今では、ITの導入なくして企業の経営・業務は成り立たないほど、ITの重要性は高まっています。それにともない、ITを活用した業務改善、組織改編などのコンサルティングを行うITコンサルタントの需要も増えています。専門性や知識、実績が重宝されるITコンサルタントではフリーランスも多く、高い報酬を得て活躍している方も。
求人ボックスの調査では、ITコンサルタントの平均年収は約647万円。日本の平均年収と比較すると高い傾向にあり、月給換算すると約54万円です。
ITコンサルタントの仕事は、ITを活かして経営課題の解決案を立案し、実行支援をすることです。クライアントが抱える経営課題や業務課題を解決するのが目的であるため、クライアントの現状の課題を把握したうえで「課題を解決するために、IT活用は本当に必要か」「どのようなシステムを導入するべきなのか」など、システム導入前からクライアントと関わっていきます。
一方、システムエンジニアはシステム導入が決まってからクライアントと関わるため、担当フェーズが異なります。どちらも重要なポジションですが、経営層と直接やり取りして仕事を行う分、ITコンサルタントの方が、報酬は高くなります。
役割3. システムエンジニア

「ITエンジニアの平均年収」
システムエンジニアがおもに行う業務は、要件定義と基本設計です。要件定義では、次の業務を行います。
- クライアントにヒアリングをする
- クライアントがどのようなシステムを望んでいるのかを明確にする
- 現状業務と新システムとの比較をする
- システム構成や機能などをまとめる
要件定義書といった成果物を作るのもこのフェーズです。要件が固まったら、具体的にクライアントのニーズに応えるためのシステム設計を行います。この段階になるとプロジェクト人数も増えてきて、会計処理に強い方、ロジスティックスに強い方などそれぞれの経験や実績に基づいてタスクを分担して設計を行います。設計段階から、得意分野を活かして活躍するフリーランスエンジニアも多数います。
システム規模が大きくなるほど、要件定義と基本設計は重要です。きちんと行わなければ、取り返しのつかない重大なミスにつながることも。たとえば、最終的にリリースまでたどりつかずに、損害賠償問題に発展する場合もあるのです。
そのため、システム設計を得意とし、設計経験も豊富で、クライアントのニーズを汲み取れるフリーランスエンジニアは重宝されます。
求人ボックスの調査では、ITエンジニアの平均年収は約489万円。日本の平均年収と比較するとやや高い傾向にあり、月給換算すると約41万円です。
役割4. プログラマー

「プログラマーの平均年収」
昨今は、システムエンジニアとプログラマーを明確に分けることは少なくなりました。要するに、設計もでき、プログラミングもできる人材が求められているのです。小規模システムなら予算も限られているので尚更です。
Web系やゲーム系の案件では、とにかくスピードが求められます。トライアルアンドエラーを繰り返して、システムを素早く開発・導入するアジャイル開発を取り入れている現場も増えてます。
求人ボックスの調査では、プログラマーの平均年収は約437万円。月給換算すると約36万円で、日本の平均程度です。
日本のシステム開発現場では、ひとつの案件を2次請け、3次請けと下請けに流す多重下請け構造が横行しています。下請けの数が多ければ多いほど、クライアントが提示した金額から仲介料としてどんどんお金が抜かれることに。いわゆる「中抜き」が起こっているのです。
末端のサラリーマンプログラマーほど、この中抜きのあおりを受けます。このような仕組みから、サラリーマンプログラマーの場合、給料を飛躍的に上げるのが難しいケースも。得意言語がある方は、フリーランスプログラマーとしてチャレンジする選択肢も持っておくべきです。
※参照:Workship MAGAZINE「フリーランスプログラマーの実態まとめ。年収から仕事獲得方法まで解説」
以下のプログラミング言語では、フリーランス案件が多くあります。この機会に確認しておきましょう。
PHP
PHPは、動的なWebアプリケーションを作るのに適したプログラミング言語です。WordPressのテーマやプラグインをカスタマイズするときにも使われています。
フロントエンドでHTMLをコーディングしながら要所要所にPHPを組み込むことも可能。それほど習得難易度も高くない言語なので、PHPを扱えるプログラマーも多く、学習サイトも充実しています。
※参照:Workship MAGAZINE「PHPでできることとは?Webアプリケーションを作るならコレ!」
Java
汎用性の高い言語と言えばJavaです。WindowsやMac、AndroidなどOS問わずどんな環境でも動くアプリを作れます。そのため、Javaのフリーランス案件も多くあります。
「これからフリーランスプログラマーとしてやっていこう!」と考えている初心者にとっては難しい言語ですが、一度習得できれば他の言語にも応用の利く言語なので、案件獲得の幅もぐっと広がります。
※参照:Workship MAGAZINE「Javaでできることとは?汎用性の高い初心者おすすめ言語」
PythonはAI開発に使われる言語として、いま一番人気のある言語です。人工知能開発に欠かせない機械学習をサポートするライブラリが多数あり、開発コストを削減できるのが魅力です。また、少ないコードで簡潔に書けるシンプルさは、多くのエンジニアにとってありがたい言語だと言えます。
Python
最近では、Pythonの学習サイトや本が充実してきているので、プログラミング初心者でも短期間で習得することは十分に可能です。
※参照:Workship MAGAZINE「Pythonでできること7選。自動化、機械学習、Webアプリ開発も!」
フリーランスのソフトウェア開発の収入・単価相場
フリーランスエンジニアのソフトウェア開発における単価相場は、月額で平均約60万円~80万円程度となるでしょう。
携わるフェーズやポジション、扱う言語、システム規模、クライアントとの信頼関係、企業案件or個人案件などの多くの要素によって単価は決まるので、必ずこの範囲に収まるとは限りません。
ただ筆者の経験として、単価を決める一番の要素は、クライアントとの信頼関係だと言えます。何十年も同じクライアント先で活躍しているフリーランスエンジニアも多くいます。そういった方は皆、月額で100万円は超えている印象です。
フリーランスがソフトウェア開発で収入をアップさせるポイント
フリーランスの場合、努力することを怠れば、仕事を失いかねません。せっかくフリーランスになったのならば、会社員時代よりも2倍、3倍と報酬をもらいたいものです。フリーランスがソフトウェア開発で収入をアップさせるのに大事なポイントを解説します。
ポイント1. 大規模アプリ開発の経験
数百万人のユーザーが同時に利用するようなWebアプリでは、負荷分散のためのスケーリングやロードバランシングなどの技術が必要になります。
大規模システムでは、レスポンス速度を向上させたり、高品質で安定したサービスを継続的に提供したりすることが、何よりも求められるのです。こういったスキルは、本を読むだけで身につくものではなく、実務経験を通じて得られるものです。プログラミングだけをするフリーランスは卒業して、こういった経験が培われる案件にも積極的に取り組むべきでしょう。
ポイント2. 開発全行程の経験
システム開発には、大まかに分けて、つぎの6つの工程があります。
- 要件定義
- 基本設計
- 詳細設計
- プログラミング
- テスト
- 保守・運用
プロジェクト全体で一番人員が必要なのが、詳細設計、プログラミング、テストのフェーズです。そのため、このフェーズにフリーランスエンジニアが多く動員されます。
しかし代替が利くポジションでもあるため、凄腕プログラマーでもない限り、このフェーズだけで収入をアップし続けるのは難しいでしょう。ワンランク上のフリーランスエンジニアになるには、上流工程と言われる要件定義、基本設計の経験は必須です。
また最近では、AWSやAzureといったクラウドサービスの登場で、DevOps手法も取り入れているところもあるので、保守・運用の経験があれば尚良しです。DevOpsとは、開発(Development)と運用(Operations)サイドが連携して協力開発する手法のことを指します。
こういった全行程を経験することで、プロジェクト全体を管理するマネジメント業務を任されることにもつながるでしょう。
※参照:Workship MAGAZINE「DevOpsとは?その意味と“よくある誤解”を分かりやすく解説」
ポイント3. 最新技術
プログラミング言語やフレームワークのバージョンアップや新しい技術の導入スピードは、年々増しています。これらの情報をいち早くゲットし、自分のスキルとして取り込むことができるフリーランスエンジニアは、企業にとっても重宝したいはず。
仕事だけでなくプライベートでも、新しい技術や情報に触れておくと役に立つことも多々あるでしょう。
フリーランスがソフトウェア開発の案件を獲得する方法
最後にフリーランスエンジニアの方がソフトウェア開発の案件を獲得するために、活用すべきサービスなどを解説します。ぜひ今後の参考にしてください。
方法1. フリーランスマッチングサービス
「仕事を発注したい人」と「仕事を受注したい人」をマッチングさせるサービスが、フリーランスマッチングサービスです。自分のスキルを発揮できそうな案件やチャレンジしたい案件に応募して、お互いの合意があれば契約が成立する流れになります。
マッチングする手間はありますが、仲介手数料が0〜20%程度と控えめなサービスが多いのが特徴です。
※参照:Workship MAGAZINE「フリーランス向けお仕事マッチングサービス10選。利用するときの注意点も解説」
方法2. フリーランスエージェント
フリーランスエージェントに登録すると、エージェントから希望条件に合った案件を紹介してもらえます。
ただし自分で営業活動を行わない分、仲介手数料としてマージンが発生します。仲介手数料の相場は10%〜40%が一般的で、手数料を開示しているエージェントもあれば、非公開のエージェントもあります。営業活動や条件面での交渉が苦手な方は、エージェントの利用を検討してもよいでしょう。
またひとつのエージェントに絞るのではなく、複数のエージェントに登録するのがおすすめです。エージェントごとに抱えている案件が異なるだけでなく、同じ案件でも条件が少し変わっていることもあります。
※参照:Workship MAGAZINE「フリーランスエンジニアに強いエージェント10選。メリットや登録方法も解説」
方法3. クラウドソーシングサービス
代表的なクラウドソーシングサービスとして『クラウドワークス』や『ランサーズ』が挙げられます。マッチングサービスやエージェントと比べて案件数も多く、案件によってはいますぐ取り組めるものもあります。
しかし個人や匿名で発注を行っている案件も多く、単価は比較的低めです。またエージェントと同様、仲介手数料と呼ばれるマージンが発生するものが多いため、業務完遂後の報酬額すべてを受け取れるわけではありません。案件の選別や申し込み、単価交渉なども自分で行う必要があります。
※参照:Workship MAGAZINE「クラウドソーシング 4サービス徹底比較!ガチ利用者が長所/短所/案件獲得方法を解説します」
方法4. セミナーなどで人脈を広げる
フリーランスにとってコネクションは大事にすべきものですが、エンジニアでも同じです。常日頃から人脈を広げる努力は積極的に行っていきましょう。どこのご縁で案件獲得につながるかわかりません。
IT関連の業界では、セミナーや勉強会、交流会がよく開催されています。ただし、前のめりになって出会ったその場で「案件、案件」となっては印象が悪くなるので、エンジニアとしての自分の存在を相手に印象づけることを優先するように心がけましょう。
※参照:Workship MAGAZINE「フリーランス向けおすすめセミナーサイト7選。行き詰まったらサッと参加しよう!」
方法5. 友人・知人の紹介
フリーランスの案件探しでよくあるのは、既存のクライアントや知人・友人から案件を紹介してもらう方法です。メリットは、お互いの性格や作業の進め方、スキルレベルなどを把握できているため、安心感があることです。デメリットとしては、友人や知人の場合だと条件面があやふやになり、関係性によっては金額の交渉がしづらいことが挙げられます。
友人や知人の紹介で仕事を請負う場合には、事前に条件を明確にし、書面で契約のエビデンスは残しておくように心がけましょう。それがお互いのためでもあります。
※参照:Workship MAGAZINE「ずぼらな私たちに「契約書の読み方」を教えてください!【弁護士直伝!】」
まとめ
ソフトウェア開発の現場は慢性的な人手不足です。業界の体質からしてこの状態はこれからもずっと続きます。このことからも、経験豊富なフリーランスエンジニアはどこの現場でも重宝されますので、経験や実績が豊富な方はフリーランスエンジニアにチャレンジしてみる価値は十分にあるのではないでしょうか。
執筆/S-KAYANO、編集/mozuku 、提供元:Workship MAGAZINE
ピンチにも、チャンスにも。ファクタリングサービス
「FREENANCE即日払い」
https://freenance.net/sokujitsu
▼あわせて読みたい!▼