フリーランスのPythonエンジニアの平均年収と必要なスキルとは


フリーランスにはPythonが人気?

ITフリーランスのための求人案件募集サイト「レバテックフリーランス」を運営するレバレジーズが公表している「レバテックにおけるプログラミング言語・スキル別案件・求人数の伸び率」によると、2016年度に最も案件・求人数が増加したのはPythonで、その伸び率は約340%と驚異的なものになりました。

これは2016年1月〜6月までの案件数と2016年7月〜12月までの案件数を比較したもので、2位のRuby(約170%増)や3位のC/C++(約160%増)と比べるとPythonの成長率がいかに大きいかが分かります。

「レバテックにおけるプログラミング言語・スキル別案件・求人数の伸び率」を引用すると以下の通りになります。

1位:Python(約340%増)
2位:Ruby(約170%増)
3位:C/C++(約160%増)
4位:Unity(約150%増)
5位:HTML(約110%増)
6位:Objective-C/Swift(約90%増)
7位:C#/C#.NET(約50%増)
8位:Java(約40%増)
8位:PHP(約40%増)
10位:Android(約30%増)
11位:JavaScript(約25%増)

Pythonの案件・求人数自体はレバテックにおける総案件数3,943件の中で63件と決して多い数字とは言えませんが(案件数1位はJavaの1107件)、2016年に機械学習の需要が高まり、それに付随する形でデータ分析関連の案件が増加したことでこのような結果となりました。そして2017年に入り、機械学習やデータ分析はさらにトレンド化の様相を見せているため、今後もしばらくはPython案件・求人が増え続けるものと考えられています。

2位のRubyはRuby on Railsというフレームワークが高い支持を得て多くの企業に採用されています。また3位のC/C++と4位のUnityはゲーム開発で使用されており依然として需要は高い状態にあります。

フリーランスのPythonエンジニアの平均年収・報酬単価

レバテックフリーランスにおけるPythonエンジニアの平均年収は980万円

再びレバレジーズが公表しているデータから、今度は「レバテックフリーランスにおけるプログラミング言語・スキル別平均年収」を見てみます。2016年度のPythonエンジニアの平均年収は980万円で、Pythonは他の言語を抑えて見事1位に輝きました。

レバテックフリーランスにおける2016年度の平均年収が845万円ですので、Pythonエンジニアの980万円という数字は平均値を135万円ほど上回る結果となっています。

「レバテックフリーランスにおけるプログラミング言語・スキル別平均年収」を上位10位までご紹介します。

1位:Python(980万円)
2位:C#/C#.NET(940万円)
2位:Unity(940万円)
4位:Ruby(938万円)
5位:Android(916万円)
6位:Objective-C/Swift(900万円)
7位:PHP(881万円)
8位:JavaScript(869万円)
9位:Perl(864万円)
10位:Java(859万円)

Python人気の高まりを裏付けるようにここでもPythonが1位となっています。ただこの980万円という数字はPythonの総案件数が63件と決して多い数字ではなかったことも少なからず関係しています。言語・スキル別案件数を見ると1位はJavaの1107件、2位はPHPで706件、3位はJavaScriptで280件となっており、上位3言語からすればPythonの案件数はまだまだ少ないと言うことができるしょう。

レバテックフリーランスではPythonエンジニアの平均年収は980万円で、月に換算するとその報酬単価は82万円/月となりました。では次に、ハイクラス向けの案件が多いと言われる「ハイパフォーマー」での平均年収も見てみましょう。

ハイパフォーマーにおけるPythonエンジニアの平均年収は915万円

フリーランスITエンジニアのための案件紹介サイト「ハイパフォーマー」によると、2016年度のPythonエンジニアの平均年収は915万円で、C#/C#.NETの960万円に次いで2位となりました。ハイパフォーマーにおいてもやはり機械学習の需要は高まっており、それもあってPython案件の単価が大きく上がっているものと見られています。

以下、ハイパフォーマーにおける言語別平均年収ランキング上位10位になります。

