PyCon JP 2015にて、パネルディスカッションの初モデレータをやらせていただきました。そこで思ったことを、考えたことを書いてみたいと思います。できるだけ短くしようと思いましたが6000文字以上ありました。是非夜にでも眺めていただきますと幸いです。
ジョブフェアって?
PyCon JP 2015の中にジョブフェアというイベントがあって、PyCon JPスタッフでありモバイルファクトリーの人事の津田さんの企画で、ただ求人をするのではなく、いろんな会社の求人を通じて、Pythonを使う人のキャリアパスをイメージできることができるイベントとして昨年から始まりました。
今回は、そこでパネルディスカッションもやることになり、そのモデレータとしてお誘いを受けました。
登壇者の方々について
まず登壇者の人選の軸として、僕のたってのお願いで、ゼロスタートの山崎社長(zakiさん)をお願いしました。zakiさんは、すごく前にパソナテックのイベントでご一緒させていただいたり、直接飲みに連れて行っていただいたりして、しっかりした芯をお持ちで、話も非常に面白い方です。お願いしに行ったところ、快く引き受けていただきました。元々、ゼロスタさんは、PyCon JPのスポンサーに参加されていることは知っていましたから、お願いしやすかったです。
他の登壇者は、今回、ダイヤモンドスポンサーとして参加されているモノタロウ社CTOの安井さん。モノタロウ社は、関西にある一部上場のEC企業です。安井さんは、元々、楽天でSolr等のサーチに関わって、転職で関西に移住された方。ちょっと前にAWS主催のCTOナイトというイベントの時にホテルのエレベーターでご一緒した時に話しかけたり、タクシーの移動でご一緒させていただいた時に話をしていて、どんな方かは存じ上げていたので気楽でした。ちょうど、AWSのRe:Inventでラスベガスに行っていたのに、このイベントのために、一度日本に戻ってきていただいて、また今週アメリカ出張だそうですw
また、Gunosy CTOの松本さんにも登壇いただきました。松本さんとはお初でしたが、以前、モイ飯で赤松さんとの対談動画があるのは知っていたので、それを見て、どんな方かは動画から得られる限り把握していきました。
インフラにも開発組織にも通じるGunosyの「スケールするアーキテクチャー」とは【30分対談Liveモイめし:赤松洋介×松本勇気】 – エンジニアtype
そして、ユーリエ池内さん。池内さんは、今、クラウドファンディングのサービスを作るべく独立している社長さん。元々はアルベルト社にいたり、PyData.Tokyoのオーガナイザーの一人だったりと、Pythonコミュニティでご活躍されている方です。池内さんが、一番、Pythonコミュニティという面では、近いかなという印象がありました。
Pythonの使い方について
で、こういうメンバーでお話させていたいたのですが、話の展開としては、Python allマンセーという展開ではなくて、適材適所で使いましょうという展開になりました。それは前日の夜中に、グノシー松本さんのモイ飯の動画を見ていて、大体予想はついていた展開だったのですが、いずれにせよ重要なのは、適材適所の中で、Pythonにコミットする位置づけが明確になったらいいなと。
ログは、こちらにあるので、もし興味があったら見てみてください。
【ディカッション+LT】Pythonの可能性とキャリア、そして未来 ジョブフェア #PyConJP_C #pyconjp – Togetterまとめ
Pythonはデータ解析のライブラリが充実していることで、やはりデータ解析に強いわけですが、それだけでなくWebサービスにも使えるし、バックエンドシステムにも使えるし、Pythonのシンタックスやライブラリを知っていることで、大体できないことはない、という言語です。
その代わり、ものすごく高いスケーラビリティを求めると、Golangの方が適切な部分があったり、もしかしたらJavaでHadoopを回したほうが適切なシーンもあるかもしれません。
しかし、パネルで出てきたのは、ある種のプロトタイピングにPythonは最適だということでした。ただ、それはPython使い流の客観性ある見方や、謙遜がはいっているのは否めないと思っているのですが、それでも、システムを含めたビジネス設計、初期の試行錯誤については、Pythonは非常に向いている。もし、サービス性がかっちり決まって成長している段階では、もしかしたら他の言語ベースのシステムの方が向いているかもしれない、という表現は、非常にしっくり行くものが有りました。
ただ、それは、同じくパネルの中でも出ていた、費用対効果が計算できるようになった時に、代替案があるかもしれない、という話であって、人材的にはそこでPythonしか書けないから、とボトルネックになってはいけません。でも、多くのケースで、当然、Pythonベースでシステムをそのまま使うことは問題なくできるわけです。グノシーさんが、Railsでは通知によるアクセス集中がこなせなかったところを、Golangに置き換えたらスムーズに行ったから置き換えたという話が代表的で、適材適所による置き換えは、あらゆるLLに共通のポイントとしてあると思っています。
それがマイクロサービスというよりはマイクロアーキテクチャとしてサービスが構築されていれば試行錯誤しやすい、というのは今後のトレンドになるポイントだと思っています。
PHPにせよRailsにせよ、Pythonにせよ、まず入り口としての試行錯誤は、スピーディーにやれることであったり、それこそnanapi社が最初は、けんすうさんが書ける言語であることを優先した、という和田さんが言っていた具合に、サービスフィロソフィーをしっかり持っている人が使えることが重要で、必ずしも最初から専任のエンジニアだけが開発プロセスを専有することが、サービスの成長に重要なわけではない、という部分でも生産性の高い言語というのは生きてくるところがあります。
その後、順調に育った後で、Goに行くなり、Scalaに行くなり、Javaに行くなりするという選択肢は十分考えられます。もしくは、ツイキャスみたいにC言語ベースのPHP拡張でハイブリッドにPHPを使い続ける世界もまたあると思います。またAWSなどを活用して、そのままスケールする道もあるでしょう。利益率が十分あれば、サーバコストよりも人件費の方がよっぽど高いわけですから。
ちなみに試行錯誤というのは、既存のコードを捨てるという意図もあると思うので、オレが作ったコードは完璧だから触らせないぜ、と思っている人がいたら、こういう話は成り立ちません。そういうプライドの高さを持っている人はLLには力寄らないで、もっと成長したサービスのフェーズで、安定的なシステムの実現にコミットするのが良いでしょう。
Pythonという選択は正解や否やについて
次に、僕が確認したかったのは、そういう選択肢が出てくる中で、Pythonを選択することは、その後の成長の中で、筋が良いのか悪いのかという部分を明確化したかったのですが、それについては、問題ない、という結論になりました。
Pythonの思想はGoにも受け継がれてると聞きます。そもそも後出しの言語が、元からある言語よりも劣るなら出す意味は無いのですから、新しい言語であること、歴史のある言語であることが、どうメリデメが存在するかは、その時のタイミング如何だと思います。重要なのは、今、自分がコミットしているプログラミング言語で得られるスキルや、コンピュータリテラシーが将来の学びに対する障壁にならないことが重要で、その辺に関しては、Pythonは、全く問題ないことは確認できました。
もしかしたらPHPやRuby(というかRails)はここが少し弱いかなという印象です。モノリシックなアーキテクチャとして、通常のWebシステムを作る限りでは、PHPを使うことに不利はありませんし、お金持ちになるためには大した話ではないのですが、今後、マイクロアーキテクチャとして機能の分散化が進むことが予測されます。そういう部分は、小さめの言語?の方が向いているんじゃないかと思っていて、Webを前提とした仕組みのPHPだと少し大きい、Rubyはわかりませんが、使う側がRailsを前提としている限り粒度が大きすぎる。
要するにGAEやLambdaで採用されている言語が主体になっていく可能性は否めないと思っている部分です。少なくとも同一のシンタックスでLambdaを使えることは、開発する側の瞬発力にも繋がってきます。
海外ではよく使われているという部分もPythonは悪くない印象があります。アメリカで流行るものは日本でも流行るという意味ではトレンドの中心になるプログラミング言語は有利ですし、グローバルを意識するならPythonというのは良い選択肢だと思っています。PAY.JPでもアメリカに留学してる人が、夏休みに日本に戻ってくる時に、日本の決済ビジネスでPythonを使っている会社を探して連絡をくれたのがきっかけで、インターンに来てくれて、アメリカに戻った今もリモートワークで仕事をお願いしています。Pythonだからこそできたことだと言えるでしょう。
Pythonをめぐる人材事情
あと、日本のPythonの問題点も明確にしたかったのですが、現状、Pythonを扱う人たちは、少し意識や偏差値が高い人が多いかなと言う印象を持っています。あくまでも例えば、、、ですが、東大卒の人がPythonを使うだけなら、人口の3%以内程度の人々の一部が使っているにすぎません。Pythonによる新人育成、中途の転職市場を活性化しようと思うと、もっと未経験、初心者向けの入り口などが必要なのかなと思っています。
でも、PyCon JPをはじめとするコミュニティ自体は、非常にオープンなコミュニティで、別け隔てなく人とお付き合いできる人たちが集っていて、敷居の高さは全く感じないので、入り口を仕事として作る人が不足しているのかも、とも思っています。ただ、それはニーズがあってこそなので、鶏卵になる部分は否めません。
ただ、こういうのは、仕掛けてどうにかなるものではなく、偶然やタイミングに支配される部分は否めないので、PyCon JPのように「やり続けること」が一番大切だと思っています。実際、データ解析で風が吹いているのは間違いなく、PyCon JPの来場者は年々成長しています。
また仕事の入り口としては、今回のジョブフェアで、LTをされた各社さんのような存在が牽引していってもらえることを期待しています。
もちろんPAY.JPもそうすべきなのですが、まだスタートアップすぎるタイミングなので、今後頑張っていきます。まだPAY.JPは、Python ライブラリ厳選レシピを共著で書かれた石本さんにお手伝いいただいたりベテランに牽引していただいているフェーズなので、これから頑張ります。単純に思うのは、RailsでブランディングしているCookpadさんのように、Pythonを使う会社がメガサービスとして成長することで、世界を広げることができることがわかったので、そこに向けて頑張りましょう、ということだと思います。
それこそ人材需要があるからこそ供給をお手伝いしてくれる会社さんが増えていくわけですから、人材市場は作っていくものとも言えますね。
僕はKMDという大学院にいて、学生の中でのPythonの位置づけが結構大きいのでは?と言う仮説を持っています。少なくともデータサイエンティストという流れで、プログラムを書けない人が書きたい言語という面で悪く無いと思っています。しかし、大学を卒業して、SE等に就職してしまうと、学歴が高ければ高いほどプログラムを書けない仕事に就職してしまうのも彼らの特徴です。それこそグノシーさん達のように、学生起業でプログラムを書き、そのまま卒業後も開発者の道を辿れる人は、少数派なのではないでしょうか?
せっかく高学歴な学生の間ではPythonはブランディングされているのに、彼らが卒業して大企業に就職すると、プログラムを書けなくなるように社会人として育成されてしまうのは、Pythonにとっても割と大きな機会損失だと思っています。それを避けるには、全体が変わるか、僕らが大きくなってそういう学生を自分たちの陣地に取り込んでいくか、のどちらかだと思っています。
人材の2:8の法則
また、今回のPyCon JP 2015では日経新聞さんがスポンサーに入っています。日経新聞さんと言えば、伊藤直也さんや深津さんを顧問に迎えたことで話題になりましたが、ある意味、今のスマートフォンビジネスの急先鋒としての老舗企業だと捉えることができます。
スタートアップは、日経新聞さんのような老舗企業が人材採用のライバルなのかよ!、と思いつつも、Webなどをやってきたエンジニアが日経新聞社に入る可能性があると考えるなら、相当、面白い時代になっていると思います。SIer危機論では、内製が増えるべきという話がありましたが、現実にはユーザー企業の方でそのような流れが始まっているのは無視できない状況と言えるでしょう。
うちのPAY.JPのリーダーも、元々インターンで参加した企業がPythonを使っていて、その影響で、Pythonでサービスを作っています。やはり入り口で使われている開発言語は、後々他の人にも影響してくるのは間違いないと思っていますので、とにかく人材採用の入り口として、Pythonを使っている企業が立つことがすごく大事じゃないでしょうか。そういう企業が一つでも増えていくことを期待しています。
ポジショントークをさせていただくなら、高学歴で研究所にしかいないような人たちしかPythonを使っていないなら、スタートアップが人材採用をするのはすごいレアなケースになってしまいます。2:8の法則ではありませんが、さまざまな経験レベル、スキルレベルの人達が分布している言語が一番強いと思うわけです。別に人間は、そこでfixするわけではなく、成長をする生き物ですので、各社それぞれ相性の会う人を採用し、成長していくことで、新人さんが2:8の2の方に近づいていけば良いのです。
人材流動性は、いずれにせよ流入がなければ大きくなることはありません。限られたパイの中で人材が融通しあうだけではいつか限界が来ます。それこそイベント中にzakiさんがおっしゃっていたような、Pythonがミーハー言語になってしまって、キャッキャウフフが成立することも重要かもしれません。それによって既存のPythonにコミットしてきた人たちが疎外感を覚えるぐらいまで母数が広がるのも重要だと僕は思っています。以前はPHP、今はRubyがそういう感じなんでしょうかね。
この文章、非常に長くなってしまいましたが、結論としては、大体聞きたいことは聞けたと思っていて、結構満足したパネルディスカッションだったと思っています。登壇者の皆様ありがとうございました。またパネルディスカッションのモデレータという機会を得られたPyCon JPの皆様には非常に感謝しています。またパネルの司会ができたらいいなー。
【PR】ご意見、感想などは是非、mstdn.fmのローカルタイムラインでお聞かせください