Facebook
最近注目度が上がっているプログラミング言語Python。コードがシンプルなので、初めての方でもとっつきやすく、年々使用者も増えてきております。一方で海外ではFacebookやGoogle、日本国内で言えばGunosyやソフトバンクのpepperでも使われる等、企業側でも開発環境として採用されるケースが増えています。Pythonが採用される理由として、活用できるシーンが多いことが挙げられます。Pythonは、Webアプリケーションはもちろん、特に使われているのがデータ解析、自然言語処理のように現在のビジネストレンドの要望にあったアウトプットが出せるなど、様々な場面で活躍します。
本記事では、そんな注目度が高いPythonのフリーランス案件のトレンドを中心にご紹介します。

目次

1.Pythonって?

1.Pythonの語源

Pythonの語源は、イギリスの「空飛ぶモンティ・パイソン」という番組で、理由はPythonを開発したオランダ人のグイド・ヴァンロッサムの好きな番組だったからです。面白いですね。ちなみに、Pythonのロゴはニシキヘビをモチーフにしているそうです。

2.Pythonの特徴

Pythonの特徴は冒頭でお伝えした通り、シンプルで分かりやすいので初心者にもはじめやすい点です。その他にはどのような特徴があるのでしょうか。

・機械学習やディープラーニングに活用できるライブラリが豊富にある。
Pythonエンジニアの中でも特に人気があるのは「scikit-learn」というライブラリで、グラフ描画・科学技術計算・数値計算などの機械学習の実装が出来ます。他にもディープラーニングにも活用できる「Theano」など、現在のビジネスニーズに合ったアウトプットが出せます。下記の記事でライブラリの比較が分かりやすく記載されているので参考にしてみてください。

https://qiita.com/jintaka1989/items/bfcf9cc9b0c2f597d419

・作れるもののバリエーションが非常に多い
Pythonの守備範囲は非常に広いです。冒頭でも記載しましたWebアプリケーションや機械学習(AI)だけでなく、組み込み開発、ゲーム開発も可能です。非常に多くの場面で活躍するので、Pythonの企業側のニーズは増えているのも理解できます。

2.Pythonの最新のニーズ・トレンド

1.世界で見るPythonのニーズ

Pythonの由来や特徴を理解したところで、世界的にPythonの注目度がどうなのか見てみましょう。
下図をご覧ください。

https://www.tiobe.com/tiobe-index/

これは、オランダのTIOBEが公開している「TIOBE Index」というサイトから引用したもので、Google、Yahoo!、Bing、百度(バイドゥ)など、世界で使用されている検索エンジンの検索結果を踏まえ、言語別・年度別でどれだけ話題になったかが分かります。
Pythonの話題の度合いとしては4位に位置しています。前年2017年比でも1.12%伸びています。背景としては、やはりデータ活用や機械学習(AI)を活用したい企業のニーズは増えていることや、プログラミング未経験者が始めやすいので、データを活用したいマーケティングの仕事をしている人の習得ニーズが増えたことが挙げられます。

2.日本国内のPython求人の動向

次に日本国内を見てみましょう。まずはグーグルトレンド。

https://trends.google.co.jp/trends/explore?date=all&q=Python

2004年以降のトレンドしか見られませんが、2012年頃から右肩上がりで伸びています。ちょうどビッグデータが話題になり始めたころなので、分かりやすく傾向が出ていると思いますね。

次に日本国内の求人を見てみましょう。

筆者が運営しております、フリーランスエンジニア向けの案件紹介サイト「High-Performer engineer」のPythonのフリーランスエンジニアの案件数において下記の傾向が見られました。

・2016年と比較し、2017年は2倍にPython案件が増えている。
・2017年のエンジニア全案件の中でPython案件は約4%


話題性としては、JavaやPHPに迫る勢いがあり、かつ2016年と比較してかなり案件も増えていますが、JavaやPHP案件と比較するとまだまだ少ないようです。しかし、ビジネストレンドを踏まえると今後も案件が増えることは間違いないでしょう。

3.Pythonエンジニアの正社員とフリーランスの報酬の違い

1.正社員Pythonエンジニアの年収

