Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

「「Pythonがいい。これから主流になる時代が来る」と決めたんです」PyQ開発メンバーとの座談会を開催しました

f:id:kenken0326:20201001173920p:plain

f:id:kenken0326:20200117174014p:plain
kenken こんにちはPyQマーケティングチームのkenkenです。
これまでPyQ開発メンバーにPyQができるまでの経緯と思い出を聞いてきました。
個別でインタビューしているうちに「当時のPyQ開発メンバー3人に話し合うことで、興味深い話が聞けるのではないか」と思い、座談会を開催しました。

今回はその時の様子をレポートします。

自己紹介

f:id:kenken0326:20200117174014p:plain
kenken簡単に皆さんの自己紹介と最近はまっていることを教えてください。

hirokiky PyQ開発担当の清原です。みんなからは「ky」と呼ばれています。
最近は個人で「Shodohttps://shodo.ink )」という、ブログ記事やセールスレター、本を執筆・レビューするためのプラットフォームを作っています。あとは、メンズ美容にハマっています。資生堂のunoから発売されているメンズBBクリーム(化粧水、ファンデーション、日焼け止めが入っている万能アイテム)という商品がオススメですよ。
f:id:kenken0326:20200417185659j:plain

kameko PyQの開発担当であり、PyQのお客様対応などのサポートを対応しています。仕事でPythonにに関わっていますが、Pythonへの愛は衰えずに高まっています。最近は言語仕様の方にも興味が湧いてきて、PEPPythonのライブラリをことあるごとに読んでいます。
Python以外では、ここ数年投資に興味を持っていて、「フィントーク」というフィンテックを学ぶ女性の会に参加しています。
f:id:kenken0326:20200507143725j:plain

PEP(Python Enhancement Proposals)
Pythonの機能やプロセス・環境などについて大きな変更があるときに書かれる提案書です。PEPには、Pythonの機能が拡張される際の根拠や例となるコードも書かれています。
URL:https://pep8-ja.readthedocs.io/ja/latest/
ライブラリ、PEPについてはこの記事に詳しく書いています。
URL:https://blog.pyq.jp/entry/python.html20200303

ライブラリ
Pythonには、標準で使える機能の他に、分野を問わず様々なライブラリが公開されています。
PythonのライブラリはPyPI(Python Package Index)というサイトにまとまっています。

フィントーク
金融関係のニュースやFintech関連の話題などを学べるコミュニティです。株式を分析する時にはpandasを使うそうです。このコミュニティは女性限定です。
URL:https://fintalk.connpass.com/

haru PyQを運営しているビープラウドの代表です。最近は書籍の執筆をしています。
f:id:kenken0326:20200729180040p:plain

PyQプロジェクトに参加したタイミング

f:id:kenken0326:20200117174014p:plain
kenken自己紹介ありがとうございます。皆さんはPyQのサービス企画の段階からPyQに関わられていますよね。具体的に企画のどの段階から参加されたのか教えてください。

hirokiky 僕はPyQの前身であったSQLの学習サービスを検討しているときにプロジェクトのメンバーになりました。
f:id:kenken0326:20200417185659j:plain

kameko 私はPyQのプロトタイプの検討前からPyQに関わっています。
f:id:kenken0326:20200507143725j:plain

haru 私もPyQには企画段階から関わっています。きっかけは2015年の夏に、あるビジネス系の勉強会に参加していた時に「システム開発をWebで手を動かしながら学べるサービスをつくれたらよいのではないか」とひらめいたからです。最初は当時の役員のshinに話してみたところ、よさそうだということでkamekoもメンバーに加えて進めることになりました。
f:id:kenken0326:20200729180040p:plain

PyQのプロトタイプ誕生までの話について詳しく知りたい方はharuさんのインタビュー記事をお読みください

PyQのプロトタイプ、企画ができるまでの流れ(図解)

f:id:kenken0326:20201001175911p:plain

「Pythonが学べるサービスでいいんじゃない」という話でまとまった

