ITエンジニアに必要な今を知れる情報メディア
「スタートアップがまともなわけ無いから入るな」【後編】SUGAR・杉谷保幸CTOインタビュー
skill

「スタートアップがまともなわけ無いから入るな」【後編】
SUGAR・杉谷保幸CTOインタビュー

高速・高品質の両立を目指そう

スタートアップであろうが、大企業であろうが、開発は最初から高速で高品質でやっていこうと考えるべきなのです。低品質だと不具合は増えていき機能追加はしづらくなっていき人も減り採用もできず会社が死んでしまいます。低速だとプロダクトか会社自体が存続できません。高速と高品質の両立が重要です。

高速と高品質を両立するためには道具や手法に拘らなければなりません。

たとえばSUGARに導入しているのはドメイン駆動設計(DDD)という手法です。詳細は専門書などを参照していただきたいですが、ものすごくざっくり言うと、「人間の言語能力というのはとても優れているので、言葉と実装を一致させる部分をつくりましょう」という考え方です。ドメインというのは「業務知識」という意味です。業務のひとつひとつを言葉として厳密に定義して、それと実装を一致させるという考え方が基本になります。

例えば、「本」であれば、「本というのは、表紙とページがあり、ページの中にはテキストや図があり、ページ番号という概念がつけられている。本には著者、書名という属性がある」という言葉の定義を厳密に行い、これと実装を一致させる。

このように言葉と実装を一致せることにより、業務知識とはなんだろうか?というものをより深く考察することができる効果があります。

一人でコードを書くのであれば、DDDのようなものは必要ありません。でも、実際はチームでプロダクトを開発します。DDDを導入していると議論がブレにくくなります。つまり、話が早くなる。



さらに、言葉と実装が一致しているので非エンジニアに対してもやろうとしていることの説明が容易になるため会社全体で、プロダクトに関する議論ができるようになります。

DDDは高速高品質を維持するための道具のひとつです。この他の道具として、SUGARではScalaを使っています。これはとても書き味がいいプログラム言語です。Javaであれば何十行も書かなければならないことが、2、3行で書けることもあります。書く量が少なければ実現するための試行錯誤も少なくなりバグも出づらくなります。

他にも、コードレビューもやりますし、単体テストも整備するなどして、SUGARでは高速高品質の維持を心がけています。

どうやって会社を選ぶ?

また導入している道具や手法が間違った認識のものでないことが担保されていることも重要です。

例えば、今「Scrum」が流行とも言えるほど広がっています。
スクラムはKen Schwaber氏とJeff Sutherland氏が考案し様々な団体を作ったり追い出されたりまた作ったりしつつ普及活動が成されている開発手法の一つです。

多くの企業が「Scrumを行っています」といいますが、殆どのケースが書籍をよんで実践しているのが大半だとおもいますし、もっと酷い場合はネット記事の聞きかじりをつぎはぎして”なんちゃってScrum”をやっているケースがあると思います。Schwaber氏やSutherland氏に由来する団体のトレーニングをうけたスクラムマスターが正しくScrumであると自負できるScrumを実践している、という会社は少ないでしょう。



DDDもそうですが、聞きかじりや独学でなんとなくやっている場合、高速高品質を実現できないどころか、地獄に繋がることもありえます。正しく学ばれ実践されているかを気にする必要があるでしょう。

悪い会社に騙されて入社しないためには「御社は速度重視ですか?品質重視ですか?それとも高速高品質?」と質問をするとよいでしょう。品質重視、高速かつ高品質、あるいは速度重視だけど品質も疎かにはしてないよ、と答えると思います。速度重視と断言されたら逃げた方がよいでしょう。

次に「高速高品質を目指すためにどのような手法を?」「その手法が正しく実践されている根拠はなにか?」と問うとよいでしょう。

過去に地獄を見つつも幸運にも成長できた会社か、あるいは別で地獄をみた人が治めている会社であれば、納得できる解答を返してくださることでしょう。

マッチョエンジニアは
あえてスタートアップもあり



スタートアップにはいるな、と散々申し上げましたが私自身は現在、SUGARというスタートアップの創業時からCTOを務めています。というより私であればむしろスタートアップに入らなければならない、とも考えています。

なぜなら、たまたまですが、過去さまざまな企業で地獄を見て、幸運なことに生き延びることができ、幅広い経験を積むことができました。国内有数のユーザー数を誇るサイトを作ったものの品質が低いことにより地獄のような思いをしたこともありますし、レガシーの固まりで地獄のような状況だった会社を高速高品質な開発を行える文化に改造し、自信を持って人を採用できる会社にしたこともあります。

いずれも生存バイアスにすぎないのですが、これにより何でもできるエンジニアになったことも事実です。自分以外にも沢山そういう方はいらっしゃるでしょう。そういう百戦錬磨のエンジニアは、あえてスタートアップにいって、創業当初から高速で高品質のプロダクトが開発できる環境を構築して、エンジニアチームを育成していただきたいと考えています。

全ての開発は高速高品質を目指すべきです。スタートアップには難しいのですが、そういう人が入ってくれれば幸福な職場が一つ増えるかもしれません。

努力を続けよう

スタートアップであれ大企業であれ、高速高品質の実現と維持のための努力をしなければ見向きもされなくなる、という時代は遅かれ早かれやってくるとおもいます。あるいはもう来ています。

申し上げたとおり、スタートアップだと品質にも気を配るということは至難の業ですが、それでも努力しなければなりません。スタートアップだからプロダクトは新しくコードはきれいで裁量も大きい!というのが当然と言われる時代を作らねばなりません。
そのような日がやってくるまで、私は言い続けます。「スタートアップに入ってはいけない。地獄を見るから」と。

《前編はこちら

杉谷保幸氏プロフィール
2006年株式会社ドワンゴにて新卒入社。 ニコニコ動画・ニコニコ動画モバイルに携わった後、ニコニコ生放送の初代リーダーを務め社長賞MVPを2年連続受賞。その後も「Niconico Live Encoder」「SmartySmile」などを企画開発。
2013年セプテーニグループの株式会社セプテーニ・オリジナルとコミックスマート株式会社でCTO務め、http://ganma.jp/を作成しつつ開発文化を整えた。2017年よりSUGAR株式会社でCTOを務め、芸能人向けライブアプリ"SUGAR"を立ち上げる。

この記事はどうでしたか?

おすすめの記事

エンジニア向け求人特集

BACK TO TOP ∧

FOLLOW