1位:C#/C#.NET(960万円)
2位:Python(915万円)
3位:Ruby(893万円)
4位:Perl(870万円)
5位:Java(868万円)
6位:JavaScript(866万円)
7位:Unity(852万円)
8位:Objective-C/Swift(750万円)
8位:Android(750万円)
10位:VB.NET(735万円)

Pythonエンジニアの平均年収は915万円という高い数字になりましたが、言語全体の総案件数に占めるPython案件の割合は5.4%と案件数自体はそこまで大きな数字にはなっていません。案件数1位はJavaで、その割合は37.8%と高いものになっています。

ハイパフォーマーでのPythonエンジニアの平均年収は915万円で、月に換算するとその報酬単価は76万円/月となりました。

レバテックフリーランス、ハイパフォーマーの両サイトにおけるPythonエンジニアの平均年収・報酬単価はそこまで大きな差とはなっていませんので、これらの数字がフリーランス向けの求人サイトにおけるPythonエンジニアのおおまかな平均年収・報酬単価になると考えていいでしょう。

Pythonという言語の特徴

Pythonの特徴

シンプルな構文がPythonの特徴です。このためPythonは、初心者にとっては非常に習得しやすく、経験者にとっては効率的なプログラムを作れる言語として人気を博しています。

実際、Pythonは世界中の大学で授業に取り入れられている一方で、Google、Microsoft、Facebook といった有名企業でも導入されています。これはPythonが使いやすく拡張性が高いプログラミング言語であるということでしょう。ではPythonの特徴をもう少し詳しく5つほどのポイントに絞って見ていきます。

文法がシンプル

Pythonではプログラムの区切りにC言語やJavaなどの括弧{}を用いません。括弧のかわりにインデントを使います。ですから誰が書いても同じような書式になります。これが個人のプログラミングの癖を排除し、可読性を上げるのです。

ライブラリが豊富

プログラミング言語にはライブラリがついています。ライブラリとはプログラミングに便利な機能を集めたものです。Pythonではこのライブラリがとても豊富で、数学計算、データベース、Web開発、GUIアプリの作成と様々なプログラムを作ることができます。ライブラリを使えば効率良くプログラミングを組むことが可能になるのもPythonが人気となっている理由の1つです。

シェルとスクリプトが両方使える

C言語やJavaなどでは、テキストファイルにスクリプトを記述してから実行していきます。でも、Pythonでは必ずしもそうする必要はありません。対話型シェルと呼ばれる機能で、1行ずつスクリプトを入力しながら実行できるのです。これにより複雑なプログラムでも簡単なプログラムでも手軽に実行ができるようになりました。

またテキストファイルにスクリプトを記述してから実行していく方式にも対応しているため、Pythonのみで様々な用途に対応ができるのです。

数値処理が早い

文法がシンプルなので数値処理も当然早くなります。科学計算用のライブラリが豊富なこともあり、学術分野でのPythonは圧倒的な強さを誇っています。統計処理や機械学習などでの利用が多いのはそのためです。

Pythonで出来ること

以上のような特徴を持つPythonでは様々なアプリケーションを開発することができます。

GUIアプリケーション開発

ウインドウで操作するアプリケーションをGUIアプリケーションと呼びます。Youtube、Dropbox、Instagram などもGUIアプリケーションですが、それらはすべてPythonで開発されています。

バックエンドの開発

フレームワークといえば、CakePHPやRuby on Railsが流行っていますが、Pythonでも豊富なフレームワークが提供されています。有名なものとしてはDjangoや Flaskがあります。DjangoはInstagramやPinterestで使用されています。

機械学習の実装

数値処理が早いという特性があるため、機械学習の実装によく使われています。数値計算のライブラリ、グラフ描画のためのライブラリの充実度も目を見張るものがあります。

Pythonのフリーランスエンジニアの現在と将来

機械学習の需要が高まり、ここ1〜2年で急増しているPython案件ですが、実際にはどのようなものがあるのかその特徴を見てみましょう。

Webアプリケーション開発

