Qiita運営「Increments株式会社」の裏側

髙橋侑久氏(以下、髙橋):こんにちは。Incrementsの髙橋と申します。よろしくお願いします。Incrementsいくつかプロダクトありますが、今日はとくにQiitaの話をしようかなと思っています。

これまでのキャリアを軽く話すと、学生時代からアルバイトでWebサービスの開発に携わり始めて、大学院を中退してIncrementsに転がりこみ、今に至るという感じです。それ以来一貫してQiitaを開発しています。途中CTOやそういったマネジメント的なロールを担った時期もありましたが、今はテックリードとして技術的な側面からQiita開発を牽引しています。

Incrementsは「エンジニアを最高に幸せにする」というミッションの下に、エンジニアをターゲットにQiitaというサービスを開発したり、今日のようなエンジニア向けのイベントを開催しています。

ところで、Incrementsは昨年の12月にエイチームグループの一員になりました。

最近社外の方にお会いすると、「買収されてどう変わりました?」「スタートアップが買収されるとどう変わるんですか?」みたいなことをよく聞かれます。

もちろんこれはあくまでもエイチームとIncrementsの場合の話ですが、今のところいい具合に買収後の日々は過ごせていると思います。

開発周りで変わった点を挙げると、今までは売上を追いかける前に、良いサービスを作ってユーザーを増やすことにより重きをおいていました。今も良いサービスを作るという基本は変わりませんが、KPIの中の事業の売上の重みが大きくなりました。

あとは、親会社が名古屋の会社なので、名古屋に行って話をすることが増えています。実は今日そのエイチームの人間が来ていて、そのことを僕は知らなかったので、この資料を親会社に見せずに作っているのでちょっとドキドキしているんですけど(笑)。

(会場笑)

エイチームはどちらかというとビジネス色が強い会社だったんですが、もっとエンジニアリングを大事にしていこうという機運があって、その流れの1つとしてIncrementsの買収がありました。

なので、一方的になにか押し付けられるというのではなく、僕たちはエイチームにビジネスの伸ばし方を学び、逆にIncrementsはエンジニアリング文化を輸出していこうという、そんな機運があります。

Qiita運営チーム

ここから先はせっかくなのでQiitaの話をしたいと思います。Increments全体としていくつかプロダクトがあるのでもうすこし開発に携わっている人間がいますが、Qiita単体に絞ってみると、開発しているのは、正社員としては4人しかいなくて、あとはアルバイトや業務委託の人が若干名いるという感じです。

あとはインフラを見てくれている人がいます。他にはQiitaは広告販売があるので、その営業をされている方がいます。

技術スタックとしては、Qiitaは2011年に始まっているんですが、以来7年間一貫してモノリシックなRailsアプリケーションとして開発されていて、7年間走り続けているRailsアプリケーションにしてはちゃんと最新バージョンを追随し続けているほうかなと思います。

アーキテクチャーの図はかなり簡潔化したものなんですけど、要するにユーザーがいて、ロードバランサーがいて、その後ろにアプリケーションサーバがいて、それらがオートスケーリングしていて、その後ろにデータベースサーバがいるという構造です。

「Railsに限らず、Webアプリケーションを作るときには、最初はこうするよね」みたいな状態が今も続いているという、すごくシンプルな構成でやっています。

Qiitaのこれから

これ以降話すのは、これから先のQiitaのリリーススケジュールみたいな話になっていってしまうんですけど(笑)。

(会場笑)

これはサービスというよりはエンジニアリング的な話なんですが、最近、Qiitaの内部APIがGraphQLベースに切り替わりました。これは使っているユーザーさんからは見えない部分なので、これだけだと自己満足みたいな感じなんですが、GraphQLによる柔軟なAPI設計によってQiita開発を加速していきたいと考えています。

おそらくここにいらっしゃる方の中には「俺はQiitaにはGoogle経由でしか行ったことがないぜ」という方も多いと思うんですが、QiitaはPCによる、Google経由のアクセスが圧倒的大多数です。業務時間中にPCでアクセスされる方がすごく多いんですね。

しかし1つの流入経路にあまりに強く依存している状態はリスクも大きいです。Googleは大事なんですが、もっとモバイルアクセスを増やしていきたいというところで、最近はPWA対応に力を注いでいます。

おそらく数週間後には、Androidを使っている方でQiitaにChromeでアクセスすると、下からひょこっと「ホームに追加する」みたいなのが出てくると思うので、それを発見したときには、キャンセルせずに追加していただければと思います(笑)。

「エンジニアを最高に幸せにする」ために

QiitaにはOrganizationというものがあるんですが、今まではWebフォームがあってそこでポチっとしたら作れるという感じではなく、Incrementsにメールを送っていただいてからその都度審査して、みたいな感じでやっていました。

なぜやっているかというと、「ちゃんとしたクオリティのあるものだけを載せましょう」という判断があったんですが、僕たちエンジニア界隈には、会社だけでなくOSSユーザグループなどいろんなコミュニティがあるわけじゃないですか。そういった組織にもOrganizationを開放していきたいと考えていて、その一環としてWebからOrganizationの作成が完結できるようにしようとしています。

あとは、「Advent Calendar」というものを毎年12月にやっているんですが、いまは7月なので、驚くべきことに2018年半分終わってるんですよね。毎年この時期になると「もうやらなきゃいけないんだ!?」みたいな感じでびっくりするんですけど、今年もぼちぼちやっていくぞという感じのことを考えています。

Incrementsのおもしろいところは、「エンジニアを最高に幸せにする」が会社のミッションだと言いましたが、どこかの誰かのためのサービスではなくて、自分のための自分の課題を解決するというのが、ほかの会社ではあまりなかなか味わえないおもしろさかなと思います。

あとは、友達が使ってくれて、友達からダイレクトに使用感とかフィードバックがもらえるところがいいところかなと思うので、そういったところに興味がある方がいらっしゃれば、一緒にQiitaを作っていきましょう。ありがとうございました。

(会場拍手)