一度は必ず企業に就職し、最低でも1年から2年くらいは下積みを経てからフリーランスになった方が良いですね。
よく、未経験の状態でいきなりフリーランスデビューを考えてる人や、それを煽っている人がいますが、はっきり言うとかなりリスクの高い選択です。
バックエンドエンジニア、モダンフロントを用いたフロントエンドエンジニア、インフラエンジニア(SRE,DevOps)などは必ずシステム開発企業で実務経験を積んでからフリーランスを目指しましょう。
今回は、いきなりフリーランスエンジニアを目指すことをおススメしない3つの理由をご紹介します。
Web制作や、あまり難易度が高くないWordPressエンジニアなどはこの限りではありません。あくまでも、バック、フロント、インフラに限定した話です。(ちなみにWeb制作もWordPressエンジニアも出来るなら一度企業に就職するのがベストです。)
理由① 案件を獲得することができない

これがもっとも大きな理由で、未経験エンジニアの場合は、市場価値が低い(無い)ため、フリーランスエンジニアとして案件に参画することはかなり難しいのが現実です。
フリーランス市場は基本的に実務経験最低1年から2年以上が参画の最低条件になっています。
たとえ運よく参画できたとしても、未経験で右も左も分からないエンジニアがその中で戦っていくのはかなり難しいことは火を見るよりも明らかです。
また、恐らく未経験エンジニアは人脈がないため、受託開発などの仕事を振ってもらえることも可能性としては低いのではないでしょうか?(もし人脈があれば、世話好き先輩エンジニアにお情けで仕事を振ってもらえる可能性があるかもしれません…)
上記の理由から、未経験エンジニアは必ず一度は企業に就職したほうが良いと言えます。

理由② 実務を経ないと獲得できない知識が多すぎる

プログラミングを学習していてある程度勉強し、知識もついてくると
なんて思ったりもしたものですが、実際に企業に就職してエンジニアとして働いてみると、いかに自分が井の中の蛙だったかと思い知らされました…
例えば、プログラミングのソースコードに関しては、実務につく前は「とにかく動くものさえ作れれば問題ない」というスタンスで開発していましたが、実務ではそれが許されません。
実務では、コーディング規約に沿ってコーディングを行い、且つ保守性、可読性を意識したコードを書かなければなりません。開発は連続的に行われるので、保守性が必要ですし、複数人で開発を行うので可読性も必要になります。
そしてこれは、先輩エンジニアからのフィードバックを繰り返し貰わないとなかなか気づかないことでもあります。
上記のようなことに関して理解が足りないエンジニアは、たとえフリーになったとしても一瞬でクビになることは間違いないでしょう。
下記は私が実務でしか学べないと思ったこと一覧です。(ごく一部です)
- 保守性、可読性のあるコードの書き方
- 複数の記述方法が考えられるコーディングのベストプラクティス
- DNS、SSL、暗号方式等のWeb関連知識の実務への生かされ方
- 本番環境に影響を与えずに最新バージョンを反映する方法
- Slack等のチャットツールを用いてのベストなコミュニケーションの方法
- 検証計画の効率の良い立て方(多くても少なくてもダメ)
- 受託開発の場合の先方とのやり取り、見積の方法
理由③ 人に頼れなくてメンタルが崩壊する

フリーランスエンジニアの一番つらいところは人に頼りづらい事だったりします。
組織に属している時は先輩エンジニアや同僚などに気軽に相談が出来ますが、フリーランスエンジニアの場合はそうではありません。
全く相談できないか?と言われればそんなことはなく、僕自身も分からないことがあれば周りにいるエンジニアに聞いたり相談はしますが、頻繁に安易な質問を繰り返すと一瞬で周りからの信頼度が下がります。
すみません、Gitで間違ってPushしちゃって…
すみません、公開鍵って何ですか…?
すみません..、このコードの意味なんですか…?
すみません、すみません、すみません・・・
この様な状態になるとかなり高い確率でメンタルが病むと思います。
ただでさえフリーランスエンジニアは孤独になりやすいので、これでは何の武器も持たない状態で戦場に繰り出すのと同じです。
終わりに

出来るだけ早く稼ぎたい、独立したい、自由になりたいという気持ちは痛いほどわかります。しかし、今後5年、10年とその先を考えるのであれば、一度立ち止まって、よく考えてほしいと思っています。
いきなりフリーランスになってしまった場合、現場で過酷な状況に陥り、エンジニアやプログラミングが嫌になって辞めてしまう可能性もあります。
出来るだけ長く、楽しく、沢山稼ぐためにも最初の1,2年は企業で実務経験を積むことをおススメいたします。
ここまでお読みいただきありがとうございました。
RUNTEQ(ランテック)
実践型Webエンジニア養成プログラミングスクール(低価格です)
TechAcademy
最短4週間で未経験からプロを育てるオンライン完結のスクール
TECH::CAMP
スパルタ式プログラミングスクール!自分に甘い人はぜひ!
DMM WEBCAMP
転職を本気で考えている方向けのプログラミングスクール!
お仕事決まれば全額キャッシュバック!転職特化型Ruby実践研修

僕は元々Fラン大学出身で、ブラック企業の社畜だったのですが、30代前半でWEBエンジニアとしてIT企業に転職して人生が大きく変わりました。
WEBエンジニアは実務経験1年程度あれば月収50万円は稼ぐことが出来ますし、実務経験2~3年程度あれば年収1000万円稼ぐことも可能です。
もちろん稼ぐためには努力は必要です。しかし、逆を言えば「努力が必ず報われるのがエンジニア」という職業です。
エンジニアになって稼ぎたい!理想の働き方をしたい!と思っている方は「未経験からエンジニアになる方法」を読んで、ぜひ挑戦してみてください。