Python案件で最も多いものの一つがこのWebアプリケーション開発案件です。Webアプリケーション開発は大別すると自社サービスと外部のWebアプリ開発に分かれますが、どちらの現場でもフリーランスの方が正社員よりも高収入になっています。

求められているものはどちらもフロントエンド全般への対応力で、かつほとんどの現場でコミュニケーションスキルが重要視されていることからも、決して簡単な仕事でないことが分かります。ただそのかわりに自分から自由にアイデアを出せるといった、クリエイティブな案件が多いのもWebアプリケーション開発案件の魅力となっています。

ゲーム開発

ゲーム開発でもよく使用されるのがPythonの特徴です。コンシューマーゲームからソーシャルゲームまでジャンルは多岐にわたりますが、特に多くなっているのがオンラインゲーム向けのシステム関連業務です。

ゲームファンの期待に応えることを最大のミッションとしているため、現場には様々な分野のプロフェッショナルが集められるケースが多く、能力によっては高単価も期待できるのが最近の傾向となっています。

ビッグデータ関連

Pythonエンジニアのニーズが特に高いのがこのビッグデータ周辺です。基盤となるインフラ開発やプロダクト開発などの案件がありますが、共通しているのは大規模データの分析作業が入ってくることでしょう。

統計解析ライブラリの知識が必要になりますが、そこまで多くの経験値が必要とされるわけではありませんので、エンジニアからデータサイエンティストにチャレンジしたい人には最適の案件となるでしょう。

ナビゲーションシステム関連

ナビゲーションシステム開発をはじめとした、位置情報システム(車両管理・動態管理などのGPSを利用したシステム)や、地理空間情報システム(地図情報・地理情報のシステム)の運用・管理案件でもPythonエンジニアのニーズは高まっています。

医療関連

医療系データベースや人工知能などにもPythonは用いられています。この分野でもやはりデータ分析にPythonは欠かせないものとなっており、分析から開発までをPythonだけで行うケースが増えています。

今後はさらにPython需要が高まる見込み

ITベンチャーなどの新規事業でもニーズが高いのがPythonエンジニアです。ベンチャーの新規事業には少なからずリスクが伴いますが、若いスタッフたちはPythonのような新しい言語にも積極的ですので、多少のリスクにさえ目をつぶればフリーランスとしての活動の場はさらに広がるでしょう。

また近年ではビッグデータ周辺のみならず、IoTや機械学習といった分野でもデータ分析が必須となっており、Python需要はますます高まるものと考えられています。

Pythonエンジニアがフリーランスとして働くために必要なスキル

現在、Python案件は多岐にわたっています。ですからそういった求人を見ているとすべての企業がハイスキルな人材を求めているように見えますが、実際は必ずしもそうはなりません。いつの時代も企業が求めているのは不足している要素をワンポイントで埋めてくれる人材です。

広範囲にわたる高いPythonスキルがなくとも、自分が担当する仕事に関する領域のスキルさえ保持していれば、問題なく仕事は受けられます。以下、Pythonエンジニアがフリーランスとして働くために必要となるスキルをいくつかピックアップしてみます。

Webサービスの開発経験

Webアプリケーション開発の現場で重宝されるのは、やはりWebまたはそれ以外のアプリケーションの開発経験になります。PHPやLAMPでの開発経験が求められることもありますが、各種フレームワークを使った開発経験やWebサービスの開発経験もあるとさらにいいでしょう。

データの分析能力

データ分析は今、完全にPythonが主流になっています。特に大規模なデータ分析になるほどPythonを使ったシステム開発が欠かせないものとなっており、AccessやExcelを使った分析作業はすっかり過去のものとなりました。

データ分析に必要となるシステムはプロジェクトごとに変わりますが、そのプロジェクトごとに適したツールやシステムの開発を行うことができればより単価が上がる可能性が高くなります。

