こんにちは。PyQマーケティングチームのkenkenです。
いきなりですが、「PyQはどうやって生まれたんだろう?」と考えたことありませんか。
私は「Pythonに特化したサービスをよく商品化できたな」と思ったことがあります。
そんな中、4月12日にPyQが3周年を迎えました。
せっかくなのでこのタイミングでPyQ開発メンバーに当時どのような思いでPyQを企画したのかを聞いてみたい!と思い、PyQ開発チームにPyQの開発秘話を伺うことにしました。
「プログラミング、Pythonで作りたいものがわからない」という人も参考になると思うのでぜひ読んでみてください。
インタビュイーの紹介
清原弘貴 @hirokiky
PyQの企画、開発を担当している。PyQを企画開発した初期メンバー4人中の1人。PyQアプリのシステム開発や、インフラ整備、Webサービス内のHTML/CSSコーディング、デザインなどをほとんど1人で担当している。
2012年10月よりBeProud所属。12歳のときからプログラミングしており、2011年から本格的にPythonを使っている。 Djangoが好きで、日本で最大級のDjangoイベントDjangoCongress JPの主催をしている。
PyQ以外にも個人で、原稿・記事執筆、レビュー、連携WebサービスShodoを開発している。
他にもdig-en、PileMd、など多数のWebサービス・アプリを企画、開発している。
共著書に『自走プログラマー(2020技術評論社)』『Pythonプロフェッショナルプログラミング第3版(2018秀和システム刊)』、『Pythonエンジニアファーストブック(2017技術評論社刊)』がある。
どのようにPyQの企画が出たのかを教えてください
そのときは今ほどPythonを勉強する教材もなく、オンラインでプログラミングを学習するサービスもほとんどありませんでした。
そのなかで「ちゃんとプロのエンジニアに成長できるサービスを作りたい」というのが企画の始まりでした。
世の中には転職の支援サイトなどは多くありますが、最終的には一部の優秀なエンジニアの人を取り合うことになるのではと危惧していました。
転職のサイトはもちろん存在しつつ、十分なスキルを持ったエンジニアの人自体が増えることこそが世界のためになるだろうと考えました。
そのために、誰でも・どこででも、プロフェッショナルなエンジニアとして必要な知識を学べるサービスを作ろうというのがきっかけです。
はじめからPythonに特化した学習サービスを作ろうと思っていましたか?
私たちビープラウドが作るうえで何をすべきかと考えたときに「Pythonを学べるWebサービスを作ろう」と決まったのです。 ビープラウドには当時でも10年のPythonの実績がありました。その知識を活かしたWebサービスを作るべきだろうと考えました。
たった4年前のことですが当時はPythonが今ほど日本では流行っておらず、会社内でも「なぜPythonを学べるサービスを作るのか?」と反対意見もありました。
やはり学習する人口としてはPHPやAndroidのほうが多いというのが事実です。なぜわざわざ、Pythonオンリーのサービスを作ろうとするのかと反対されました。
SQL
関係データベース管理システム (RDBMS) を操作して、データの抽出や変更などを行うためのデータ問い合わせ言語です。データベースの構造設計、表の所有権を定義をするためのデータ定義言語(DDL)とデータの抽出、追加、更新などを行うデータ操作言語(DML)に分類されます。
PHP
PHP (PHP: Hypertext Preprocessor を再帰的に略したものです) は、広く使われているオープンソースの汎用スクリプト言語です。Web開発に適しており、HTMLに埋め込むことができます。
URL:https://www.php.net/manual/ja/intro-whatis.php
Android
google社が提供するスマートフォンやタブレットなどのモバイル機器向けに設計された、モバイルオペレーティングシステムです。Android フレームワークや他のライブラリにある API を使用して Android アプリを作成できます。
URL:https://developer.android.com/guide?hl=ja
Python特化の学習サービスを作ることに不安はありませんでしたか?
Pythonを学びたい人は確実に増えていましたし、PythonはWebアプリケーション開発や機械学習など幅広く対応できる言語だからです。
まだまだ入門書なども少ない時期でしたし、本や独学で学ぶのはどうしても大変なことです。ブラウザーだけで実際にプログラムを書きながら学べ、ビープラウドで培った知見を盛り込んだ学習サービスは良いものになると信じていました。
「ブラウザーだけでPython学習ができるサービスを開発しよう」という案はどのように生まれましたか?
そのときにSQLの学習サービスを作っていたチームにジョインし、「お遊び」で実験していた技術を参考にシステムを作り直しました。 さらにその仕組みではPythonプログラムを動かしたり、GNU/Linux的なシステムをブラウザーだけで動かせられます。
もちろん、Webサービスとして実現するためのセキュリティの問題や、多くの人に提供するための負荷の問題などをクリアするのは非常に大変でした。
ですが、根本にあった技術的な着想は、同僚同士で楽しくやっていた「お遊び」から生まれました。
GNU/Linux
GNUプロジェクトが開発したソフトウェアをUnix互換OS「Linux」カーネルを使用するときに「GNU/Linux」と呼ぶようにGNUプロジェクト側が主張した呼称です。GNUは「“GNU's Not Unix”(GNUはUnixではない)」ことを表しています。
URL:https://www.gnu.org/gnu/gnu-history.ja.html
お遊びから生まれたなんて面白いですね。PyQはそのままスムーズに仕上がって行ったのですか?
1番大変だったのはリリース後のあと1年後くらいで、当時には絶対にタイムスリップしたくないとも思います。
最後にPyQとPyQ学習者さんに対して伝えたいことをお話ください。
だけど人の役に立てるものを作ることは大変です。PyQ自体もまだ成長途中ですし、もっと改良すべきところがあります。
最近になってダッシュボード画面を刷新したり、模索しながら頑張っています。
でもそれは目の前にいるお客様のためだと思っています。困っている人を助けたいなと思っているからです。
これからもPyQには至らないところなどもありますが、これまでもこれからもチームとして頑張っていきますので、応援よろしくおねがいします。