Pythonでフリーランスになるには?必要なスキルや年収も一挙公開!
「Python」について改めて知ろう!
昨今、プログラミング技術を習得して収入を得たいというフリーランスの事業者が増加傾向にあり、さらに今年のコロナ禍も相まって、その傾向はより強まっているように見受けられます。プログラミングに使う言語は諸々ありますが、現在最も脚光を浴びているのはPythonでしょう。
Pythonの特長として、他の言語に比べコードを記述しやすいことや、機械学習・大掛かりなデータ解析・画像処理等に適合した機能が準備されていることが挙げられます。では実際に、フリーランスがPythonエンジニアとして活躍して十分な収入を得ることはできるのでしょうか?
まず、Python技術者の仕事内容はどうなっているのかについて見ていきましょう。
Pythonエンジニアの仕事内容を紹介
Pythonエンジニアの仕事は、設計・プログラミングといったシステム開発に留まらず、データ解析やアルゴリズム設計などにも及びます。
Webアプリケーションにおけるサーバーサイド開発担当者
Pythonは、ブラウザを用いるWebサービスやアプリケーションのサーバーサイド開発用の言語です。サーバーサイドで動作する言語は、他に「Java・C・PHP・Ruby」などがあります。「Java・C」ではコンパイラや仮想マシンを使ってバイナリコードを生成するのに対し、Pythonはコンパイラ不要でインタープリタにより動きます。
Python技術者はサーバーサイドエンジニアとして、言語の可能性を十分に引き出すことが求められます。
Pythonコーディング
Pythonでのコーディングは他の言語と比べると少し異なる流儀で行いますが、それによりコードの可読性が上がると共に、高速で作動するプログラムを記述できます。Pythonエンジニアはこのメリットを発揮し、「Python流」のプログラミングを行うのを求められますね。
データ解析
Pythonは数値計算に用いられるライブラリが充実しておりデータ解析に用いられることが多い言語です。特にビッグデータを処理できる言語としても人気があります。
アルゴリズム設計
データを解析するためのアルゴリズム、すなわち問題を正しく効率的に解くための計算手続を考案するのもPythonエンジニアの仕事です。データサイエンティストとしての顔も求められることもあり、その場合はPythonのスキルだけでなく数理統計の素養も必要です。
仕事内容を確認したところで、Python案件の単価やPython技術者の年収を見てみましょう。
Pythonエンジニアの単価、年収について
Python案件の平均単価は経験年数によって変わってきますので、毎週5日間の常駐案件に揃え、月収に換算した上で相場を示します。
経験年数 | 推定月収 | 推定年収 |
1年未満 | 25万円~35万円 | 300万円〜420万円 |
1年以上2年未満 | 40万円~45万円 | 480万円〜540万円 |
2年以上3年未満 | 45万円~55万円 | 540万円〜660万円 |
3年以上4年未満 | 50万円~65万円 | 600万円〜780万円 |
4年以上5年未満 | 60万円~75万円 | 720万円〜900万円 |
5年以上 | 80万円~100万円 | 960万円〜1,200万円 |
もしPython案件に参加しているのであれば、ご自身の現契約の単価が上記の平均相場を下回っていないかをチェックしてみましょう。
・案件を担当しているエージェントを変更
・担当者と交渉
もし下回っていた場合はこの2点を行ってみると、単価アップにつながるかもしれませんよ。
フリーランスになってもやっていける?
開発の経験が乏しいエンジニアが、Pythonも未経験のまま参画できそうなフリーランス向けのPython案件はほとんど無いのが現状です。
しかし「PHP・Ruby・JavaScript・Perl」その他のスクリプト言語での開発を経験したエンジニアであれば、Pythonが未経験であっても応募できるようなフリーランス向けPython案件は豊富です。その場合は単価を落とさずに案件を受注できるケースもよくあります。目下のPython案件の動向を確認してみましょう。
Python案件は減ってきているの?
Python案件に関しては、減少傾向にあるというより、現時点(2020年6月時点)ではまだ少ないものの、これから増加していく傾向にあると推測できます。その根拠は以下のシステム開発の需要が高まっているからにほかなりません。
・最先端の深層学習
・機械学習などの人工知能(AI)開発
・IoT開発
・ビッグデータ解析
・ソーシャルゲームやSNSサービス
・SaaSシステムのサーバーサイド開発
このように多くのシーンでPythonを駆使することでシステムを構築でき、これらのシステムへの需要が高まっていることから、Python技術者は引く手数多であるといえることになります。
そんなPythonの開発案件ですが、在宅で請け負えるものに限りますという条件がある人がいますが、案件は非常に少ないというのが実情です。Pythonの開発案件は、仕様がある程度固まっていたとしても実装プロセスがウォーターフォールということは稀で、アジャイルが大半を占めます。
ディレクター、プロジェクトマネージャーやデザイナーが各エンジニアと随時連携、調整しながら開発を進めていきます。在宅案件にこだわりすぎてしまうと、発注側との信頼関係の構築がなかなか進まずスキル習得の機会を失うことにもなりますので注意しましょう。Python案件の市場を展望してみます。
Python案件の今後の需要性について
Pythonは技術としても安定しており、開発エンジニアの層も厚いので、将来に向けて需要が減退する可能性は低いでしょう。機械学習・深層学習といった人工知能(AI)開発、ビッグデータ解析の案件が年々増えるにつれてPythonエンジニアへのニーズも年々増えており、10年後の2030年にはIoTやAIなどの最先端技術に通じた人材は55万人も不足すると推計されています。
自動車の運転や金融関係の業務など広範に応用できるIoT、人工知能(AI)市場の年平均成長率は「16%」とも言われていますね。フリーランスエンジニアの人材市場も拡大する勢いで、Pythonと同系統のスクリプト言語である「Ruby・PHP・JavaScript・Perl」への需要も持続するでしょう。
様々な言語での開発経験を積めば、引っ張りだこの人材として活躍のステージは広がります。
どういった案件が多いの?
Pythonの案件を大まかなカテゴリで分類すると、以下のようになります。
・深層学習・機械学習等の人工知能(AI)開発案件
・IoT開発案件
・ビッグデータ解析案件
・Webアプリケーション開発案件
・ソーシャルゲーム開発案件
順にご説明します。
①深層学習・機械学習等の人工知能(AI)開発案件
スタートアップ企業や事業会社が、社内でシステムを構築する事例が多いです。深層学習・機械学習をはじめとした人工知能(AI)へのニーズが強い業界、例えば医療・不動産・建設・教育等の業界でPythonが利用されています。
②IoT開発案件
こちらも①と同様にスタートアップ企業や事業会社が、社内でシステムを構築する事例が多いです。「IoT」すなわち数個の物体がインターネットにより連携する仕組みで、人工知能(AI)への応用が効くとともに、比較的コストを抑えられることから、その開発現場でもPythonが活用されています。
利用されている業界に関しても、①と同様に医療・不動産・建設・教育等があります。
③ビッグデータ解析案件
こちらの開発現場も①・②と同様にスタートアップ企業や事業会社が多いです。データサイエンス・データアナリシスの案件でPythonが活用されます。
Pythonだけでなく、統計解析に特化されているR言語も多く用いられ「Python、R」がこの案件のツールとして双璧をなします。
④Webアプリケーション開発案件
事業会社がブラウザで動作するWebアプリケーションを社内で開発するケースが多いです。インターネット業界においても、ECサービスのサーバサイド開発や法人向けクラウドサービス開発(SaaS)等の現場でPythonが活用されています。
⑤ソーシャルゲーム開発案件
ゲーム開発会社が社内で開発する事例が多いです。ソーシャルゲーム1本の開発には、数億円の予算を編成するケースが大半で大手企業に案件が集中しています。
ではいよいよ具体的なアクションを起こすための道筋を探っていきましょう。
今後Pythonで稼いでいこうと思ったら
何はともあれ、まずはPythonによるプログラミング技能の習得が必須です。Pythonはプログラミング言語の中では習得しやすく、実際プログラミング入門の題材としてよく採用されています。
Javaと比べれば簡潔に記述でき、JavaScriptと比べれば他の人が書いたコードの可読性も高くなっています。Pythonを取得するには以下の方法が有効です。
・プログラミングスクールを利用する(オンラインを含め)
・書籍を読みWebサイトでリサーチしながらの独学
といった方法があります。自信があれば独学も有りですね。技術を習得したら、次は受注です。
・知人からの紹介
・クラウドソーシングサービスの利用
・フリーランス専門の紹介サービスの利用
などがあります。継続的な受注を念頭に置き、フリーランス専門の求人サイトに数ヶ所登録しておいたほうが良いでしょう。
Pythonの他に覚えておいた方がいい言語/資格は?
プログラミング言語については「スクリプト言語・コンパイル型言語・関数型言語」の3つのタイプから一つずつ習得するとよいでしょう。スクリプト言語としてPythonを覚えたら、コンパイル型言語としてJavaを、関数型言語としてHaskellを、といったように興味や話題性に応じて選びます。
Pythonの資格試験としては、一般社団法人Pythonエンジニア育成推進協会が実施するPython3エンジニア認定基礎試験とPython3エンジニア認定データ分析試験があります。合格して認定されると、技術の習得度を客観的にアピールできますよ。
未経験からでも稼ぐことはできる?
エンジニアとして未経験から仕事を得て稼ぐためには、サーバサイドエンジニアとして業界知識を体得するのが必要条件です。残念ながら未経験のフリーランスエンジニアがPython案件を獲得するのは「ハードルが高い」と言えるでしょう。
まずは既に普及しているPHP・Rubyから入り、サーバサイドエンジニアとしてキャリアを積んでから、というのが現実的です。
結局Pythonは稼げるのか、稼げないのか
既にプログラミングの実務経験をお持ちなら、今後を見据えて今のうちからPython開発での実績を積んでおくとフリーランスでも十分な先行者利益を得られるでしょう。プログラミングが未経験なら前に述べたように、サーバサイドエンジニアとしてPHP・Rubyの案件で実務を経験した上でPythonを習得することです。
未経験からPythonで稼ぐには、早め早めのアクションが必要そうですね。