基本となるフィロソフィー「Pythonic」をきっちり学ぶ大切さ
Pythonエンジニア育成推進協会では、2017年6月より「Python 3 エンジニア認定基礎試験」(以下、Python基礎試験)をスタートした。現在実施している試験はこれのみだが、受験者数はすでに5000名を突破している。吉政氏によれば、IT関連の資格試験の受験者数は、グローバルベンダー系でも2~3年で1000名がやっと。Python基礎試験がスタートから2年1か月で達成したこの数字は異例だという。
この人気を支えているのは、求人市場での需要の多さだ。Indeedジャパンの求人サイトの調査結果では、2018年3月には約9000件だったPythonエンジニアの求人数が、翌年の2019年5月には2万2900名を超えている。需要の多い分野は機械学習とネットワーク・サーバー管理である。
これからのビジネスでは、AIや機械学習の活用がますます重要度を増してくる。Pythonは、機械学習のモデル構築などに用いられるプログラミング言語の中でもトップの人気を誇る。また、習得が比較的容易で、プログラミング経験のない数理統計分野の人などでも取り組みやすい。これも人気の理由の1つのようだ。
ただし、同協会の認定スクールでPythonを学ぶ中ではネットワーク・サーバー管理がメインだという。その理由について寺田氏は、ネットワーク・サーバー管理はもともとエンジニアが多い分野であるからと説明。さらに、次のように指摘する。
「クラウドの普及によるPythonの需要増加も見逃せません。具体的には、OpenStackの標準開発言語であることに加え、Ansibleというニーズもあります。クラウドに移行するとサーバー構成が複雑になるので、Ansibleを使って構成管理をすることになります。そう考えると、ネットワーク・サーバー管理の分野でPythonの人気が高まるのは、ごく自然な流れだと見ています」(寺田氏)
では、Python基礎試験に合格したいと思ったら、どのような試験勉強が必要になってくるのだろうか。受ける側としては、すぐにも具体的な学習ポイントや覚えておくべき知識を知りたいとなりがちだが、吉政氏は言語を勉強する際にはその言語の作法、フィロソフィーを理解してほしいと強調する。
「Pythonプログラミングの基本になる考え方(プログラミングフィロソフィー)は『Pythonic(パイソニック)』と呼ばれ、Pythonを利用する人たちの間で広く共有されています」(吉政氏)
Pythonicの詳しい内容は、Pythonエンジニア育成推進協会のWebサイトのトップページに紹介されている。また、日本国内では一般社団法人PyCon JP(代表理事は寺田氏)が主催するカンファレンス「PyCon JP」が年に一度開催されており、ここに参加して情報交換や仲間を増やすことも大いに有益だと吉政氏は語る。
また、Pythonの解説書が最近数多く出版されているが、Pythonicをきちんと理解して書かれたものは意外と少なく、そこからいきなりコーディングだけを覚えても、将来的に行き詰まる危険があると寺田氏は指摘する。
「Pythonicでは、まずPythonの設計について記述されたイディオム集である『The Zen of Python(翻訳)』を模範にPythonの考え方を学ぶ。もう1つは、Pythonのコード規約をきちんと守って開発するという2つの基本があります。もちろん、それらを知らなくても開発できるのですが、作ったプログラムを先々メンテナンスしていくとか、業務を誰か他の人に引き継ぐといった際に、こうした標準化ができていないとかなり大変です」(寺田氏)
ごく最近は、こうしたコーディング規約などはツールで自動化するという動きも出てきているが、試験にチャレンジするからには必要不可欠の基礎教養と考えて、ぜひ一度自分の目で読み、学んでほしいと寺田氏は言う。
以上の基本となる考え方を押さえた上で、実際の試験対策としては何があるだろうか。まず基礎試験対策で必携なのが、「Python 3 エンジニア認定基礎試験」の主教材である『Pythonチュートリアル 第3版』(オライリー・ジャパン刊)だ。
一般にチュートリアルというのは初心者には難しいので、ついそこを飛ばしてもっと上級の本に手を出し、基礎がないまま何となくわかった気になってしまうケースも少なくない。その点でも同書は「適度に薄くて読破しやすいので、初学者には非常に良い本です。内容もまさに基本となることばかりなので、ここで確実に基礎固めをする努力が、その先につながります」と寺田氏のイチオシだ。
また同協会では、現在このチュートリアルとあわせて学びたい参考書をリストアップしており、近いうちに公式Webサイトで紹介していきたいと考えているという。