1分で分かる!Python
ジャバード先生!ジャバード先生!Pythonができるエンジニアを10人くらい知らない??
ことりん君こんにちは!いきなりどうしたの?
なんかパンダさんの会社が、AIをつかって鮮度が良い笹の葉を見分けるシステムをつくるんだって!だからPythonができるエンジニアを大量に探しているらしいんだよ!
笹の葉も鮮度が大事なんだね。10人かぁ。ちょっと友だちにあたってみるね。
うん、急いでいるみたいだから早めにお願い!で、聞きたいんだけど「AI」と「Python」って何か関係あるの??
プログラミング言語によって、得意なこと、不得意なことがあるんだ。PHPとかJavaScriptのことは前にもお話したよね?
参考: PHP
参考: Javascript
うん!おぼえているよ!PHPはサーバーサイドのプログラミング言語で、JavaScriptはフロントエンドのプログラミング言語だったよね!
そうだね!PythonもPHPと同じようにサーバーサイドを開発することができるプログラミング言語なんだよ。でも、Pythonのすごいところはそれだけじゃないんだ。Pythonは「ライブラリ」がとっても豊富で強力なんだ。
ライブラリってなに?
そうだなぁ。よく使われる機能をあらかじめまとめて開発したものだね。ライブラリは誰でも使ってよいように公開されていることが多いんだ。
フレームワークと少し似ているけど、フレームワークはシステム全体を開発するためのものであることが多いんだ。一方、ライブラリは「何かを計算する」とか「グラフをつくる」みたいに、特定の目的を実現する機能っていうイメージだね。
「ライブラリ」があれば、エンジニアがさぼることができる楽になるんだね!
そうだね!で、Pythonには、AIに必要な数学系のライブラリとか、ビッグデータって呼ばれる膨大なデータを分析できる便利なライブラリがたくさんあるんだよ!だから、AIをつくるときはPythonを使うことがとっても多いんだ。
なるほど!だからパンダさんはPythonエンジニアを探していたんだね!スッキリしたよ!
きっとパンダさんは、AIを使って笹の葉の鮮度について白黒つけようとしたんだね。(パンダだけに…)
ジャバード先生、結構ベタなオヤジギャグ言っちゃうタイプなんだね…
Pythonとは?基礎知識編
Pythonとは、主にWebページやWebアプリケーションを開発する際に利用者には見えない裏側の処理を行う部分(サーバーサイド)の開発に利用される言語です。Webサービス開発やAI開発によく利用されます。
Pythonを使うエンジニア
Pythonは「サーバーサイドエンジニア」がよく使用する言語です。
サーバーサイドとクライアントサイドについて詳しく知りたい方は、以下の記事をお読みください。
参考: サーバーサイドエンジニア
参考: フロントエンドエンジニア
また、最近需要が高まりつつあるAI開発を行う場合、プログラミング言語はPythonがデファクトスタンダードとなっています。そのため、「AIエンジニア」「機械学習エンジニア」と呼ばれるエンジニアもよく使用します。
さらに、後述する外部ライブラリなどの存在により、データ分析関連の開発やビッグデータを扱う開発でもPythonが利用されるケースが多くなりつつあります。こちらの職種としては「データサイエンティスト」などが該当します。
Pythonエンジニアの特徴と在籍業界
海外では目覚ましい伸び率を見せているPythonですが、日本ではまだまだPythonエンジニアの数は少ないのが現状です。ただ、Pythonエンジニアに対する需要とともに、エンジニアの数も徐々に増えつつあります。
PythonエンジニアはWeb業界に多く在籍しています。また、ITエンジニアがスキルアップとして第2、第3の言語を習得する際にPythonを選択するケースが多いです。Pythonは、プログラミング言語としての仕様もシンプルであるため、学習コストも低く、他のプログラミング言語を習得したエンジニアであれば、あまり苦労せずに習得しやすいという特徴があります。
ただし、AIエンジニア、機械学習エンジニアなどは、外部ライブラリやAI等に対する専門的な知識を必要とするため、エンジニアの絶対数はかなり少なくなります。
Pythonを使うエンジニアを採用する時に知っておくとよいこと
使用しているフレームワークとライブラリ
Pythonはフレームワークやライブラリが豊富です。特にライブラリは他のプログラミング言語にはあまり見られない数学系、分析系の強力なライブラリが揃っています。Webシステムのサーバーサイドを開発する目的だけであれば、それらのライブラリを使いこなす必要性は低く、何らかのフレームワークに関する知識や経験があれば十分かと思います。ただ、AIエンジニアまたはそちらの準ずるようなポジションの場合は、開発経験があるライブラリなどを確認しておいたほうがよいでしょう。
Pythonの有名なフレームワークとしては「Django」「Flask」などがあります。また、代表的なライブラリは以下の通りです。
ライブラリ名 | カテゴリ | 概要 |
NumPy | 数学系 | 行列計算を行う。 |
pandas | 解析系 | データの読み込みや統計量を表示する。 |
sklearn | 機械学習系 | 機械学習関連の機能が詰まっている。 |
beautifulsoup | スクレイピング系 | HTMLファイルを解析する。 |
matplotlib | グラフ描画系 | 折れ線グラフ、棒グラフなどを描画する。 |
求人のポイント
求人を作成する時は、下記の内容を求人に入れるとよいです。
1. システム(サービス)の詳細
※特にそのシステム(サービス)をなぜ作っているのかを熱量をもって記載する。
2. 開発環境
3. 現在のエンジニア組織の体制
4. 現行システムの課題と募集の背景
5. 求められる業務と期待値
6. エンジニアとしてのスキルアップ支援制度の有無と詳細
7. エンジニアチーム内での相互成長のための仕組み(勉強会やLT会など)の有無と詳細
8. 選考フロー
9. 待遇
10. キャリアパス
Python 豆知識
Pythonエンジニアの通り名
Pythonista(パイソニスタ)、Pythoner(パイソナー)、Pythonian(パイソニアン)、Pythonist(パイソニスト)と色々あるが、どれもいまいち浸透していない。
年々高まりを見せるPython人気
Pythonの人気は年々高まっています。オランダのTIOBE Softwareという企業はプログラミング言語の人気ランキングを発表していますが、こちらのランキングはIT業界ではメジャーなランキングですが、2021年6月版のランキングによると、Pythonは2位にランクインしています。また、スコアも+3.48%の上昇ということで、すべてのプログラミング言語のスコアの中で最大の上げ幅を記録しています。
引用元:TIOBE Software TIOBE Index for June 2021
Python関連の資格
日本国内のPythonに関する試験は一般社団法人Pythonエンジニア育成推進協会が運営しています。
現在、以下の2種類の試験が開催されています。
Python 3 エンジニア認定基礎試験
Python 3 エンジニア認定データ分析試験
Python関連のイベント
PyCon JPはPythonに関する国際最大級のイベントです。
また、海外ではPython Web Confというオンラインイベントも開催されています。