f:id:kenken0326:20200117174014p:plain
kenkenharuさんとkamekoさんはプロトタイプの検討の段階から、hirokikyさんはサービスの企画から参加されたんですね。確か最初はどのプログラミング言語にするかは決まっていなかったんですよね。「Pythonに特化したサービスにしよう」というアイデアはどのように生まれたんですか?

hirokikyみんなで話していく中で出たアイデアでした。PyQを生み出すのに当たって匠Methodを使ってチームメンバーみんなでやりたいことの案出しをしました。
f:id:kenken0326:20200417185659j:plain

匠Method
新たなサービスを企画する時に使う手法です。プロジェクトの目的や価値を見失わずにプロジェクトを推進できるように、業務メンバーで「必要な価値」をデザインすることで、組織が団結できるための戦略を練ることができます。 具体的には匠Methodの手法の1つ「価値創造サイクル」により、「メンバー間のコミュニケーション不全」、「アイデア倒れ・絵に描いた餅」、「リーダ不在・マネジメント不徹底」というよくある課題を解決し、ビジネス価値を獲得するための企画を作成できます。
URL:http://www.takumi-businessplace.co.jp/takumi-method/

hirokiky企画をしていくなかで、「ストーリーとしての競争戦略」をチームで読む機会がありました。その書籍の中でクリティカルコア(Critical Core)という概念が出てきます。
その「クリティカルコアとは何か」と導き出すためにみんなで意見を持ち寄ったミーティングで「例えばPythonはどう?」という案が出て「意外といいんじゃない!?」という話でまとまったんです。
f:id:kenken0326:20200417185659j:plain

クリティカルコア(Critical Core)
楠木建さんの「ストーリーとしての競争戦略」の中に出てくるワードです。 それだけを見ると一見非合理(競争相⼿にとって⾮合理に考えられるため模倣する動機がなくなる)でも、ストーリー全体の文脈に位置付けると合理性を持つ戦略要素です。例えばコーヒーチェーンのスターバックスでは、注文後他のファーストフード店のようにすぐにコーヒーが出てきません。これは一見お客様にとって不都合、すなわち不合理に見えますが、ほっと一息寛げる「第三の場所」をつくるというストーリーに照らし合わせると、急ぎの顧客がこないことによってゆったりとした空間が生まれます。このような要素のことがクリティカルコアです。

kameko急に「Pythonだね!」と盛り上がりましたよね。
f:id:kenken0326:20200507143725j:plain

haru誰が案を出したかではなくて、みんなが話していく中で誰かの言葉が導線になってひらめいた感じです。
f:id:kenken0326:20200729180040p:plain

f:id:kenken0326:20200117174014p:plain
kenkenでも会社内では反対意見もあったんですよね?

「会社内では反対意見もあった」という話について詳しく知りたい方はhirokikyさんのインタビュー記事をお読みください

hirokiky僕の中でも「Pythonでいいのかな?」というのは少なからずありましたし、結構な決断をしてたと思います。
今になると「やっぱりPythonでよかったね」と言えますが。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenkenPythonを使って受託開発を行っていたのになぜ企画の時点で反対されたんですか?

haru当時のPythonは人気になる1.5歩手前という感じでした。
f:id:kenken0326:20200729180040p:plain

kamekoPythonも流行りそうな雰囲気は感じてましたけどね。
f:id:kenken0326:20200507143725j:plain

haru確かにPyCon JPの参加人数も年々増加してきましたし、ブームになりそうな予感はしていました。
f:id:kenken0326:20200729180040p:plain

PyCon JP
Pythonユーザーが集まり、PythonやPythonを使ったソフトウェアについて情報交換、交流をするための日本最大級のPythonのカンファレンスです。
URL:https://www.pycon.jp/

f:id:kenken0326:20200117174014p:plain
kenkenでもPythonブームの少し前に発表できるなんて絶妙なタイミングでしたね!

hirokikyそもそも僕たちの中では、「ニッチ(隙間市場)なところを狙おう」という戦略ではありませんでした。もちろん根底に「Pythonがいい。これから主流になる時代が来る」と思っていたからPythonで行こうと決めたんです。
f:id:kenken0326:20200417185659j:plain

