フリーランスプログラマ、エンジニアのなり方、独立の経緯
独立するパターンって2つあります。
- 未経験(現場経験なし)→独立
- 会社員(システム開発経験あり)→独立
で「未経験(現場経験なし)→独立」ですがあまり例はないですね。やはりシステムやアプリ作ったこと無い人の成果物と現場での実開発経験ある人ではできるものに差があります、というより使えるものはやはり実開発経験無いときつい。
またシステム開発って単純にソースコード書くだけでなく要件定義、設計書作成、テスト、ソースコード管理(リポジトリ)、環境構築(サーバ、ネットワーク、データベースなどの設定、設計)、リリース、運用・保守の工程があります。所謂SEでなくSI(一連の工程を理解し、システム納品できる人)としての能力が要求されます。
プログラミングスクールに行けば疑似的な開発経験をつめますが、やはり企業でしかできない実開発経験はあるので1度は1企業のエンジニア、プログラマーを体験したほうがいいですね。
で「会社員(システム開発経験あり)→独立」でフリーランスエンジニアになる場合、1番気になるのはどうやって仕事を確保するのか?ということ。
フリーランスプログラマ、エンジニアの案件獲得、仕事方法
- 案件サイトから受注
- クラウドソーシングでの受注(ランサーズ、クラウドワークスなど)
- 人からの紹介
- 個人営業→企業からシステム開発の案件を受託
案件サイトから受注
IT・Web業界の起業家やフリーランスのための求人・案件情報サイトがあります。
例えば「ITプロパートナーズ」というサービスがあるのですが、ここはシステム開発人員がほしい企業がITプロパートナーズに案件として登録してます。でユーザ、つまりフリーランスエンジニア側は登録していろんな企業の案件があるのでそこから募集する形。
フリーランスプログラマ・エンジニア→システム開発案件代理店(ITプロパートナーズなど)→企業
という形ですね。働き方としては週何日働くか選び、対象の企業に出社(常駐)する形。企業によってはリモート可能なとこもあります。(MTG時のみ出社など)
案件サイトから受注の場合
- 1システム開発担当、働く期間は1システム開発期間
- 他担当(自社やフリーの常駐)とチームを組む関係で常駐が多い
- 月収制が多い(月40万など)
- システムは中規模~大規模が多い
となります。
クラウドソーシングでの受注(ランサーズ、クラウドワークスなど)
ランサーズ、クラウドワークスでは個人、法人かかわらずシステム開発・プログラミングの依頼が出ています。
それらを受けてクライアントの求める納品物を提供して報酬を受け取ります。
フリーランスプログラマ・エンジニア→クラウドソーシングサービス(ランサーズ、クラウドワークスなど)→企業・個人
実際は「ブログランキングから特定の情報を抽出するスクレイピングソフトの開発依頼の仕事」、「excelのマクロで動くプログラム作成」などシステム開発というより、希望する1プログラムを作って欲しい、という依頼が多いです。
- 働く期間は1依頼について1納品で自由に選べる
- 常駐・雇用系の依頼はほぼなく1依頼完結型
- 1案件毎の報酬制が多い(1案件1~2万など)
- システム開発というより1プログラミングが多い
完全に好きな仕事を選べますが、1案件で終わるため継続収入にはなりません。月30万以上稼ぐならそれなりの数をこなす必要があります。
人からの紹介
IT系でフリーになった人で多いのが知り合いから紹介を受ける、というものです。
- 前の会社のシステムのピンポイントメンテナンス
- 紹介先のシステム開発(正社員でなく半常駐、リモート形式)
IT業界って人手が欲しいとこがほとんどで、まして現場経験あってスキルあるならウチ来てよ!ってとこは多いです。会社員→フリーランスなる人は紹介で仕事してるって人が多いですね。
実際のところ案件サイトからの常駐、クラウドソーシング、紹介、どれか1つだけ、というより複数合わせて並行で受けて仕事してる人が多いですね。
個人営業→企業からシステム開発の案件を受託
一般的にフリーランスになってバリバリシステム作って稼いでる人のイメージはコレではないでしょうか?
個人→法人
という間に代理店や請負サイト(企業)がいないパターン。
ただ現実としてはこのパターンは少ないです。
- フリーランスで開発スキルもってて営業もできる人が少ない
- 法人の求めるシステム開発は工数、規模数が多く個人でやるのが難しい(チームや組織化しないと難しい)
- 間に代理店などがいないため調整がしづらく小回りが効きにくい
要は個人でやるのは難しいということ。またフリーランスのメリットとしてある程度仕事を選び、働く時間や場所を選べるということがありますが、法人と契約して請負うと仕事の規模の大きさや責任が出てくるので1個人でやると負担が大きくメリットが死ぬということも。
どちらかというと会社員→独立してITの企業を設立→1法人、チーム開発できる人員を揃えた人がやる方法ですね。
フリーランスプログラマ、エンジニアに求められる必要なスキル・言語
フリーランスプログラマ、エンジニアに必要なスキルは大きく2つあります。
- 営業力
- 開発能力
営業力は仕事を獲得するスキルですね。ただこちらはIT系の案件情報サイトを活用すれば必須ではないです。というかシステム開発はしたいけど営業はやりたくない、って人は多いと思います。直接法人と契約することで大きな案件、報酬を得られる可能性がありますが、その分面倒なことも増えます。
なので基本は案件情報サイトや紹介などで実績をつむところから始めたほうがいいでしょう。
開発能力についてですが、これは単純にソースコードをかける、というだけでなく
要件定義、設計書作成、テスト、ソースコード管理(リポジトリ)、環境構築(サーバ、ネットワーク、データベースなどの設定、設計)、リリース、運用・保守の工程
の一通りができるか?という意味です。
会社内のシステム開発だとプログラミングする担当、とか設計書担当、とか担当が分かれてることが多いです。
ただフリーランスの場合基本は自分一人で担当するため一通りの技術が必要になります。
単純にプログラミングだけできればOK、というわけではないです。会社員時に要件定義の上流からテスト、リリース、運用までの下流、全部経験できてるならいいのですがそうでない人も多いのではないでしょうか。
もちろん常駐先に入って現場で学ぶ、という手もありますが実開発を経験できるプログラミングスクールなどで経験を積む、という手もあります。
【関連記事】【未経験、経験者】タイプ別プログラミングスクールの選び方
フリーランスプログラマ、エンジニアの年収
「フリーランスになったら会社員より年収が増える」
と言われることがありますが、平均年収は200万~600万前後と働き方と人によって全然変わります。
なんでこんなに変わるかというと例えば「ITプロパートナーズ」の1案件を見ると
「週5勤務、10:00~19:00、月収61〜70万円」→年収ベース:額面732~840万
とめちゃくちゃ稼げることが分かります。(実際は案件期間の終了などあるため予定の年収換算ですが)
これが週3の案件だと
「週3勤務、月収31〜40万円」→年収ベース:額面372~480万
となります。この時点でだいぶ減ります。
さらにランサーズなどの案件では
「お問い合わせフォームの作成依頼の仕事(サイトにphpで作成)、1件2~3万」
みたいなのがあります。この場合やればやるほど稼げるので月に30万以上稼ぐことも可能です。30万なら年収360万ですね。
要は自分の働き方、選んだ案件でぜんぜん変わる。そして稼げる案件はただプログラミングできるだけでなく、プロジェクトマネージャー的な動きができるなど高度なスキルが必要になります。
「フリーランスプログラマ、エンジニアは600万以上稼げますか?」と言われたらやりようで全然稼げます。
ただ在宅で、好きな時間だけ働きたい、みたいな発想だとランサーズなどの小さい仕事をやるしかなくて思ったより稼げない、というケースもあります。
フリーランスで大きく稼ぐには圧倒的なスキルで替えのきかない人材になるか常駐してそれなりに働く必要があります。
フリーランスプログラマ、エンジニアの年齢制限、上限はある?
フリーランスプログラマ、エンジニアの年齢について調べると
- 30代~未経験でなるのは無理、厳しい
- 40代~仕事がなくなる
- 50代~体力的に厳しい
こんな意見があって、「だからフリーランスで活躍できるのは20代でフリーになって30代くらいの若いうちが旬」みたいな感想が多いです。
でこれは間違ってないけど間違ってる気がします。というのもフリーランスプログラマは結局の所「クライアントの依頼内容の成果物を納品できるか」が全てで、やる気があって技術もある(自分で身につける+経験を積む覚悟)なら別に30代からでもできるし、フリーランスプログラマと言っても完全にフリーである必要はなく、週1~3は企業の請負+残りをフリーの受託で小さい案件をこなすみたいな複数の働き方を選べます。
で技術があれば50代からは教える側に回ったり、そもそもフリーで活躍できる人って自分で選択肢を広げたり視野広い人が多いので投資など仕事以外でも稼ぐ人が多いです。なので50代(実際はもっと早くから)はセミリタイアで趣味程度に働く、って人もいます。
若いうちだけ、というのはあくまで一般論で自分で選択肢を広げる気がある人ならいくらでもやりようはあります。そもそも営業とか会社員としてのシステム開発も年齢が上がってるのにスキルがなかったら居場所がなくなるのは変わりなく、自分で最新技術を勉強したりする人が生き残るのは普通ですし。
ただ同じスキルを持つ二人がいるなら若い方が選ばれる、というの現実あります。チーム開発での適合性、成長の可能性、コミュニケーション能力、体力面などありますからね。
結局は自分で仕事をとる、成果を出す覚悟があるかです。(ココらへんはIT以外のフリー、個人事業主、ベンチャーも同じですね。)
フリーランスプログラマ、エンジニアのメリット
- 働く場所を選ばない(在宅はもちろんカフェや旅先、海外も可能)
- 働く時間を選ばない(手早く作れるなら一日3時間、週1でもよい)
- 重要度は「成果>>>>過程」。努力が報われやすい
- 収入を上げやすい
- 仕事内容を(ある程度)選びる、自分の得意な分野で勝負できる
「結果さえ出せれば」という前提の元でこれだけのメリットがあります。IT業界は対象の納品物がシステムやコードである以上、結果さえ出してくれるなら出社とか対面で~とか必要ないです。
「重要度は「成果>>>>過程」。努力が報われやすい」、「収入を上げやすい」についてですがクライアントが求めてるのは結果なので頑張って良いもの作れば収入やクライアントの評価向上につながる、という意味もありますがそれ以外に大事なことが。
自分の直接の仕事以外での場所でのスキルアップが反映されやすいこと。例えば会社に属してるシステム開発エンジニア、会社以外で興味のある技術の勉強、資格をとったとします。
しかし会社員のシステム開発だと直接スキルアップしたことを活かせる場面がなかったり、活かせても別に評価にはあまりつながらないです。良いシステム作ったら給料が上がったりするわけでもないですし。
フリーランスの場合自分で手を広げたい分野のスキル習得ができ、それをもって受けられる仕事の幅を広げられます。また直接交渉が可能なので収入アップもしやすい、間に中抜きがないので会社員時代より年収がアップする(実際間の会社がいなくなってフリーのほうが収入アップする人は多いです)
フリーランスプログラマのメリットは多いです。
フリーランスプログラマ、エンジニアのデメリット
ただ一方でデメリットもあります。
- 案件は自分で獲得しなきゃいけない
- 収入の継続性が不安定
- 個人で動くため大型案件の確保が難しい(組織化してない場合)
- 依頼主:法人→請負:法人ではなかったトラブルが出る
- 自分の力量がモロに出る
- チーム開発の必要性など出社するケースもある
基本個人でシステムやアプリを作るため、仕事は自分で探す必要がある、1つの案件が終わると収入が途絶える(継続開発、運用費もらったりしない限り)、大手企業のでかい案件を1個人が受けられる可能性はまずない。
緩和策としてフリーランス用の案件依頼サイトから仕事をもらうとか、ランサーズやクラウドワークスなどクラウドソーシングでシステム開発の案件に申し込むなどやりようはあります。
ただそれでも自由と引き換えに不安定さがでてきます。それに個人間の契約だと契約の詳細部分が甘くて開発内容が当初の想定以上に大きくなった(でも報酬は変わらない)、報酬を払ってもらえない、など企業間ではありえないトラブルも出たりします。
会社なら間に営業マンがいるので調整したりできますが、フリーランスプログラマは全部自分で対応しなければならないです。
また自分にクライアントの意図を理解し、それにあった開発を行うだけの力量、スキルが無いとやっていけない、最新技術を学ぶ必要性があります。もちろん会社員だろうとスキルが必要なのは間違いないですが、個人の場合特にそれが顕著になります。
フリーランスプログラマ、エンジニアとして活躍するために
AIの進化などありますが、IT業界は絶対に人じゃないと作れない部分があり、新しい技術も常にあるので自分でスキルアップできるなら稼げるし、生き残れる業界だと思ってます。
その中でも会社員でなくフリーとして働くことで時間や仕事をある程度選べる選択肢はありですね。
ただ独立してからもそうですが特に独立前は自分のやりたいことのスキルが足りない・・って感じることも多いです。1会社員ならチームの得意、詳しい人がいたからできなくても済んだ部分が独立したら自分ができなくちゃいけない。
その時独学もいいのですが、ピンポイントでスキルアップするならITスクールに通うのも手です。
本やネットを読んで自分一人で悩むより現役のエンジニアから教えてもらう方が解決スピードも身につく技術も高くなります。
おすすめのITスクールについては以下を参考にしてください。