第一回:起業、Pivot、そしてコードレビュー支援サービスが生まれるまで
作りたいサービスに全力を投球したいとき、起業は一つの選択肢です。その選択肢をとった開発者として、起業に至るまでのプロセスから現在、そして今後について語りながら、私の経験談・失敗談をお伝えします。起業に興味がある開発者の方や、「社長」という役職の人について知りたい方、技術的な話に疲れてちょっと休憩したい方などのお役に立てればと思い書きました。この秋、Siderが初めてGitHub Universeにスポンサーとして参加することをきっかけとして、私が1人だけでコードを書いていたところから、書かなくなり、CEOとして会社という組織を引っ張っていくようになるまでの物語を、3週に渡りお伝えしていきます。本記事では起業からコードレビューサービスの立ち上げまでを、中編ではSiderの歴史、そして後編では私が成功と失敗から学んだことなどに触れていきます。
はじめに
まずは私を知らない方に向けて、簡単な経歴を含めた自身の自己紹介をさせていただきます。
私は、『Sider』というコードレビュー自動化サービスを提供しているSider株式会社の代表取締役です。TwitterやGitHubではsumyapp というハンドルネームで活動しています。元々はプログラマーで、iPhone 3G時代(2009年)にiOSアプリの開発を始めたのがコードを書く始まりでした。Railsは2010年頃にiOSアプリのサーバサイドアプリケーションの開発と、卒業論文用のソフトウェアの開発で触り始めました。初めて触ったRuby on Railsのバージョンは2.3だったと記憶しています。
経歴としては、学生だった2009年から、フリーランスとしてたくさんのiOS/Android/Webアプリを提供してきました。
翌2010年には、Matzさん(まつもとゆきひろ氏)が技術顧問を勤める(楽天ではフェローと呼ばれる)楽天株式会社に入社し、社会人としてのスタートを切りました。2011年からはCyberAgent(Applibot)、 デジタルアドバタイジングコンソーシアム(DAC)などで新規事業立ち上げに携わり、それぞれ企画〜開発〜サーバ保守運用までワンストップで行いました。
その後、株式会社アクトキャットを創業しました。アクトキャットは2度の社名変更を経て、現在はSider株式会社として事業を続けています。
Siderとは何か
Siderはコードレビューを支援する、開発者向けのWebサービスです。GitHubと連携し、Pull Requestが作成されたタイミングでコードを解析、様々な問題を発見し、GitHubに通知します。結果、人がレビューをする前にSiderが問題を見つける(レビューをする)ことで、人のレビューの時間を節約することができます。
Siderは日本発の開発者向けサービスですが、弊社サイトを通じた直接販売だけでなくGitHub Marketplaceでも販売しており、アメリカ、インド、スイス、アイスランド、ベトナムなどをはじめとした世界中の国々で、コードレビューを楽に、より良くするためのサービスとしてご活用いただいています。海外への進出といえば、先日GitHub Satelliteが東京でありましたが、SIder株式会社は10月にサンフランシスコで開催されるGitHub Universeへもスポンサーとしてブースを出しています。GitHub Universeに参加される方は、ぜひSiderブースに遊びに来てください!
SiderとRuby on Rails
SiderはRuby on Railsで作られています。ファーストコミットでは4.0.1rc3が使われていました。
そのため、RubyKaigiには2016年、 2017年、 2018年と3年連続でスポンサー参加しており、メンバーも登壇(2017・2018)するなど、Rubyコミュニティと比較的近い位置で活動しています。また、Siderのお客様に最も人気のあるフレームワークもRuby on Railsです。
Siderは今後もRails開発者の皆様のお力になれるサービスを提供できればと考えています。
読者の皆さんへ
今回私がこの記事を書くに至ったのは、2014年にSider(元SideCI)の提供を始めて4年間が経過しており、多少は話せることもあるだろうと思ったことがきっかけです。開発者っぽい仕事から、代表っぽい仕事に自分の職務が移り変わってきていて、それはそれで嬉しいような、悲しいようなですが、だからこそ話せることもあるだろうと思っています。恥ずかしながら、いくつかの成功と、それ以上の失敗がありました。それらを経ての振り返りをしつつ、今後、もっと世界中で使われるサービスを目指していきます。
おそらく、ずっと開発者でいたい、かつ開発者でいる予定である方には、多くの学びはないかもしれません。その方々には単に面白さを感じてもらえればと思います。
もしあなたが起業したい方であれば、開発者が起業する場合に役に立つ話になっていると思う(願う)ので、ぜひ役立ててください。何か質問があればお気軽にご連絡ください。
なかには自社の社長が嫌いな方もいらっしゃるかと思います。そういった方々が、少しだけ、社長という役職の人の人生みたいなものを知って、今後ちょっと優しい目で接してあげられるようになってくれると良いな、という気もします。
それでは、起業の話を始めましょう。
起業への道
ソフトウェア開発者であった私が起業に至ったプロセス、起業してから起こったことなどを時系列で紹介します。
そもそも、なぜ起業?
そもそもなぜ私が起業したかについて触れます。起業のメリットは「会社に縛られない」ことだと思います。
私は自分の手でなにか新しいものを作るのが好きです。「プログラミング」よりも「モノを作ること」が好きです。それを育てることが好きです。
会社で新規事業の立ち上げをしていた際には、自分ではどうしようもないように思える制約条件が多いように感じました。予算の制約、人の縛り(社内のこの人とやる必要がある、発注するならこの会社に、など)、テーマの縛り、時期の縛り(新規事業をするタイミングは上から降ってくる)。どれも新規事業を成功させるためには、1つでもあったら失敗するのでは、ぐらいの大きな制約条件です。
その制約条件を限りなく少なくして、作りたいものを作るためには、自分でより多くをコントロールできる、起業という選択肢が良いと考えました。
Pivot,Pivot,Pivot
リリースしたプロダクトは以下のようなものがあります。順番にお話していきます。
- お願いカンパニー 2012年(事業譲渡済み)
- カットモデルマッチングアプリ 2012年(事業譲渡済み)
- プロトタイプを開発しては捨てるの繰り返し & 受託開発
- StudyTech / Spath School 2013年
お願いカンパニー 2012年(事業譲渡済み)
起業自体は「なにか新しいものを自分の手で制約なくいい感じに作りたい、育てたい」という動機で始めたことなので、実は当初は、特に「これをやりたい」というものは決まっていませんでした。
なので、1つ目のサービスは、ヤフー知恵袋にポイントが付いたようなものを提供していました。これは自分的にはアプリ名が完全に黒歴史なんですが、「質問に答えてポイントが貰えるQ&Aアプリ、お願いカンパニー」というアプリです。
「質問に答えてポイントが貰えるQ&Aアプリ、お願いカンパニー」
助けて稼ぐ!お願いカンパニー:招待、恋愛相談、質問・疑問へ回答で簡単にこづかい・ポイントが稼げるアプリ - Appliv
ちなみにこれもRuby on Railsで開発しました。
iOSとAndroidは「ガワだけネイティブ」というやつで、Push通知の機構以外は完全にWebViewでした。技術的には何も難しいことはしておらず、技術スタックは言語系はRuby on Rails、 HTML、CSS、jQuery、Objective-C、Android Javaなど。サーバサイドはHerokuとMySQL(Herokuアドオン)でシンプルな構成でした。
2012年当時はたくさんのポイントサイトやアプリがありましたが、どれも広告主が同じで、ポイントを貯めることが難しい時代でした。ポイントという通貨を増やすためには広告主を増やさなければならない、でも広告を出す法人は限られている。であれば個人が出せるようにして、ポイントという通貨の流通量を上げていこう、という目論見で始めました。
一般的にはweb上で何か質問すると、ヤフー知恵袋などの大きなサイトだと回答がつくまでに結構時間がかかりますし、回答も数件程度です。しかし「お願いカンパニー」では質問にポイントを付与したことにより、1時間で数百件の回答が付くようなアプリに仕上がりました。
私は開発当初、以下のような方々がこのアプリを使ってくれると想定していました。
- ポイントが欲しい、稼ぎたい人
- 質問に答えてほしい人
- ネット上で他者と交流したい人
事前の広告費を300万円ほど投下し、「お願いカンパニー」はサービス開始1週間ほどでユーザを数万人獲得することに成功しました。しかしアクティブユーザーは1000人程度にすぐ低下し、その後もどんなに新規登録があってもなぜかアクティブユーザーは1000人程度に戻ってしまう、けれど1000人程度より著しく下がることもない、という謎の現象が続き、結局「お願いカンパニー」を事業譲渡することに決めました。
結果としては、こういうことだったんだと理解しています。
カットモデルマッチングアプリ 2012年(事業譲渡済み)
こちらは今も継続してサービスが提供されています。
どんなアプリかというと、カットモデルを探している美容師と、無料で髪を切りたい人のマッチングサービスです。mixi社が提供している「minimo」に似たサービスです。
「課題解決型のスタートアップがしたい」と思って始めたビジネスで、美容師さんのカットモデルを探す労力は本当に大変そうだな、と思ったのがきっかけです。東京では、カットの練習をさせてくれるカットモデルを探している美容師さんを沢山見かけます。無料で髪をカットしたい人は沢山いるはずなので、マッチングさせようと考えカットモデルを探されている美容師さんにヒアリングを行うと、100名カットがノルマ、200名がノルマ、終電までカットモデルを探している、などの苦労を耳にしました。この課題は非常に大きいと考え、サービス提供を始めました。リリースに併せて、TechCrunch Tokyo Startup Battleにも出場するなどしました。 https://jp.techcrunch.com/2013/11/15/tc-tokyo-2013-startup-battle/
さて、これはリリース後に発覚したのですが、実はカットモデルを探す文化は、東京とそのほか一部の都市に限定されるものでした。私の義姉の美容師に聞いたところ、地方都市ではこの文化はないそうです。
カットモデルのマッチングは東京のみの文化であるため市場が大きくなく、マネタイズが難しい。また、競合企業・サービスも多く、当社で継続してこのサービスに注力するのは難しい。このように判断し、こちらも事業譲渡に至りました。
プロトタイプを開発しては捨てるの繰り返し & 受託開発 2012年〜2013年
この期間はいろいろなアイデアを考え、ヒアリングをし、物によってはプロトタイプを作りました。しかしそれらは、市場がちゃんとありそうか、課題が明確にあるものか、自分がそれに取り組みたいかなどによって、すべて廃案になりました。
この間の売上は受託開発によって上げておりました。当時ご依頼いただいた方々には大変感謝しております。
ここで廃案になったプロトタイプの一つをご紹介します。効果計測が可能なデジタルサイネージアドネットワークのプロトタイプです。iPhoneとディスプレイを接続し、ディスプレイに動画広告などを表示し、同時にiPhoneのカメラから広告を閲覧した人数や時間を、顔認識によって算出します。従来のサイネージ広告では効果計測が出来なかったり、広告の変更に時間がかかったりする(張り直し)といった課題があったところを、iPhoneとディスプレイのみで効果計測・リアルタイムの広告配信・サイネージ広告のアドネットワーク化を実現しようとしたものでした。
これは今考えると悪くないアイデアですが、検討当時いくつかのヒアリングを行ったところ、サイネージを設置する場所の方や広告キャンペーンを企画する人たちの間にそもそも効果計測に関するニーズがないことがわかり、プロダクト化を断念しました。
StudyTech / Spath School 2013年
コンシューマー向けのアプリの博打性の高さが辛くなったのと、ちゃんと人の役に立つことをしたいという思いから、次はオンラインプログラミングスクールをはじめました。2013年のことです。
これらはOnlabの6期DemoDayでも発表させていただいたプロダクトです。
当時はProgateはなくて、CodecademyがSeries Bの調達(累計125万ドル、1.4億円程)といった時期です。日本のプログラミングスクールとしては、比較的早い参入タイミングでした。
当時の既存のプログラミングスクールは次のような課題を抱えていました。それは「プログラミングスクールはたくさんあるけれど教材ありきで、エンジニアの方が生きたプログラミングを教えてくれるスクールは少ない」ということと、「スクールに通ってもプログラミングを教科書通り教わるだけで、実際にモノを作れるスクールがない」ということです。
これに対し、私は「エンジニアが教える」「モノを作れる」ことを目指して事業を始めました。 実際にサービスを提供した結果、次のような課題を感じました。
- 教材を買っても勉強を開始しない人が9割である
- 残りの1割の方は初めてのモノ(Webサイト、アプリなど)を作れるレベルまで到達できるが、手間暇がかかり、スケールしづらい
- 毎日ずっとコードレビューするのがつらい
結局、「教材を買っても勉強を開始しない人から得た売上を顧客獲得コストとして使う」、といったマーケティング主体のビジネスモデルであり、このビジネスモデルが個人的にあまり好きではなかったため、上記の課題と合わせて、事業撤退を決めました。
もちろん、広告ではなく口コミによってユーザを獲得できるようにする道もありました。しかしそれには非常に多くの時間がかかるであろうことが見込まれ、、また、教材を買っても勉強しない人の割合を変えることはほとんどできないだろうと考え、やはり事業撤退をすることにしました。
人生の迷子と転機
ここまで何回もプロダクトを作って、譲渡なり撤退なりをしてきて、次は何をするべきか、会社を閉じる選択肢も含めて検討をする中で、自分を見つめ直しました。2013年11月頃のことでした。しかし1人で考えても結論が出ないので、先輩起業家の方々に相談することにしました。
5人ほどに相談してみたところ(アルファベットは仮のものです)、不思議なことに全員が、旅を勧めてくれました。
そこで、ふらっとサンフランシスコに1人、人生探しの旅に出ることにしました。
旅の中で見つめ直した自分
2013年12月、サンフランシスコを旅しながら、自分はいったい何をしたいと思っているのかを考え直しました。また、課題解決型のスタートアップとして、自分が想像できる、解決したい、身近な課題を見つけるために、自分が今まで何に時間を使っていたのかも見直しました。
その結果、自分がこれまで何をしたいと思って、色々なことに取り組んできたかというと、その根底にあったのは「人の成長に貢献したい」という思いでした。学生時代には講師の仕事をしていましたし、Spath Schoolの事業もプログラミング教室でした。そして、これまで自分がどのようなことに時間を使ってきたのかを振り返ったとき、毎日1時間はコードレビューをしていたことや、そのなかで、コードミスには設計上の問題もあるが、インデントのずれやブラケットの閉じ忘れなどの初歩的なものも多くあったことを思い出しました。
コードレビューを通じて、人の成長に貢献できるもの。それが答えのように見えました。そこで私は、「コードレビューを支援する事業を作ることはできないか」と考えました。
渡米中にSideCIの元になるアイデアを思いつく
当初思いついたアイデア発議は次のようなものです。
「『こう書いたほうが良いよ』とコードに対して自動的にサジェストしてくれる、ルール(辞書)のようなものを作り、それをレビューに活かす、もしくはレビュー前に機械的に修正もしくは修正提案をする」
このアイデアは起業家向けのイベント、Incubate Campで「コードキャット」として発表されました。
http://thebridge.jp/2013/12/incubate-camp-6th-2nd-day
裏話としては、当初このサービスは「CodeMagica」という名前になる予定でした。しかし、とある有名な魔法少女アニメを連想させるとの意見がありボツ案となり、結局その時点での社名だったアクトキャットにちなんで、「コードキャット」と名付けられました。
ただしコードキャットはドメイン名などが取れなかったことから、.comドメインが取得可能で、短く覚えやすい名前として、すぐに「SideCI」という名前に変更を行いました。SideCIのネーミングの由来として、過去の社内ドキュメントで次のように記載しています。
SideCIの "Side" の意味
Sideはいつも開発者さんの隣でお力になれるよう見守ってます。何か間違ったことをしそうになったらそっとそれに気づかせたり、教えたり。逆に、皆さんから教わることも多々あります。Sideは教えてもらったことをずっと忘れずにいて、それを活かせる機会が訪れたら、また私はそれを開発者さんに気づいてもらうために使うのです。
CircleCIやWerckerCIさんなどは「開発者の代わりに」仕事をするために産まれたのかもしれません。SideCIは他の方とは違って、開発者の隣でお役に立てる、メンターのような、パートナーのような、同僚のような、そんな存在になるために産まれたのだと考えています。
その後、2018年6月にSideCIから「Sider」へと名前を変えることになりました。これらが2013年12月頃の、コードレビュー自動化ツール『Sider』の始まりの物語です。
2014年1月からはプロトタイプをともに、ユーザヒアリングに明け暮れました。
Siderが始まった後、どのようにコードレビューサービスのプロダクトを育ててきたかについては、次週9月20日に公開する中編でお話していきます。