haruビープラウドは2008年からPythonを中心に事業活動をしました。その結果、さっき話した「自分たちのクリティカルコアは何?」と考えたときに「Python」となりました。
f:id:kenken0326:20200729180040p:plain

f:id:kenken0326:20200117174014p:plain
kenken決して隙間市場を狙ったわけではなかったんですね。

haruPyQは運が良かったんです。ずっと10年くらい「なぜPythonなの?」と言われながらPythonの事業をやって来たので、まさかブームが来るなんて僕も思っていませんでした。
f:id:kenken0326:20200729180040p:plain

f:id:kenken0326:20200117174014p:plain
kenkenビープラウドは煩わしい承認プロセスがなく、良いことはすぐにスタートできますよね。普通は「Pythonがいいよね」という話になっても承認を得るのに時間がかかってしまい、着手するまでに時間がかかってしまうと思います。

haru時間のかかる承認プロセスですと、大胆なアイデアを出しづらくなります。みんながいいねという当たり前のアイデアしか出せません。ビープラウドは小さな会社ですが、やりたいようにやれるのが強みですね。
f:id:kenken0326:20200729180040p:plain

はじめての自社サービス販売で不安でした

f:id:kenken0326:20200117174014p:plain
kenken漠然とした質問なんですが、PyQの今の状況について思っていることを教えてください。

haruPyQをリリースした時は、商品を買ってくれるお客様がいらっしゃるのか心配でした。それを考えるとこれだけ多くのお客様に使っていただけて、今は良い状況だと思っています。
f:id:kenken0326:20200729180040p:plain

hirokikyそもそも自分達でアプリケーションを開発してサービスを売るのは初めてでしたよね。ビープラウドには「connpass」というサービスがありますが、connpassは、ユーザーに何かを購入してもらうサービスではありません。PyQみたいにクレジットカードで購入してもらうサービスでやっていけるのか少しだけ心配でした。
f:id:kenken0326:20200417185659j:plain

connpass
ビープラウドでは、IT勉強会の主催者と参加者をつなげるIT勉強会支援サイト「connpass」を開発、運営しています。イベント開催希望者はイベントの作成、公開が、イベントを探している人は興味のあるイベントの検索ができます。
TwitterとFacebookのつながりを活用して、情報を身近な人と共有するなど、イベントおよび人との出会いの輪を広げる様々な機能を備えています。
URL:https://connpass.com/

haruPyCon JPでβ版を出した時に30人の予定が100人の申し込みがあって手応えはありましたけど、「実際お金を払ってくれるユーザーはどれくらいいるのだろうか」と不安でした。でも蓋を開けてみると当時の自分たちの予想よりははるかによかったと思います。
f:id:kenken0326:20200729180040p:plain

kameko私も自社プロダクトに参加したのは初めてでしたし、誰かに指導してもらいながら開発していくというわけではなかったので不安でした。だけど今年で3年経って、「一区切りついたな」と感動しました。というのも3年前はプログラミングを学ぶ際にはスクールに通うことが一般的で、オンラインコンテンツといっても「動画を見るだけ」というものばかりだったのでWebで学習するという習慣がこの3年間で普及したと思います。
f:id:kenken0326:20200507143725j:plain

hirokiky「Pythonを学習したい」という方のお役に立ててうれしいですよね。
f:id:kenken0326:20200417185659j:plain

haruただ、これで終わりというわけではなく、さらにユーザー価値を高めていきたいです。結局ユーザーの数や売り上げというのは、社会に提供した価値に対する対価なのでその価値をもっと高めていきたいです
f:id:kenken0326:20200729180040p:plain

hirokiky僕の中ではharuさんのいう最初の方は不安だったという思いもありましたが、サービスを提供する中では現状まだまだいけると思っています。今後はよりみんながPythonを学ぶ当たり前なサービスにしていきたいと思っています。なぜならPythonを学習したらWebアプリ機械学習データ分析スクレイピングなどできることはたくさんありますし、プログラミングが当たり前に学習される時代になると思います。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenkenプログラミング教育の必修科という話もありますしね。

