システム開発において、開発言語だけですべてを開発すること、例えばPythonならPython言語だけで全機能を作るといったことはしません。DB(データベース)へのアクセスや画面描画といった「仕様に関係しない共通機能」は何らかのフレームワークを使うのが普通です。
フリーランスへの転身や転職を予定している方、将来に不安を感じている方には、フレームワークの人気はとても大きな問題ですよね。自分の使えるフレームワークの流行り度合いによって、選択できる案件の幅が変わるのですから!
本記事では「Django」をピックアップして、Djangoを「求人案件」という観点で調査してみました。
本記事の執筆にあたっては、大手のIT転職サイト2社と、ポテパンを含むフリーランス・副業向けサイト5社の計7社を徹底調査しています。
目次
そもそもDjangoとは
Djangoを語る上で、Pythonの歴史は外せません。Pythonについてもサラッと復習しておきましょう。そもそもPythonとは
1991年にヴァンロッサムが初版を出しました。その後バージョンアップが続き、現在は3.7が最新です。最近になってクローズアップされた感がありますが、Pythonの歴史は意外に古いのです。Rubyが一般公開されたのが1995年なので、それよりも古いと考えると、ちょっと驚きですね。
Pythonは科学計算関連のライブラリが多いのが特徴です。またPythonをベースとしたフレームワークも豊富で、Googleの開発した機械学習フレームワーク、TensorFlowもその一例です。
Pythonの文法を基準として計算式を対話形式で入力できる科学計算ツール、Jupyter Notebookは、同じ機能を持つ「R」を置き換える勢いです。RからJupyter Notebookへ完全に乗り換えた人もいるほどです。
またAI関連ツールでも言語はPythonで記述することが多く、最近の時流に乗ってPythonはますますシェアを伸ばしています。ソフトバンクのショップの前で踊っているペッパー君も、実はPythonで動いています。
ちなみに、Pythonとはニシキヘビを意味します。青と黄色のPythonのロゴは、よく見れば蛇に見えますね。
そして、Djangoとは何か?
Djangoとは、PythonをベースとしたWeb開発フレームワークです。2005年に初版が公開され、最新版は2.0.7です。
Djangoの読み方ですが、人によって異なりますので何ともいえませんが、ジャンゴと呼ぶ人の方が多いです。しかしディージャンゴと呼ぶ人もいます。どちらでも結構です。
日本では他のWeb開発フレームワークに押されてしまい、あまりメジャーではありません。しかし海外では一般的に用いられているフレームワークです。
Djangoは、他のWeb開発フレームワークができることは、だいたい可能です。
Djangoの特徴を列挙してみます。他のフレームワークを習得した方なら、フムフムと読めるのではないでしょうか?
- MVCフレームワーク
- データモデルとDBを仲介するO/Rマッパー
- 正規表現に基づくURLディスパッチャ
- ビューのテンプレートシステム
- モデルのインスタンスをJSONやXMLで入出力
Djangoを選択するメリット
前節では、Pythonは「他のフレームワークではできないコレができる!」といったものが少ないとお伝えしました。では、Djangoを選択するメリットとは何でしょうか?システム内で言語を統一
例えば「PythonならびにPythonのフレームワークで分析した結果をWeb上で公開する」という仕組みを考えてみます。Pythonや関連フレームワークは、もちろんPythonですよね。そこでアウトプットされた結果を、今度はRailsやSpring(Java)で処理してDBに入れて、かつWebAPIを提供して、そしてフロントはAngular・・・ちょっと極端すぎますが、できなくはありません。
でも、そんなシステムがあったとしても、とても保守性が悪いですよね。何が悪いかというと、仕組みごとに言語やフレームワークが異なることです。
言語が異なれば、その言語ごとに技術者を雇うか、少数の技術者に複数の言語を習得させるしかありません。
しかしそれは複数の技術者を雇うためコストが高くついたり、または技術者一人当たりの負担が大きくなる、とさまざまな問題があります。
もし、Web周りをPython、つまりDjangoを採用すればどうでしょうか?
データ分析はPythonとそのフレームワーク、WebはサーバーもフロントもPythonとそのフレームワーク、と言語が統一できます。
言語が統一できると、技術者やコーディング規約、各種ライブラリなどなど、すべて統一ができます。全技術者はPythonを習得するだけで済んでしまいます。
Djangoを採用すると、データ分析やAI関連とWeb周りをすべてPythonで統一できる、というメリットがあるのです。
Djangoエンジニアの仕事内容
Django関連の案件を見てみましょう。どのような特徴があるでしょうか?ブロックチェーン技術と暗号通貨を使ったソーシャルメディアプラットフォームの開発・運用/音声情報処理のためのクラウドプラットフォーム/農業IoTクラウド事業/マーケティングオートメーションの構築/FinTech★業界最大投資コミュニティ&EコマースサイトDjangoというより、Pythonならではの特徴が見えてきます。
Pythonの特徴(どちらかというとPythonを基礎としたフレームワーク)とは、科学計算やAI、IoT、ビッグデータに強いということです。その特徴がそのまま案件にも反映されています。
Djangoというキーワードで検索したのに、ヒットする案件は上記のようなもの、ということは何を意味するのでしょうか。
Djangoだけ出来てもアピールとしては弱い、ということになります。このあたり、後述の「Django案件で年収・収入を上げるポイント」もご参考ください。
Django案件は今後減少する?増加する?
Googleの検索数の推移を見てみましょう。Django(青)とPyhon(赤)を比べてみました。2014年からの推移は、Pythonは上がり調子なのに比べて、Djangoはこれまた地を這うという様相です。ちなみにこのデータは日本だけに限定しましたが、全世界でもこの傾向は変わりません。
ただ先ほど述べた理由から、DjangoはPythonやその他関連フレームワークで得たデータを一般公開するときには外すことができない選択肢です。Djangoは人気は低いながら、Pythonの人気の浮沈に影響を受けず一定ともいえるのです。
Djangoの案件は、というより、Python全体でざっくりと考えた方が良さそうです。となると、Djangoは一定の需要が今後も続きそうです。
Django求人案件の単価相場は?
Djangoの求人案件における、単価相場を調査しました。実務未経験
スクールにすら通っていないというような「完全未経験」では、残念ながらDjango案件を獲得するのは難しいです。調査した結果、完全未経験可という案件はほとんど見られませんでした。そんな中、完全未経験の方が案件獲得するのはほぼ不可能ということになります。また案件によっては、Djangoの開発経験○年以上という制限がありました。ただでさえシェアのあまり大きくないDjangoなので、経験がある人の数自体は少ないのですから、未経験の方にとってはなおさらです。
実務経験半年
350万円(週5勤務)実務経験1年間
400万円(週5勤務)実務経験2年間
450万円(週5勤務)実務経験3年間以上
600万円(週5勤務)実務経験5年間以上
800万円(週5勤務)Django案件で年収・収入を上げるポイント
上記の単価では、上限が800万円程度としましたが、案件によってはそれ以上もあります。一体何がそれほど単価を左右させるのでしょうか?まずは、Djangoと併記されることの多いキーワードをあげてみましょう。
上流工程・AI/マーケティング/センサーデータ(いわゆるIoT)/画像処理/音声認識前述の「Djangoエンジニアの仕事内容」で触れた仕事内容をもっとブレークダウンしたような内容ですね。
ここから何が導かれるでしょうか?それはDjango案件は、純粋なPython/Djangoの能力だけを求められるわけではないということです。
具体的に見ていきましょう。
データ分析/機械学習の知見を持つ
Djangoの知識に加えて、データ分析/機械学習の知識も習得しましょう。Djangoというキーワードで検索して、案件で多く見られるその他のキーワードは「データ分析や機械学習」なのです。
データ分析とは、収集されたデータを整形(前処理)、そのデータを分析(学習)、そして結論を得る(評価)という一連の流れにデータを通して、欲しい結果を得ることをいいます。
案件によってデータ分析の対象はさまざまで、学術的なものからそれこそWebシステムのアクセス履歴、購買データからマーケティングのための基礎情報などなどです。
具体的に分析の分野を絞ってもよいのですが、どうせなら「データ分析とは何か」という基礎を押さえて、どんな要件にも柔軟に応えるようなスタンスが良いでしょう。
また、関連するフレームワーク、例えば冒頭で触れたTensorFlowなどの習得も、案件の幅を広げてくれること請け合いです。
AIやIoTの知見を持つ
Djangoの知識に加えて、AIやIoTの知識も習得しましょう。AIやIoTなどなど、各種デバイスへの組み込みや制御処理など、Pythonで記述するものが多数あります。PythonやDjangoが習得できたら、ぜひこのあたりの技術も習得しましょう。
総括:収入をあげるためには
ただ単にWebシステムを構築するだけなら、Djangoを選択するというのはむしろあまり得策ではありません。開発言語間で見てもPHPやJava、Rubyと比べて技術者の数的に不利です。であれば、Djangoを選択する経営者や上流エンジニアたちは何を求めているのでしょうか?それはとりもなおさず「Webシステム開発以外の何か」なのです。その何かは、もうお分かりですね?「Pythonでできる何か」なのです。
Djangoができます!そのひとことに、上記のような知見を加えてはいかがでしょうか?
Django案件で年収・収入が「下がる」ポイント
ただでさえPythonの周りは技術の移り変わりが激しいのです。Pythonの技術者は今のところまだ数が少ないものの、今後どうなるか分かりません。書店ではPython関連の本が平積みになり、オンラインのプログラミングスクールではPythonを教えるところが増えてきました。今後Python技術者の数が増えてくることが予想されます。
そうなると、あっというまにPythonの技術者が増えていきます。その流れに乗って、自ずとDjangoの技術者の数も増えます。すると、Djangoができます、というのは売り文句として使えなくなります。
今Djangoができて案件にアサインされているから安心・・・というのでは、単価が下がるか最悪仕事を失う可能性があります。
Djangoの案件を狙っていたり、今後Python+Djangoを学習しようと予定している方、すでにDjangoのエンジニアの方は、PythonまたはDjangoだけを見ずに、一歩引いてPythonというくくりで広くモノを見て、新たな技術を貪欲に追求するようにしましょう。
Django案件で週2~3日常駐はあるの?
残念ながら、見当たりませんでした。ほぼすべてが週5勤務の案件でした。ただし、大手SIerの定時出社・定時退社の週5勤務とは異なり、フレックスやスライド勤務(12〜21時)、家族会などの豊富な福利厚生が用意されている企業が多数ありました。
今後、政府主導の働き方改革を導入しやすい自社開発企業や若手企業が、多様な働き方を導入し始めて、Pythonエンジニアにも好影響が出ることを期待しましょう。
Django案件で在宅ってあるの?
こちらも、ほぼ見当たりませんでした。ただし、前述のようにフットワークの軽い若手企業が働きやすさを追求し、インターネット環境を活用(GitHubによるソースコード管理やSkypeやGoogleハングアウトを使ったオンラインの会議など)し、在宅での案件を公開するのは決して考えられないことではありません。
現在、このような案件を狙っている方は、こまめに求人をチェックするのがよいでしょう。
まとめ
本記事では、Djangoを「求人案件」という観点から解説しました。これからDjangoやプログラミングを学ぼうとする方は、ぜひ選択肢の一つに入れてください。また、現役のDjangoエンジニアの方々は、この記事を参考にぜひ求人サイトを検索してみてくださいね!