Pythonで、立ち上げフェーズの開発案件を受託
ビープラウドは、どのような開発案件に取り組まれていますか?
ここ1年は、Webの開発だけではなく、機械学習の案件も増えてきており、今は全てのプロジェクトでPythonを使って開発しています。
「なんでもやります」というよりは、分野を絞り、絞った強みから広げていく方が、最終的には、自分たちの力を活かした仕事ができると考えています。
分野を絞った当初は“我慢”が必要でした。そこを我慢し、踏みとどまって広げてきたというのが、会社設立当初から今までの流れです。
現在では、Pythonの専門家として認知していただき、自社で請け負った開発以外にも、Pythonを使った開発における技術選択や開発の進め方に関してコンサルティングしたり、開発プロジェクトに参画したりしています。
自社サービスの「connpass」や「PyQ」についても教えてください。
IT勉強会支援プラットフォーム「connpass」を始めたのは、2011年。受託開発だけではなく自社製品やサービスを出していこうという取り組みの1つでした。当初は勢いで始めて(笑)、どちらの方向に進めるか迷ったこともあったのですが、現在はサイトとしても成長し、会社のさまざまな面に貢献しています。
Pythonのオンライン学習サービス「PyQ」は2017年4月にリリースしました。プログラマーを組織で一から育てることはとても時間がかかります。会社で教える担当者もプログラミングを教える専門ではないことが多く、とても苦労しています。そのような問題を解決するために、プログラマーを目指す人が自学自習でPythonプログラミングを学び、実務的なスキルが身につくようにサービスを設計しています。
主言語をPythonに絞ったワケと、この10年の環境変化
早い段階からPythonを導入していますが、Python導入のきっかけや狙いはどんなところにあったのでしょうか。
2008年からPythonを導入しているのですが、PythonはLightweight Language(LL)の一つと言われ、開発生産性が良いということで当時から技術者の間で注目されていました。読みやすいので保守性が高い言語です。他の人が書いたプログラムでも読みやすいというところが、メリットですね。
でも、当時Pythonを導入した一番の狙いは人材採用でした。世の中の流れとしてはJavaやPHPがメインだったので、そのような言語を採用すれば仕事のつぶしはききますが、人材採用の面では他の大手企業や多くの企業との争いになってしまうと思ったんです。なので、「Pythonでやります!」と言えば「Pythonが好き、Pythonで仕事がしたい」という人材が来てくれるだろうという予測のもと、思い切ってPythonに絞ることにしました。
当時メンバーは5人もいない状況だったので、もっと人を採用していくには思い切ったことをしないといけないだろうと考えていました。結果、「Pythonで仕事をしたい人」が来てくれるようになりました。
Pythonを導入した当時から2017年現在まで、Pythonという言語を取り巻く環境は、どのように変化してきましたか?
Pythonを導入した当時は「なんでPythonなの?」とよく言われました。でも、受託開発のお客さんは「作りたいものを作ってくれるなら、技術は任せるよ」というところが多かったです。
また2008年の4月にGoogleのクラウドプラットフォームの一つGoogle App Engineがリリースされました。当初はPython版のみリリースされたので、このタイミングでPythonを始めた人も多かったと思います。
その後、ソーシャルゲームのブームが来て、クラウド環境が当たり前に世の中で使われるようになりました。OpenStackという、オープンソースで自社内にクラウドインフラを構築できるソフトウェアがあるのですが、それにはPythonのSDKが用意されています。OpenStackをカスタマイズするために、Pythonを使いはじめたユーザーもいます。そのような流れが来たのが2〜3年前です。
そして、2015年の終わりから2016年の始め頃にかけてAIや機械学習のブームが始まり、今に至っています。PythonではAIや機械学習で扱うライブラリが充実しています。そのためAIや機械学習を使うサービス・プロダクトを開発したい場合のプログラミング言語としては、Pythonが真っ先に候補に挙がります。
2008年から約10年間かかって、「なんでPythonなの?」という状態から「Pythonでやりたい」という時代になってきました。
受託開発の面白さは、学びと実践の中に
10年の間に大きな変化が起こったのですね。「受託開発の面白さ」というのはどんなところにありますか?
弊社では新規開発案件の割合が多いのですが、新しい技術やプロセスにトライできるところです。もちろんお客さんの目的にあった技術を採用しますが、今回はこの新しい技術を使ってみようとか、このプロセス、このアーキテクチャでやってみようとか。日頃学んでいることを、実践したり、一から設計できるところです。
あとは、この業界ってこうなっているんだとか、こういう考え方をするんだとか、いろいろ学びが多いのも面白いなと思いますね。
さまざまな開発案件に取り組むにあたり、多くの知識が必要かと思いますが、何か工夫されていることはあるのでしょうか。
この1〜2年の新しい取り組みとして、機械学習やデータ分析のジャンルに力を入れています。任意参加ですが、機械学習をテーマにした読書会を毎週開催し、技術レベルを上げるようにしています。
1人で機械学習の本を読んでいると眠くなってしまうなど、なかなか進みません。そこで皆で本を読みながら重要なポイントはホワイトボードを使うなどして、皆で理解を深めていきました。
またサイボウズ・ラボの西尾泰和さんには「PyQ」の機械学習系問題の監修をお願いしたのをきっかけに、2017年6月から機械学習の技術顧問として参画いただいています。機械学習の実案件で弊社メンバーにアドバイスをいただいています。進め方や考え方について場面に応じた的確なアドバイスをいただけるので、メンバーも学びが大きく経験値を積めており、大変助かっています。
新しい知識を意識的に取り入れたり、社外の方にもうまく頼りながら、案件に取り組んでいるんですね。
そうですね、「勉強すればできる」というのは、みんなに伝えたいことです。そして学んだ知識と実践経験が結びつき、新しい知識になり、次の仕事に活用するというサイクルをつくることが必要です。それを繰り返すうちにできることが増えていき、自信につながります。
組織には“役割”があるだけ。自ら学び続け、価値を生み出していく場に
今後新たなメンバーを迎えるとすれば、どんな方に来てもらいたいですか?
採用の面で考えると、スキルを伸ばし続けるために自ら学び続け、自分のスキルを活かしてどうやって価値を生み出せるか、貢献できるかと考え続けるマインドがある人に来て欲しいと思っています。
“自ら学び続ける”というところにも繋がりますが、組織全体としても学び続け、実践しながら、プロセス改善をしていきたいと考えています。
「connpass」を例にとってお話しすると、以前このメディアにも取り上げられている「匠Method」を使ってサービスの改善をしたことがあります。これは企画のための方法論ですが、通常は数ヶ月くらいかかる企画を1週間くらいでまとめてしまおうという手法です。
これからは技術の向上だけでなく、プロセスや方法論、どうやって働いていくかということが、とても重要です。ただ、そこを規定しすぎると「こうやることになっているんだから!」と頭が固くなってしまいます。プロセスを決めすぎてしまうと結局決められたことだけを行う組織になってしまいますし、かといってそれがなさすぎるのもムダが多くなります。
プロセスは規定しすぎてもダメだし、自由すぎてもうまくいかない……。良いところを取っていくにはどうすれば良いのでしょうか。
そこは、組織をボトムアップにすることだと思っています。
トップダウンで、例えば管理部が「こうやります!」とガチッと制度をはめてもうまくいきません。ボトムアップで「自分たちは、こうやってやりたいんだ」と社員の方で考えて、社員が制度やプロセスを作って、育てていく。僕はそれが大事だと思っています。
自分たちで作ったルールと組織であれば、縛られている感覚がなく、働きやすくなります。もしもうまくいかなかったら、すぐ改善し、変えていけばよい話です。
ビープラウドには“誰が偉い”とかはなく、“役割”があるだけです。
例えば私は、給料を決めるのも、経営者という役割の一つに“評価して給料を決めるという役割”があるから担当しているだけであって、偉いわけではありません。会社のメンバーにはそのように話しています。
最後に、今後のビープラウドの方針を教えてください。
まず組織基盤の面で言うと、社員同士が自由に話せる雰囲気であったり、社長にも「私はこう思う」と自由に言える土壌、雰囲気を、より意識的に作っていきたいですね。それが、新しいものを生み出す組織のベースだと思っています。
事業面で言うと、「PyQ」の売上を既存事業のレベルにしたいと考えています。
「オンラインのPython学習といえばPyQだよね」というところに、持っていきたい。Pythonを学びたいという人も増えているし、機械学習を学びたい人も増えているので、さらに伸ばしていこうと思っています。
また、新しいサービスのリリースを考えているのですが、その新規事業も、「PyQ」と同じように伸ばしていきたいです。そこがこの3年の狙いですね。
ただ売上を伸ばす、組織を大きくするということではなく、今くらいの組織で、事業を開発したり、仕事の効率化に取り組みながら、この目標を達成しようと考えています。