HACKライフハックTRENDトレンドITエンジニアの求人・転職に+AgentGeekroidトップスキル「スタートアップがまともなわけ無いから入るな」【前編】SUGAR・杉谷保幸CTOインタビューskill「スタートアップがまともなわけ無いから入るな」【前編】SUGAR・杉谷保幸CTOインタビュー2019.08.29SUGAR株式会社インタビューエンジニアスキルスタートアップ杉谷保幸Tweetエンジニアはスタートアップ企業に入らないほうがいい!?いきなりですが「エンジニアはスタートアップ企業に入るな」と言わなければなりません。私は大学を卒業後ドワンゴに入社し、ニコニコ動画モバイルやニコニコ生放送などを開発していました。それから別の上場企業に転職しCTOを務め、現在はスタートアップであるSUGARのCTOを務めています。大きな会社にいたころに見えた景色と、小さな会社で今見える景色から「エンジニアはスタートアップ企業に入るな」と言わねばならないと考えています。かなりの確率で地獄を見ることになるからです。スタートアップを起業する人というのは起業せざるを得なかった人が大半で、大抵の場合人材も資金も持っていません。その中でプロダクトを作る方法は概ね2つになります。(1)創業者か、創業者に巻き込まれた人が頑張って作る。(2)外注するどちらも地獄に直結します。最近はシステム一本作成するのに必要なスキルが膨大です。ブラウザかiOS、Android等のフロントエンドのどれかを作る能力、バックエンドを作る能力、インフラを整えて運用していく能力が最低限必要で、それぞれが衛生を維持できるようにやっていかねばなりません。(1)の創業者か創業者に巻き込まれた人が作るというのは、その人が何でもかんでもできるスーパーマンであればいいですが、普通はそうではありません。何らかのスキルが足りない状況でどうにかして形にしていくことになります。お金もないので時間もありません。結果としてコードは汚く保守性は低くなるはずです。(2)の外注する、というのは発注側にお金がないので安普請になると思われますし、完成と納品が最優先になりがちで、受託側はきれいなコードを書いて保守性を高めようというモチベーションは持ちづらいです。これもできあがったコードは汚く保守性は低いでしょう。低品質のプロダクトに関わったエンジニアの末路は!?いずれにしても、スタートアップのプロダクトは低品質にならざるを得ない。そこに入社したエンジニアはどうなっていくかを考えます。いくつかのシナリオが考えられますが、最も幸せなパターンは、サービスがすぐに行き詰まってしまうことです。エンジニアは新たな職を見つけることになる。地獄が始まる前に終わる、あるいは短期間で終わるのですから、これが最も幸せです。次に幸せなパターンは、ピボットをしながら生き延びていくことです。ピボットをしなければ倒れてしまうので、追加機能を、速度最優先で開発していかなければなりません。ゴミのようなコードの上に、ゴミのようなコードを積み重ねていくことになります。地獄は地獄なのですが、「まだあてられるかもしれない」という希望があります。最悪のシナリオは、ゴミのようなコードで書かれたプロダクトがヒットしてしまった場合です。人気になってユーザー数が急増して、莫大なトラフィックが押し寄せてくる。それまで見て見ぬ振りをしていた問題が一気に噴き出してくる。サービスは動いていて、ユーザーもたくさんいるので止めるわけにはいかない。その状態で、問題をフィックスさせていくというのは想像を超えた労力が必要ですし、技量も必要です。サービスがあたっているので、「こういう機能を追加したい」という話が次々と出てくる。修正はしなければならず、機能も追加しなければならない。速度最優先が求められる。エンジニアは辞めていくのに、新しくは入ってこない。プレッシャーばかりが大きくなる。会社が倒れなくても、エンジニアが倒れる。スタートアップに入るとこのような地獄に遭遇する確率が高いと思われるため、お薦めすることはできません。地獄から抜け出す道には大規模リファクタリングやフルリメイクがあります。「優れたエンジニアが獲得できた、経営者に理解がある、大量の資金がある」といった条件が整えば、プロダクトをきれいなコードで書き直して、保守性の高いプロダクトに作り変えることができます。これは楽しい仕事ではありません。膨大な費用がかかるのに機能は増えない。移植しきれない機能もでる。ビジネス側からもユーザーからも責められる。誰からも褒められない仕事です。成し遂げれば幸せになれるでしょう。これを成し遂げていないスタートアップには地獄があると考えられます。創業当時のまま長く生き残っているサービスは、ほとんどこのパターンなのではと考えたいです。大量の屍を積み重ねつつ強引に生きているサービスもあるかもしれませんが...例外的なスタートアップも存在するもちろん例外も存在します。ひとつは最初から各分野に十分な技量をもったフルスタックエンジニアが集まって起業したスタートアップです。私がいるSUGARはこれです。最初から全部きれいに書ければ高速高品質な開発をできるので幸せです。ひとつは、必要な技術知識のレンジが狭くて済むビジネスで勝負をしているスタートアップです。Firebaseなどを活用すればバックエンドやインフラの知識が無くても実現できる企画はあるでしょう。作る物が少なければ最初からきれいに、あるいは後からきれいにすることは容易です。やれることに制限が多い、まねされやすい、といった欠点があるとおもいます。エンジニアは「スタートアップに行こう」などと考えていけません。かなりの高確率で地獄を見ることになります。それがわかっていてあえていくのでしたらかまいません。ほとんどのエンジニアは倒れますが、ごくごく一部のエンジニアが生き残って、経験値がついて、筋肉もりもりマッチョエンジニアに成長できることもあります。とてつもなく低い確率ですけど、それを狙ってスタートアップにいくのだったら問題ありません。普通はメンタルがやられますけど。なんにせよ開発に気を配らない経営者に「弊社はイケてるぜ」と勢いだけでその気にさせられて地獄に落とされるということだけは、絶対に避けていただきたいです。エンジニアは大企業を目指すべきか。これもなんとも言えません。大企業であればチームを組成しやすいため、最初からきれいなコードで書かれることもあり幸せに開発を行える可能性が抜群に高いです。自分が配属された部署の狭い範囲の中でしか経験値を積んでいくことができません。問題があって他の会社に行きたくてもスキルが偏っているため転職できず途方に暮れる、というのもありそうな話です。スタートアップにいったら、エンジニアはかなりの確率で地獄を見ることになります。大企業にいっても、幸せになれるとは限りません。エンジニアはどうやって会社を選んだらいいのでしょうか。杉谷保幸氏プロフィール2006年株式会社ドワンゴにて新卒入社。動画・ニコニコ動画モバイルに携わった後、ニコニコ生放送の初代リーダーを務め社長賞MVPを2年連続受賞。Encoder」「SmartySmile」などを企画開発。2013年セプテーニグループの株式会社セプテーニ・オリジナルとコミックスマート株式会社でCTO務め、http://ganma.jp/を作成しつつ開発文化を整えた。2017年よりSUGAR株式会社でCTOを務め、芸能人向けライブアプリ"SUGAR"を立ち上げる。Corporation。