またビッグデータ関連のプロジェクトにおいては、実際のデータ分析を行えるかどうかで報酬が大きく変わります。統計解析、機械学習、自然言語処理といった専門知識があればさらなる高単価にチャレンジすることも可能になりますが、この分野ではPythonエンジニア自体が完全に不足している状況ですので、専門知識がなくてもデータサイエンティストとして成長したいという意気込みがあれば受注は見込める状況になっています。

サーバの管理能力

Pythonエンジニアに限ったことではありませんが、サーバやネットワークの知識があれば高額案件も受注可能となるでしょう。Pythonもいろいろな場面で活用されていますが、定型処理スクリプトの開発経験などもあれば有利に働くことは間違いありません。

フリーランスエンジニアはPythonで在宅ワークできる?

結論から言うと、在宅ワークができる可能性はほとんどない状況です。その理由としては、Pythonでの開発案件の多くがアジャイル型であることが挙げられます。

アジャイル型とは主に自社開発の現場で、ディレクター、プロジェクトマネージャー、エンジニアが協働して開発を進めながら仕様を固めていくという開発プロセスのことを指します。

ですので、初めてのクライアントの場合は、まず同じオフィスである程度の期間働いてみてというプロセスをとるケースが多くなるでしょう。もちろんそれで信頼関係を築くことができれば、外注や在宅という形で仕事を受注することも可能になりますが、結局どうなるかはクライアント次第です。数十人以上のチームで開発を行っているような場合は、マネジメントの観点から在宅といった働き方自体が認められないことが多くなります。

一方で、数人〜10人程度の小規模案件であれば場合によっては外注や在宅といった働き方も認められるかもしれませんが、在宅ワークにこだわりすぎると、コミュニケーションや新技術といった面でのスキルアップの機会を逃してしまう恐れもあります。

最近はフリーランス向けの業務委託案件も増えています。その多くはオフィスに出社して作業するというものになりますが、どのような現場でも信頼関係を築くことができていない状況では在宅ワークを始めとする柔軟な働き方は認めづらいと考えるのが実際のところです。

逆に言えば信頼関係さえ築ければ、オフィスに出社して作業する業務委託案件を在宅ワークにすることもできるでしょう。働き方を重視するのではなく信頼関係を構築することに注力する方が在宅ワークへの近道となるかもしれません。

Pythonエンジニアがフリーランスとして働くときの請求書の作り方

請求書の基本

フリーランスが案件を受注し業務を完了したら、依頼主に提供した商品やサービスの代金について請求書を作成して提出します。請求書は証憑(しょうひょう)書類と言われ、フリーランスなら5年間は保存義務があります。ビジネスを行う上で大切な書類となりますので、ポイントを踏まえてしっかりと作成するようにしましょう。

国税庁のウェブサイトで「請求書等の記載事項や発行のしかた」として勧められているのは以下の5項目です。

・書類作成者の氏名又は名称
・取引年月日
・取引内容
・取引金額(税込み)
・書類の交付を受ける事業者の氏名又は名称

以上の5項目があれば請求書として成立します。あとは書式等のフォーマットを自由に決めて作成しましょう。ただ依頼主によっては依頼主の指定するフォーマットでの提出を求めてくる場合がありますので、最初の契約の段階で契約書をどのようにするのか依頼主にあらかじめ確認しておいてください。

フリーランスエンジニアの請求書の作り方

フリーランスエンジニアの報酬額は「人日計算」「人月計算」で決めます。

人日計算とは「人数×日数」による計算方式のことで、1人が1日(労働時間の目安は8時間)でできる仕事量が「1人日」となります。ですので請求書には自分が作業に要した時間と単価がはっきりと分かるように書くことが大切です。また見積もりと大きくズレてしまってもいけませんので、そうならないように注意しましょう。以下、シンプルに品目のみを記す場合と、品目の明細を記す場合について説明します。

品目のみを記す場合

品目:システム設計費(160h×4,000円)
単価:640,000
数量:1
価格:640,000

小計:640,000円
消費税:51,200円
合計:691,200円

品目の明細を記す場合

品目:システム設計費(100h×4,000円)
単価:400,000
数量:1
価格:400,000

