会社概要

ビットジャーニーさんのエントランスにて

個人の発信を組織の力にするための情報共有ツールをつくるビットジャーニー

 ビットジャーニーではスタートアップから大企業までを対象とした「Kibela」という情報共有ツールを開発しています。現在開発中のKibelaは、先日まで募集していた先行登録受付にて非常に多くの申し込みを集めた世間注目のサービスです。

 今回は、そんなKibelaを開発しているビットジャーニーのエンジニアの方々にお話を伺いました。ちなみに両名ともにCookpad出身という共通のバックボーンをお持ちの凄腕エンジニアの方々です。

コード規約はあることが大事

-お二人のコード規約についての考え方をおしえてください

出口さん: 私はプロダクトマネージャーを担当しているので、プロダクトにフォーカスすることを普段から大切にしているということもあり、規約を決める、指摘する、直すという、プロダクトの本質とは違うところに時間をかけるのはスタートアップにとってはもったいないことだと考えています。ただ、私自身エンジニアでもあるので、コード規約を適切に運用することが生産性を向上させる上で重要な役割を持つこともよくわかっています。

私個人としては、規約そのものについては、規約があることが大事であって中身はあまりこだわるほうではないです。業界のベストプラクティスがあればそれに従います。特に細かいことについては問いません。もちろん、個人の趣味みたいなのに従えと言われたら嫌ですけどね(笑)

インタビュー取材風景

藤さん: 僕は割とコード規約とかスタイルとか、こだわる方なんですね。前職のCookpadではstyleguideを公開していることもあり、規約に関する議論は社内でも活発でした。コード規約は「好み」で決まることもあって「好み」のところは人の好き好きでやればいいと思っています。ただ稀に「正しさ」が議論に影響することがあって、そういった「正しさ」に関することはなかなか譲れません。譲らずに議論した結果、結論に至らなかったこともありました。

コード規約に関して議論していたことは、styleguideを外部に公開していて影響も大きいので当時としては譲れなかったのは確かだったんですが、今振り返るとプロダクトそのものの品質にはあんまり意味が無いなーと(笑)

出口さん: 昔と今では立場もだいぶ違いますよね。

藤さん: 立場、ちがいますねー。

出口さん: 当時は基盤の方をやっていたけれど、今はプロダクトの方がメインですし。

藤さん: まあ、そうですね。styleguideは外向けということもあるし、部署としてコードの品質を守る部署だったので、譲れなかったなと。

正しさに関わることは気になるという藤さん

とはいえ、議論が終わらずにうやむやになっている途中で、ObjCのかわりにSwiftが台頭してきて議論していた部分の挙動が変わってしまうなどで議論自体が必要なくなったりしたこともありましたけどね(笑)

スタートアップのコード管理

-ビットジャーニー さんでのコード管理についておしえてください

出口さん: スタートアップの場合、コードの品質を向上させることよりも、プロダクト開発をどんどん進めて、会社として生き残ることが最優先です。そのため、コードの質に関する環境整備、コード規約についての議論、指摘、その修正には、時間や人的リソースをあまり使いたくありません。

開発時に使う技術を考えても、KibelaではRubyだけでなくES2015、React.jsを使っていたりHamlを使っていたりします。このように多くの言語やフレームワークなどの「技術」を扱う状況の中で1つ1つコード規約を議論していくのは現実的ではなく、ツールの方で幅広く対応してくれているのがいいと考えています。

規約の中身自体については、こうあるべきというのは私自身はあまりないのですが、藤さんはこうあるべきという考えを持っているので、そこは藤さんの提案を受け入れていればオッケーだと考えています。

藤さん: あと規約チェックのツールでいうと、設定ファイル側の規約が厳しすぎたりチームの状況にマッチしていない場合、コード側で規約をdisableにしてしまうということが多々あるんですね。ただそれでは規約としての意味があまりないので設定ファイル側の規約を緩和し、コード側で極力disableにすることのない規約に変更しました。

知っている部分についてはルールのチェックをやっていくのですが、JSのライブラリなどは動向の変化がとても早いのでSideCIを使ってベストプラクティスに対応していくのはとても楽ですね。

マネージドツールでプロダクト開発の時間を増やす

-SideCIを導入した理由をおしえてください

出口さん: もともとLintツールを利用していて、当時はHoundCIを自前でホスティングしてメンテナンスしていたのですけど、結構そこにとられる時間が多くてそれは本末転倒だということになってマネージドのサービスを探したんですね。そこまで厳密に選んだわけでもないんですけど(笑)

SideCIっていうマネージドのサービスがあることは知っていたので実際に試してみたのですが、使ってみたときにバグを見つけたんですよ。そのときにチャットを使って問い合わせをしたら、すぐに納得感のある答えが返ってきて、これは信頼できるぞと思って使い続けました。

藤さん: 私は導入時に立ち会っている訳ではないのですが、導入後何度か問い合わせをして、割と納得感のある答えをいつも頂けました。

一同:(笑)

プロダクトにフォーカスすることの大切さについて語る出口さん

藤さん: いやでも、納得感って大事ですよね。その場で解決することばかりじゃなくても、ちゃんと対応してくれているなと思える。

出口さん: 僕らもサービスやってるのでわかるんですよね。仕様があったり、いろいろな事情があるっていうことは。バグがあることもあるし。なのでそこでちゃんと納得感のある回答をしてくれるかということが大事でしたね。

また、利用する価値という意味ではLintツールだけでなく、Brakemanなどコードの質に関わるツールの実行を、まるっとSideCIに任せられることに価値を感じてますね。良い意味で、開発中にSideCIの存在を意識せずに開発を進められるので助かっています。

終わりに

コード規約にこだわる環境にいたからこそわかる、コード規約とプロダクト開発の関係を伺うことができました。

どういうシーンで、何が必要か、そういったことを突き詰めて考えて意思決定をしていくお二人の様子をきいて、ビットジャーニーさんの作る「ひとりのアイデアをみんなのチカラに」と掲げられたKibelaを早く触ってみたくなりました。

解析結果まで30秒、
無料でお試しください

SideCIは14日間無料でお試し頂けます。登録開始から約30秒で解析結果が閲覧できます。
また、OSSはすべての機能が無料で無制限にご利用頂けます。

導入事例一覧

Startup technology

SideCIに指摘される事がないチームでも、SideCIは欠かせない

株式会社スタートアップテクノロジー のみなさま

Street academy

エンジニアも“学び”続けることでユーザーの人生をより豊かに

ストリートアカデミー株式会社 のみなさま