hirokikyそういった大きな話は置いておいて、例えば営業の人が「お客様のデータ分析をするのに使おう」とPythonの学習を始めることも考えられますよね。だからまだまだこれからだなと思います。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenkenなるほど!そういう意味でもPyQをプログラミングに興味のある人たちがみんな知っているようなサービスにしていきたいですね。

haruはい。コンセプトの構想の時から言っていますが、「PythonをWebで学ぶならPyQ」というところまで利用者を伸ばしていきたいですね。
f:id:kenken0326:20200729180040p:plain

kamekoこれからもっと自学自習する方が増えていくのではないかと思います。その時にPyQが選ばれるようにサービスを進化させていきたいですね。
f:id:kenken0326:20200507143725j:plain

f:id:kenken0326:20200117174014p:plain
kenkenkamekoさんは採用面談で「自分の子どもに『あれは私が作った』といえるようなものを作りたい」とお話されていたんですよね。それがとても印象的だったのですが、今までにお子さんには伝えましたか?

kamekoさんの採用面談での話について詳しく知りたい方はharuさんのインタビュー記事をお読みください

kamekoプロダクトを作ったとは言ったけど、PyQ自体を教えたことはありません。
f:id:kenken0326:20200507143725j:plain

hirokikyえー。もっと積極的に言った方がいいと思いますよ。Twitterの自己紹介欄で「PyQを作りました」と書けるくらいのことをやっているんだから誇りを持ったほうがいいですよ。「ビープラウド」という会社名なんですし。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenkenまだお子さんが小さいから言わないというのもあると思いますが、将来的にお話しされる予定はありますか?

kameko子どもが「プログラムをやりたい」と言い出したら紹介したいですね。
f:id:kenken0326:20200507143725j:plain

haru家族の人に社員のお仕事の話をしても「知らなかった!そんな仕事頑張っているんだ」と言われることはありますよ。家庭の姿と会社の姿は違うことありますよね。
f:id:kenken0326:20200729180040p:plain

PyQメンバーが思う「受託開発と自社サービスの違い」

f:id:kenken0326:20200117174014p:plain
kenken実際に自社サービスの開発に携わってみて、受託開発にはない自社サービスの良さと大変さがあれば教えてください。

kamekoビープラウドに入社する前に、某宅配サービスの開発に設計から本番運用開始まで参加しましたが、リリースした途端に運用フェーズに変わって関われなくなってしまいました。サービス自体はすごく使われているのでいいのですが、「こんな機能を追加したいな」と思っても、その時はもう自分の会社の案件じゃないので関われないことが辛かったです。だから運用後も関われる自社サービスは魅力的だと思いました。
f:id:kenken0326:20200507143725j:plain

f:id:kenken0326:20200117174014p:plain
kenken受託開発では、そのようなこともありますよね。

hirokikyだけど僕がよく思うのは、若いエンジニアとかから「受託よりも自社サービスやりたい!」という話を聞くけど、それは間違いだと思っています。僕からすると受託も自社サービスも違いはないと思います。根本的に物を作ってお客様に届けて価値を届けるということには変わりありません。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenken受託開発も自社サービスも違いはないのですか?

hirokikyむしろ「どんどん新しい技術を使ってプロダクト開発したい」と言う人には受託の方が向くと思います。自社サービスは良くも悪くも長い期間付き合い続ける必要があり、同じ製品ビジョンを考え続ける必要があるので好みの問題だと思います。
f:id:kenken0326:20200417185659j:plain

haruhirokikyが言った通り自分の技術力を使って誰かの役に立つと言う面では自社サービスも受託開発も変わりないですね。あとは向き不向きと好みの問題ですね。
f:id:kenken0326:20200729180040p:plain

f:id:kenken0326:20200117174014p:plain
kenken向き不向き?

haru「企画とか、産みの苦しみを味わいたくない」という人は受託開発をやった方がいいと思います。自社開発の場合「どこまでやればお客様が使ってくれるのか」を自分で考える必要があります。反対に「こうなるといいな」という理想の未来図を作って行くことは人間しかできないので創造することが好きな人は自社サービスに関わるのがいいと思います。
f:id:kenken0326:20200729180040p:plain