品目:データベース作成費(20h×4,000円)
単価:80,000
数量:1
価格:80,000

品目:プログラム打込費(20h×4,000円)
単価:80,000
数量:1
価格:80,000

品目:管理システム作成費(10h×4,000円)
単価:40,000
数量:1
価格:40,000

品目:システムエラーチェック費(10h×4,000円)
単価:40,000
数量:1
価格:40,000

小計:640,000円
消費税:51,200円
合計:691,200円

上記の品目はあくまでサンプルですので、自分が従事した作業内容に応じて記載するようにしましょう。

請求書を作るときに注意したい8つのポイント

請求日

個人宛の場合には「請求書を発行した日」、企業宛の場合には「請求先の締め日」を記すことが多いので、どちらにすればいいのか請求先に確認して間違いのないようにしてください。

当然ですが締め日も企業ごとに違います。自分で勝手に判断せずに、必ず確認を取りましょう。

請求書番号

請求書番号の記載は必須ではありません。しかし番号を記載することでたくさんのメリットが生まれるのも事実です。再発行を依頼された時や確認が必要になった時など、請求書番号が記してあれば請求書を特定することが容易になるでしょう。請求書番号の振り方に決まりはありませんので、各自が管理しやすい番号を割り振ってください。

おすすめの管理方法を1つご紹介します。

桁数は何桁でも構わないのですが、頭3ケタを取引先コード、下4ケタを請求書の発行順とする方法です。A社の取引先コードを100と設定したら請求書番号は100-0001、B社の取引先コードを200としたら請求書番号は200-0002となります。取引先コードは取引先の数だけ用意してください。下4ケタは連番となります。桁数は大きめに設定し、重複しないようにしましょう。

消費税

請求書には、内税(消費税込)か外税(消費税別)かを記載してください。一般的には単価は税抜きで記し、小計の後に消費税を記します。

基準期間における課税売上高が1,000万円以下であるならば消費税の納付が免除されますが、詳しくは国税庁Webサイトよりご確認ください。

源泉徴収

源泉徴収はフリーランスや個人事業主も対象となりますが、フリーランスエンジニアのシステム開発は源泉徴収の対象にはなりません。ただシステム開発の現場に常駐している場合は取引先と雇用関係にあると判断され、源泉徴収の対象となります。

振込手数料

振込手数料は支払者が負担するのが一般的となっています。ただ稀にですが請求者が負担することもあります。請求者が負担する場合には振込手数料を差し引いた金額を請求しなければなりません。支払者と請求者のどちらが負担するのかは、請求書を作成する前に確認しておいてください。

請求書の送付方法

請求書はメールやFAXでOKという企業が多くなっていますが、請求書原本の郵送を必要とするところもまだ存在します。このあたりのやり方も企業によって異なりますので、事前にしっかりと確認しておきましょう。

押印

請求書に押印がなくても法律上は問題はありません。またそもそも法律は請求書なしでの請求も認めています。請求書の発行や押印を義務付ける企業が多いのは余計なトラブルを避けるためと考えられますが、押印の必要・不要問題でも企業ごとにルールがありますので、やはりこれも事前に確認しておくべき事案の1つになります。

請求書をデータで送付する場合

請求書の作成はExcelやWordで行なっても構いませんが、ExcelやWordのデータをそのまま送ってはいけません。ExcelやWordから必ずPDFに変換し、PDFデータとして送ってください。PDFなら改ざんを防ぐことができますので安心です。

独立という働き方ってどうなの?

  • 独立すると年収が上がる?
  • 安定して仕事はある?
  • 独立は保険等の自己負担が大きそう
会社員から、フリーランスや独立への転身を考えてみると、いくつも不安が浮いてくると思います。エンジニアの独立を支援する「Midworks」は、それらの不安を解消して、フリーランスのような高単価、正社員のような収入の安定を実現しています。

Midworksなら…

  • 年収が上がる
  • 安定した仕事の受注
  • 正社員同等の保障
独立やフリーランスを考えているエンジニアの方は、まずは相談から始めてませんか。