2016年12月15日 星期四

プログラミング (ほぼ) 未経験者が PyCon JP スタッフになるまで

PyCon JP Advent Calendar 15日目です。

この記事では、プログラミング (ほぼ) 未経験だった私が、Python を使い始めた理由、そしてなぜか PyCon JP のスタッフになった経緯を書きます。

と言っても全然大したことはありません。PyCon JP のスタッフになるのに、「Python に特別詳しいこと」とか「Python コードをバリバリ書けること」みたいな条件はありませんから。
 ただ Python が好きで、Python のイベントを盛り上げるのにひとつ絡んでみたい、という気持ちがあれば全然 OK! なはずです。たぶん。


さて、私が Python を触りだしたのは、ちょうど2年ほど前のこと。
きっかけは、とある仕事の一部として、Windows 向けのちょっとしたツールを作らないといけない羽目になったことです。

前提条件として、私は基本的に開発者ではなくただのユーザですが、Linux や UNIX 系 OS ばかり十数年使ってきたおかげで、シェルスクリプトの読み書き経験は多少あり、それなりに古い人なので、ソースから野良 make とか、カーネルにパッチ当てて再構築とか、コンパイル通らないけど多分要らない機能だからコメントアウトとかは、普通にやったことがあります。

Windows 向けなら、一般的にはバッチファイルなり PowerShell なり、WSH? (このへん何が何だかよく分かってない) なりといったものをまず使うのが正攻法でしょうが、これまで、仕事でも Windows 系は結構ごめんなさいして、代わりに Linux や UNIX を押し付けで実現して来ているぐらいなので、Windows でしか使えない (少なくとも主流でない) 技術を積極的に覚える気にはどうしてもなりませんでした。

Cygwin 上のシェルスクリプトで頑張ることも検討しましたが、Cygwin 環境そのもののメンテのし辛さと、OS 環境との親和性の面で辛いので、これは諦めました。

最後まで迷ったのは、Python にするか Ruby にするかですが、最終的に Python を選んだ一番の決め手が「Battery Included」という思想で、通信からアーカイブ操作から各種ファイルフォーマットのパースから、GUI 作成、果ては Windows のレジストリ操作まで、およそ必要になりそうなものは標準ライブラリに含まれているという点でした。

これは、インターネットから切り離された環境で、稼働後は気軽に外から追加ライブラリを持ち込めないという前提ではとても便利な特徴で、実際、サードパーティのライブラリは Pywinauto を追加した程度で、あとはほとんど標準ライブラリだけで事足りました。

二番目の理由は、Sphinx や Fabric、Ansible など、意図せずして自分が Python 製のツールをいくつも使っていたことです。

そして、学習期間 (兼製作期間) は実質半年もありませんでしたが、とにかく動くモノが作れて、実運用までこぎつけることが出来ました。
すでに私は、その現場からは離れてしまいましたが、それらのコードは、同じく Python を触るのは初めてという後任者によって、メンテナンスされているようです。

ちなみにモンティパイソンは、総集編しか見たことがありませんが面白かったです。


PyCon JP との関わりは、2015年に一般参加者として行ったのが最初でした。
正直言って、何しろこんなド素人ですから、行く前は「怖くないかな?」「場違いじゃないかな?」「内容が全く理解できなかったらどうしよう」と結構不安でした。
でも、お金を払ってしまったからにはTシャツだけでも貰ってこないともったいない、ということで勇気を出して行ってみたら、予想に反して、Python 自体にはそれほど詳しくなくても十分に楽しめるセッションもたくさんありました。
おまけに、スピーカーの方とも話す機会があり、大してコードも書けないくせにスプリントにまで参加してしまいました。

その流れで、2016年には当然のように参加して、これまた、何をやるとも特に決めずにスプリントにも出ました。

結果、知り合いが増えました。立場も、スキル差も、国境も越えて。

そして、PyCon JP 2017 のスタッフもやることになりました。
もう一つ、私は台湾が大好きなので、PyCon TW 2017 にも絡もうとしています。

Python との出会いは、Python を通じたたくさんの方々との出会い、そして、「コード書いた事がない」というコンプレックスを「やってみたらなんか出来た」という変な自信に変えた (!) という点でも、私にとっては大きいものでした。


幸い、私の場合はもともとスタッフに知り合いがいたこともあって、初参加も比較的ハードルが低かった方だと思いますが、もし「興味はあるけど、自分は Python あんまり出来ないからなー」という理由で迷っている方がいたら、ぜひ一度参加してみることをおすすめします。

PyCon JP 2017も、今年に負けないように、楽しくて役にたつイベントにして行きたいと思います。
どうぞ、初心者の方もベテランの方もご期待ください。
みんなで楽しんでいきましょう。