hirokikyそうですね。逆にいうと受託開発の中で「お客様に新しい提案しよう」という創造性があれば受託開発の人も同じ体験をできるんですよね。僕はそういう気持ちで受託の仕事をしていました。
f:id:kenken0326:20200417185659j:plain

haruそれがクリエイティブな仕事ですよね。自分は経営者としてそういう仕事のやりがいが見出せる環境を作りたいです。
f:id:kenken0326:20200729180040p:plain

Pythonを学び始めた時に「PyQがあればよかった!」と思った

f:id:kenken0326:20200117174014p:plain
kenkenところで、みなさんがPythonの学習を始めたのはいつからでしたか?Pythonを学び始めた時に「PyQみたいなPython学習サービスがあれば!」と思いますか?

kameko私がPythonを学び始めたのはビープラウドの入社試験を受けた時です。「ビープラウドに入りたいな」と思った時に勉強し始めました。
f:id:kenken0326:20200507143725j:plain

f:id:kenken0326:20200117174014p:plain
kenken入社前に読んだ本はありますか?

kamekoパーフェクトPython第1版(技術評論社)」などがありましたが、今ほど日本語の本は充実していませんでしたね。その時代にPyQがあればPythonを学びやすかったと思います。
f:id:kenken0326:20200507143725j:plain

f:id:kenken0326:20200117174014p:plain
kenkenPythonの書籍が少なかった頃に独学で勉強するのはすごいですね。hirokikyさんはどうですか?

hirokiky僕は2011年から始めました。Python歴は9年になりますね。「卒研でDjangoでやるぞ」という記事が自分のブログに残っていました。

blog.hirokiky.org

f:id:kenken0326:20200417185659j:plain

Django
Python製のWebフレームワークです。Pythonの代表的なフルスタック・フレームワーク(Web開発に必要な機能が一通り揃っているフレームワーク)です。フレームワークの提供する機能を最大限に活用して開発したい人におすすめです。
URL:https://www.djangoproject.com/

f:id:kenken0326:20200117174014p:plain
kenkenおお〜

hirokikyあの時代は入門書と呼べるものがなかったので、Python公式のチュートリアルを読んで、あとは人が書いたソースコードを読んで覚えました。「django-lifestream」というソースコードがあって、それはもともとビープラウドにいたイアンさんのコードなんですが、それをみて勉強しました。あとは「DotCloud」を使って勉強していました。今でいうDockerですね。当時読んでいた本は「集合知プログラミング(オライリージャパン)」「入門自然言語処理(オライリージャパン)」「エキスパートPythonプログラミング(KADOKAWA)」です。
f:id:kenken0326:20200417185659j:plain

Docker
コンテナ仮想化を用いてアプリケーションをすばやく構築、テスト、デプロイできるソフトウェアプラットフォームです。

f:id:kenken0326:20200117174014p:plain
kenkenPyQについてはどう思いますか?

hirokikyPyQがあればよかった!」とは本当に思います。僕が9年かけて習得したことが下手したら半年でできるかもしれないなんて恐ろしいですよね。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenkenhirokikyさんの能力を持っていればみんなすぐにPyQで色々と習得できそうですね。

hirokikyみんなチャンスはあると思います。実は僕、昔はあまりプログラミングが得意ではなかったんです。勉強になるから読んでいますが本読むことも得意ではないんです。だけど今はコミュニティもYouTube動画もあるし頑張りやすい環境になっているので一度全力で頑張ってもらいたいです。PyQは例えるなら高速道路みたいなものです。僕は、PyQユーザーさんには高速道路を抜けてもらってもっとすごいことを実現してほしいです。頑張れば当時難しかったAIとかスクレイピングなどの仕組みで分散するWebアプリケーションなども作れるようになってくると思います。
f:id:kenken0326:20200417185659j:plain

kamekohirokikyさんについてなんですが、私が入社した時には接点はなかったものの、すごい人がいると認識していました。だけどPyQの関係で一緒に働いてみて「私が見えていたのは氷山の一角だな。この人のすごさは才能だけではなく、努力から成り立っているんだな」と思いました。
f:id:kenken0326:20200507143725j:plain

