ここ最近、機械学習やディープラーニング、TensorFlowといった流行のキーワードとともに語られるPython。PythonそのものやPythonフレームワークにはどんなものがあって何ができる、ということはどこででも語られていますが、Pythonで食べていけるのか、という求人の側面で語られることは多くありません。
Pythonを学習しはじめたものの、数学の壁を乗り越えられずに挫折したという声をよく耳にします。そんなに一般的に習得困難であれば、逆に習得できればお金になるのでは?と思いませんか?
この記事では、Pythonやその周辺のフレームワークを「求人」という切り口で見てみます。最近はやりのPythonや機械学習をやってみようかな、今後のためにPythonへ転向しようかな、と思っている現役エンジニアや初心者の方、ぜひお読み下さい!
目次
Pythonが人気の理由
Pythonはなぜ人気があるのでしょうか?その歴史や特性を見てみましょう。
Pythonは最近の言語か?
最近、突然人気急上昇した感のあるPython、まずはこの事実を見直しましょう。
実はPythonとDjango(ディージャンゴまたは単にジャンゴと呼ぶ)は、古くからある開発言語とフレームワークなのです。Pythonの一番最初のリリースは2000年です。Djangoのリリースも2005年です。公開からすでに10年以上経った言語やフレームワークなのです。
Google App EngineではPythonを正式にサポートしていますし、大学などの教育機関もPythonを採用しています。
有名どころでいうと、インスタグラムやDropBoxもPythonを採用しています。
以上より、決して突然人気が出た言語ではないのです。
Pythonの特性
Pythonを他言語と比較したとき、どんな特性が見えてくるのでしょうか?その特性が人気の理由かもしれません。ちょっと見てみましょう。
Pythonイコール科学計算やデータ分析、AIが得意と語られることが多いです。しかしPythonそのものは科学計算用の言語ではありません。
今のようにPythonが流行する前は、科学計算やデータ分析はRを使うのが一般的でした。「でした」というとすでに絶滅したような印象を受けますが、決してそうではなく今でも使われています。ただ、事実上主役はPythonが奪ってしまいました。
(RはR言語と呼ばれることが多いのですが、一般的にいうプログラミング言語とはかなり異なります)
さまざまな企業やコミュニティがPythonのライブラリを開発・発表し始めて、Pythonの普及が加速しました。そしてRでできることはPythonやPythonフレームワークでもできるようになってきたのです。
その延長で機械学習やAIの分野でもPythonが使われるようになり今に至るわけです。GoogleもPythonベースのフレームワーク、TensorFlow(テンソルフロー)を公開しています。
機械学習やAI、データ分析が活発になるにつれて、今後もPythonが使われるでしょう。よって今からpythonを学習しておくことは、エンジニアとして仕事の裾野が広がることにもなります。
PythonはRより優れているのか?
ちまたでは「R言語は理解しづらいが、Pythonは簡単」という論調をよく目にしますが、決してそんなことはありません。データ分析や関連する数学が難しいのであり、RそのものはPython同様使いやすいものです。単純にデータ分析だけをしたいなら、Rも選択肢に入れてみてください。
Pythonエンジニアの仕事内容
Pythonエンジニアと呼ばれる人たちは、どんな仕事をしているのでしょうか?Pythonを要件とした求人をざっと見ると仕事内容が分かります。
PythonはWebシステムに採用されない?
国内のWebシステムやWebサイトの構築において、PythonやDjangoはJavaやRuby、PHPに押されてしまっています。PythonやDjangoが選択肢に入ることはまだまだ少ないのです。採用が少ないということは情報量が少ないという状況に直結します。これがさらに採用されにくい原因にもなります。
今後の普及に期待したいところです。
Pythonでできること=エンジニアの仕事内容
Pythonエンジニアの仕事とは、Pythonでできることに他なりません。例えば以下のようなものです。
- 機械学習を使ったデータ分析
- AI関連
現状を分析し、課題を明らかにし、それらをシステムによって解決することを目指すのです。求人によっては、解決策をドキュメント化してユーザーに提案、という要件まであります。
つまり、決まりきったシステム開発ではなく、漠然とした要件をPythonやライブラリでシステム化するといった上流工程の力が必要となるのです。場合によってはマネジメント力まで必要になるかもしれません。
なぜPythonが採用されるのかというと、Pythonでしか解決できないことがあるからです。WebシステムやWebアプリ開発なら、普通の企業はあえてPythonを使わずにjavaやRuby、PHPといった技術者が集まりやすい言語を採用します。
大変厳しい言い方になりますが、PythonやDJango、TensorFlowだけを知っているというだけでは案件をゲットするのは難しいのです。その分、上流やマネジメント、Pythonを習得するとニッチなエンジニアとして重宝されるともいえますね。
Pythonエンジニアの需要は?
Ruby求人はエンジニア求人の中ではどのような位置付けなのでしょうか?Rubyエンジニアの需要はどれくらあるのでしょうか?
Python求人の数
Python求人の数を、他言語と比較してみましょう。ポテパンを含む複数サイトで、言語を指定して検索結果を見てみました。
まずはフルタイム系(つまり週5日常駐が基本)の求人サイトで検索した結果です。
ポテパンを含む複数サイトで傾向が一致しており、Java/PHP/Ruby/Pythonの順番になっています。
ちょっと見方を変えて、副業やフリーランス系をメインターゲットとするサイトでの傾向を見てみましょう。
今度はPHP/Java/Ruby/Pythonの順になり、PHPの需要が一番高いのです。
求人全体におけるPythonの傾向
Java/PHP/Rubyに次ぐ人気のある言語といえます。しかも、この3つの言語はWebシステムを開発するための言語です(JavaやRubyは組み込み系開発にも使われていますが)。機械学習やAIを得意とするPythonとは基本的に土俵がちがうのです。よって、案件の比率だけではPythonエンジニアの需要は語れません。
JavaやRuby、PHPが機械学習やAIへ進出してこなければ、この分野でのPythonは一人勝ち!となりますね。
Pythonエンジニアの年収・単価相場
現在ポテパンにて募集中の、Pythonの案件を調べてみました。
【医療・ヘルスケア分野向けシステム構築】
650,000円/月
Pythonを使用したサーバサイドAPI、ウェブアプリケーション、各種スクリプトの開発、人工知能とのインターフェース実装
【ポイントサイトのサービス開発エンジニアの案件・お仕事】
800,000円/月
既存機能の改善と新機能の開発を行います。事業運営を担う各本部のディレクター・営業と協力して、開発を進めていきます。
他にも、立ち上げ当初より参画し、ディレクター・デザイナーと協業しながら、進める案件もお任せする場合があります。何を作るかだけでなく、より上段にある事業課題から、一緒に考えることもよくあります。
【ニュースキュレーションアプリのPython開発案件】
800,000円/月
・大規模なデータの分析業務
・サービスの改善、開発業務
Pythonの案件は、普通に開発をするだけではなく、それ以外のスキルが重要なことがお分かりでしょうか?
未経験でもPythonエンジニアとして転職できる?
Pythonに限らず、そもそも未経験としてプログラマーの仕事を獲得できるかという問題があります。残念ですが、完全未経験でも可という案件はありません。ですが、それはあくまで「普通のプログラマーレベルの労力がほしい」という要望に対しての話です。
副業紹介サイトやフルタイム系求人の紹介サイトでは、まれに「テストだけでもよい」「学習しながらでもよい」といった募集要件を見ることがあります。こういった案件を活用しましょう!いきなりプロのプログラマーとしてデビューするのでは無く、テスターから徐々に上流フェーズへ上がっていけばよいでしょう。
他言語での経験がある方は、Pythonは比較的容易に習得できるはずです。ブロックをカッコでくくらずインデントだけで表現するとか、Python特有のデータ構造などで戸惑うことがありますが、決して困難ではありません。また他言語での経験をアドバンテージとして、プログラミングのみではなくデータ分析やAI、機械学習もぜひ視野に入れておいてください。
Pythonエンジニアのリモート案件はある?
Pythonの開発自体が、前述したように単純作業だけでは済まないことが多いです。要件定義からという場合もあります。ということは、他人との共同作業になることがあり、リモートだけでできるPython案件はほぼ無いといっても過言ではありません。
Pythonエンジニアのアルバイト求人はある?
残念ながら、キビシイと言わざるを得ません。
副業を紹介しているサイトの検索機能にて、Pythonで検索してみましょう。そこで出てくる案件を見ると、既存のPythonのコードをブラッシュアップしたり、ライブラリを使った実務であったり、と経験者をターゲットとしたものがほとんどです。
ただ、先の「未経験でもPythonエンジニアとして転職できる?」で述べたとおり、まれに初心者からでもという案件があります。よってあきらめずに検索し続けてみることが大事です。
Pythonエンジニアの今後の需要は?
AIや機械学習と一蓮托生のPythonです。これからますます需要が伸びていきます。
ビッグデータというキーワードがもはや珍しくなくなった今、その活用方法がさらに重要になってきます。データサイエンティストという職業も誕生しました。データ分析がますます重要となります。となると、Python抜きではデータ分析の未来を語れません。
AWSやAzure上でも、Pythonをサポートしているサービスは多数あります。クラウドというキーワードとともにPythonを捉えるのもアリかもしれませんね。
Python求人情報の探し方
Pythonがメジャーなキーワードになった今、どの求人情報サイトでもJavaやPHPとともにPythonの選択肢があります。もちろんポテパンにもあります。Pythonの求人を探すのはとても容易になったのです。