独学でフリーランスエンジニアになれるというブログを多く見ますが、本当に独学でフリーランスエンジニアになれるのでしょうか。
全くの未経験であれば、独学でフリーランスになるのはかなりハードルが高いと思います。
フリーランスエンジニアについて、その辺りを考えてみたいと思います。
エンジニアは基本的には独学
会社に所属した場合でも、プログラミング言語の教育を詳細に教えてもらえる会社はそんなに多くないと思います。
教育でのプログラミングと実務でのプログラミンでは難易度が格段に上がる場合が多く、教育を受けただけでは、現場で即戦力になる可能性は低いことが多いです。
まれに、即戦力になる人がいますが、経験上、新卒社員の50人に1人くらいの割合だと思います。
教育で受けたプログラミング言語と現場で使用するプログラミング言語が異なることは、往々にしてあり、現場に入ってから使用する言語を勉強する必要があります。このような場合には、独学で言語を習得する必要あります。先輩に質問することはできますが、手取り足取り教えてもらえるほど先輩も暇ではないので、自力で習得するしかありません。
なので、教育である程度の指導は受けられるものの、あとは独学というか自力で習得する必要あります。
エンジニアに求めれれるスキルはプログラミングだけではない
プログラマーの上位互換のシステムエンジニアの守備範囲はかなり広く、プログラミングができるだけでは、システムエンジニアにはなれません。
要件定義
詳細設計
プログラミング
テスト
運用保守
ざっと記載しただけで、これだけの守備範囲があります。
一般的なスキルアップの順序で行くと、プログラミング⇒テスト⇒詳細設計⇒運用保守⇒要件定義のパターンが多いように思えます。
大企業に入社した場合は、プログラミングやテストなどを経験することはなく、いきなり要件定義を行うことが多いです。
実務経験を積むために会社員になるのであれば、ベンチャー企業がベストだと思います。
独学でフリーランスエンジニアになれるの?
エンジニアのレベルによりますが、可能と言えば可能。不可能と言えば不可能。
プログラマには、なれなれるかも
プログラミングだけを請け負うフリーランスには、独学でもなれると思います。ただし、割と真剣に追い込んで学習する必要はあるでしょう。
プログラマーの単価は、40〜60万円程度と言われています。経験上、プログラミングだけの案件だと、最大でも80万円くらいです。
システムエンジニアは難しいかも
要件定義〜運用保守までの全ての領域をカバーできるシステムエンジニア的なフリーランスには、独学だけではなれないと思われます。
要件定義のような顧客の要件をシステムに落とし込むフェーズは、実務経験がないと難しいと思われます。
まれに、独学で全部できます。的な人がいると思いますが、それは特殊な例で、万人が同じようにできる可能性はありません。
実務経験が5年でも要件定義ができない人もいれば、実務経験3年でもバリバリ要件定義をやっている人もいます。向き不向きがあるので、どの程度実務経験を積めば良いかは一概にいえませんが、最低でも3年程度は必要だと思います。
システムエンジニアの方がプログラマーよりも単価が高くなります。経験上、最低でも60万円〜で、200万円オーバーも夢ではありません。
まとめ
プログラミングだけを請け負うフリーランスになるのであれば、独学でもできると思います。
年収1,000万円以上を狙うのであれば、プログラマーではなくシステムエンジニアを目指した方が目標に近づくでしょう。