f:id:kenken0326:20200117174014p:plain
kenkenそうですね。「この人は才能があるから自分とは違う」と思わないように気をつけます。haruさんの場合はいつ頃Pythonを学び始めましたか?

haruPythonは2008年に学び始めました。プログラミングを始めたのは1997年です。そもそも当時はオープンソースの文化もなかったので、今みたいに学習環境は恵まれていませんでした。お金を出さないと商用のものは買えなかったですし、プログラミング環境を整えようにも高くて大変でした。環境を整えている間に時間は過ぎていく感じでしたね。その時にPyQのようなサービスがあればWebですぐに学べたのになと思います。その分遠回りした気分です。
f:id:kenken0326:20200729180040p:plain

f:id:kenken0326:20200117174014p:plain
kenken逆になんでもそろっている分自分の場合は「誰かに聞けばいいや」と甘えているところがあるかもしれません。みなさんの話を聞いて今の恵まれた状況を自覚して努力しなければならないなと思いました。

今後どんなサービスにしていきたいか

f:id:kenken0326:20200117174014p:plain
kenken最後にみなさんにお伺いしたいのですが、今後PyQをどのようなサービスにしていきたいですか?

kameko先ほどhirokikyさんが言っていましたが、高速道路みたいにスーッと通り過ぎられるサービスにしたいです。また、通り過ぎたらしっかりPythonが身についているサービスにしたいと思います。まだPyQには砂利道も残っているので今後お客様が快適に学習できるように整備していきたいです。
f:id:kenken0326:20200507143725j:plain

hirokiky僕は先ほどの話に似てきてしまうのですが、お客様がプログラミングを学ぶ時に「Python学ぶならPyQだよね」と当たり前に出てくるようなサービスにしたいです。大きな夢ですが、難しい領域以外は無料で提供することを目指したいです。そのためには知名度も、ユーザーさんも今より大幅に増やさないといけませんが。
f:id:kenken0326:20200417185659j:plain

kameko今まで無料化は考えたことなかったけど、確かに学生さんとかお金があまりない人でも無料で学べる環境を提供できたらいいですね。
f:id:kenken0326:20200507143725j:plain

haru自分はPythonを「より自学自習できるサービス」にしたいと思います。誰かに教えるという行為は教える側も大変だし、コストもかかる。やる気がある人は自学自習できればスピードアップして取り組めますので。
f:id:kenken0326:20200729180040p:plain

hirokiky直接教えるのは技術だけではなく、その人のキャラクターを求めるところもありますし、なかなかできることではないんですよね。その人の時間やリソースを奪ってしまいますしね。
f:id:kenken0326:20200417185659j:plain

haru本来作りたい人が教える側に回って作り手がいなくなってしまうのはよくありません。
f:id:kenken0326:20200729180040p:plain

f:id:kenken0326:20200117174014p:plain
kenken教えられる人ってだいたい優秀ですしね。

haruなのでPyQで学べば1人で自学自習できてPythonのプログラミングをできるようになってプロフェッショナルになっていくためのお手伝いができればと思います。これはPyQのもともとコンセプトでもありますので、そこをこれからも磨いていきたいですね。
f:id:kenken0326:20200729180040p:plain

hirokiky僕らエンジニアは何事においても効率化のために自動化したいと思う人種なんです。だからPyQでPython学習サービスを自動化したいんですよね。教育は職人芸ということもありますが、そういう部分もAIで解決できればと思います。例えばPyQのコースとかは決まっていますが、お客さんの学習状況やお悩み、学習に対する姿勢をみてAIが組み替えてくれるようなこともできると思うんですよ。
f:id:kenken0326:20200417185659j:plain

f:id:kenken0326:20200117174014p:plain
kenkenこれからPyQがどのように進化していくのか楽しみですね。本日はどうもありがとうございました。制作者の思いがとても伝わってきて、色々と収穫がありました。

バックナンバー

Copyright ©2017- BeProud Inc. All rights reserved.