http://www.bizreach.co.jp/pressroom/pressrelease/2017/0810.html
スタンバイ(https://jp.stanby.com/)調べ

正社員のPythonエンジニアの平均年収は601万円で2位。エンジニアの平均年収としてはかなり高いです。
これだけ年収が高いのは、求人数は増えているものの、実務レベルで使いこなせるPythonエンジニアの増加数が追い付いていないことが要因です。ただ前述のようにPythonは未経験者からでも始められやすい言語なので、人口としては増えていく可能性が高いです。

2.フリーランスPythonエンジニアの報酬

フリーランスPythonエンジニアの報酬はどうでしょうか。
フリーランスエンジニアでは経験年数に応じてもらえる報酬は変わります。下記をご覧ください。
※弊社運営の「High-Performer engineer」の実績を参考に算出していて、週5日間稼働した場合の金額です。

実務使用経験6か月:月額報酬30万円程度
実務使用経験1年:月額報酬40万円程度
実務使用経験2年:月額報酬50万円程度
実務使用経験3年:月額報酬60万円程度
実務使用経験5年:月額報酬70~80万円程度

こちらはあくまで相場ですが、データ分析系の案件は企業側の重要度としては非常に高いので、報酬が高くなるケースが多く見られ、実務経験が3年程度でも80万以上出ることもあります。

4.フリーランスPythonエンジニアに求められるスキル

1.フリーランスPythonエンジニア案件

それでは実際にフリーランスエンジニア向けの案件紹介サイト「テックストック」のPython案件を見てみましょう。
実際の案件例
<サービス横断データを用いたBIプロジェクト/総合人材サービス>
【月額報酬】80~110万円
【業種】人材サービス
【業務内容】
・総合人材サービス企業におけるグループ内のBIプロジェクト
・サービス横断データ(会員、ログ)などを用いての顧客デモグラフィック推定や精度向上
・上記BIを実現するためのインフラ構築、フロント画面開発
・顧客プロパーが調整した仕様などを元に実装
【必須経験/スキル】
・Python経験
・インフラ構築経験
・フロント画面開発経験(JavaScript、CSS、HTML) 尚可
・クラウド開発経験(GCPを使用するため) 尚可
・SPSSなどを用いた統計解析経験 尚可

こちらは大手総合人材サービスの案件で、グループ各社の会員データを横断で、分析できるようにするためのプロジェクトです。実現できると企業側のビジネス成長に大きく寄与するため、報酬としてもかなり高く設定されています。

2.よく出てくるエンジニア求人で求められるスキルセット/収入を上げていくには?

上記を踏まえ、エンジニアとしてどういうスキルを身に着けていけばいいのでしょうか。
大きくは二つかなと思います。

1.コアとなるメインの言語におけるプログラミングスキルを一つ身に着けるだけでなく、フレームワークの習得も並行して行う。

フリーランスエンジニアとして市場価値を高めていくためには何が必要か。コアとなるメイン言語のプログラミングスキルを身に着けるだけでなく、フレームワークの習得が必須です。正社員では必須スキルとして、フレームワークが求められることはありませんが、フリーランスではフレームワークのスキルを求められるケースが非常に多いです。フレームワークを習得している方ならお分かりかと思いますが、開発効率を上げることができ、エンジニアの人数が多い際に、ソースコードの統一が図れるため、スムーズに開発が進みます。本記事を読んでいらっしゃる方はPythonエンジニアの方が多いと思いますので、Pythonにフォーカスして身に着けるべきフレームワークをご紹介したいと思います。

【お勧めPythonフレームワーク3選】

<Django>
DjangoはPythonエンジニアの中で最も利用されているフレームワークです。特徴としては下記2つです。
・多機能で構成がシンプルなので、効率よく開発できる
・テンプレート、デフォルト値共にあるが、簡単に書き換えが可能で、自由にコードを書くことができる。
Pythonの求人でも必須スキルとしてDjangoが求められることが多いので、習得しておくことをお勧めします。

<Bottle>
Djangoほどポピュラーではないものの、機能性に優れているのでお勧めです。特徴としては、下記2つです。
・シンプルかつ軽量なため、簡単に習得することができるので初心者にお勧め
・パフォーマンスが良いため、トラフィックの多いWebサービスで利用される

エンジニア初心者の方はこれから始めてみてはいかがでしょうか。

<Flask>
Bottleと似ていますが、下記が特徴です。
・非常に軽量で使いやすい
・現在Pythonのフレームワークとして急速に利用するPythonエンジニアが増えている

3Dプリントの分野で使用される例があるなど、最新テクノロジーでの活用が見込まれます。

2.マネジメントやクライアントとの折衝に携わる機会があれば積極的にその業務を取りに行く。
プロジェクトに入っていると自分の担当ではなくても、上流工程が出来る人が不足しているので、積極的に手を挙げればエンドユーザーとの折衝やマネジメントが出来る機会も多いと思います。自分の担当外だとしてもチャレンジするようにしましょう。そこで評価されれば、次の案件の参画時に報酬アップを狙えます。

3.統計解析スキル
最後に統計解析スキルです。現状はプログラミングスキルに強みを持つ方が多いと思いますが、統計解析スキルを身に着けておくと、エンジニアという一つの職種領域にとどまらず、データアナリストとしてのキャリアの可能性も見えてきます。データアナリストは定義として業務範囲が広いため、統計解析スキルのみを身に着けるだけでは務まらない場合もあります。もしデータアナリストとしてのキャリアを考えたい方は下記のスキルも今後視野に入れても良いと思います。

・ビジネススキル
・ITスキル
・統計解析スキル


一つ目のビジネススキルは、分析対象としているデータが関わるビジネスモデルの理解や、分析結果を元に売り上げに寄与するようなビジネス判断が重要となります。またそのビジネス判断をステークホルダーに説明し、納得感を得られるプレゼンテーション能力も欠かせません。ビジネススキルは、現在参画しているプロジェクトのマネジメントをされている方が習得していることが多いので、参考にしてみてはいかがでしょうか。

二つ目のITスキルについて、具体的には開発手法や膨大なデータを高速に処理するための負荷分散における知識、プログラミングスキルが必要です。プログラミングスキル以外にもキャッチアップしておかなければいけないITスキルも多いですね。

最後に前述した統計解析スキル。統計解析スキルは数学や、多変量解析・回帰分析・相関分析などの分析手法の習得が必要です。分析手法の理解がないと、分析ツールを使いこなすことができないので、データアナリストにとっては必要なスキルと言えるでしょう。

5.まとめ

いかがでしたか?
Pythonエンジニアの求人、案件自体のニーズ、もらえる報酬についてご理解いただけたかと思います。もっと詳しい案件の内容や自分であればどんな案件にチャレンジできるか気になったら、是非一度テックストックまでご相談ください。