ども、@kimihom です。
まぁ以前、ハッカソンでいざこざを起こしてしまったわけだけども(その節はご心配おかけしてすみません)、ハッカソン自体はやっぱり好きで、今回良さげなハッカソンがあったから挑戦してみた。結果としては残念なことに入賞すらできなかったのだけども、負けたからこそ得られる学びってのが多くあったのでここに記そうと思う。
今回のハッカソンは2日間あって、その中でゼロからモノを作るっていう形式だった。ほとんどのチームは作りながら紆余曲折を経て何かしらのプロダクトを作っていたようだったけども、私のチームでは最初の1日目全てをかけて"何を作るか"をひたすら考え抜いた。
1日目のたった5~6 時間で考え抜いてできあがったアイディアなんて、実際にうまくいくなんて確率はとても低いわけだけども、スタート時点を踏み誤って無駄な時間に費やすよりはマシだと思うからである。これは初心者エンジニアがいきなり開発を始めるのに対し、ベテランエンジニアは事前に設計してから作り始める、といったような形に非常に近い。ちゃんと作るものが決まれば、その次の 5~6時間でちゃんとした動くプロダクトを作れる自信があったから、というのも理由としてはある。"経験から得られたスキル"とでも言えるのかもしれない。
結果的に、とても自信のあるプロダクトを完成させ、これなら優勝できる!っていうレベルまで作ることができた。自分たちが何時間も考えた末に出したアイディアを作りきることができからだ。正直な所、結果発表前までは(いつも通り?)自分が優勝だと確信していた。
学んだこと
でも勝つことはできなかった。それは私が "プロダクトを知って作る" ということに慣れ過ぎてしまったが故の弊害というのがあると感じた。負けたからこそ反省するっていうアクションができるもんだね。だから負けてよかったと今は思っている。
以下、2つに分けて感じたことをまとめる。
"このアイディアなら作れる" の罠
「これなら作れるから、これを作ろう。」そう思った時は確かに作れるし、作れなかったっていう失敗をしなくて済む。それなりに経験の積んだエンジニアなら、必ずそういう傾向に陥る。かくいう私も、最近はあらかじめ自分の出来る範囲で決める傾向が強い。その反面、学生のような若いエンジニアは最後の発表で「これを作ろうと思ったんですけど、できませんでした」 っていうプレゼンが多い。それは経験がないがゆえに、大きな大志を持ちすぎ、それが裏目に出てしまったというわけだ。私たちから言えば、"経験が足りんな" という一言で済まされる。
でも、ハッカソンで結果が出なかったと言って、そのアイディアがダメだったのか、といえばそういうわけではない。そのコンセプトだけでも説明し、それがゆくゆく実現可能で本当に課題解決になっているものだったりしたら、他では勝てる可能性があるし、むしろ事業が大成功する確率すらある。"大成功"って意味では、その人が予め作れるものベースでサービスを考えるよりも、完全な理想ベースで考えたほうが大成功できる可能性を秘めている。
ベテランだからといって、"それは確実にできる" ベースで考えてばかりではいけないな、と反省した次第だ。"そんなことできない"を"できる"に変えることこそ、本来のベンチャーやスタートアップのあるべき姿なわけだからね。
"このアイディアは他で実現されている" の罠
スタートアップ界隈にいると、毎日たくさんのサービスを目にする。たまには「なるほど、こういうアイディアもあったか」と感心するようなのも出てくる。そしてハッカソンではそのようなアイディアを出すことに躍起になる。そんなの見つけられたら誰も苦労しねーよwって話だけど、理想を追い求めてしまうのよね。実際にハッカソンとかで他の人の発表を聞くと、「もう既にそれあるよね、~のパクリじゃね?」っていうのがどんどん出てくるわけ。
ここがまたベテラン勢の落とし穴で、いろんなサービスを知りすぎてしまうと何かアイディアが思いつくたびに「あれのパクリやな」ってなって却下してしまうことが多くある。
ところで何かウェブサービスを作ろうと思った時に、世の中のあらゆるサービスを知りすぎてしまうと「もう既にあるよね」っていう結論で終わらせてしまうことがあるのだけども、それはもったいない場合もあるってのを学んだ。あったとしてもちょっと変えたり今のより良いのを作ればいいだけだしな!
— Kiminari Homma (@kimihom) 2016年10月9日
私が優勝を逃して(大抵は準優勝)、他の人が優勝したってパターンのほとんどはこのパターンに当てはまっていて、その度に「あんなのもうあるやないか〜い」って思って準優勝したとしても自分が優勝したと考えがちだった。(ぶっちゃけ言うと今回の優勝作品も既にある考えのサービスだった)
でもそうじゃないんだね。その人がどのくらいその課題に対して本気で思っていて、どのくらい実現したいのかがあれば、既にそれが実現されているかどうかなんて関係ないのだ。もちろん予め知っていたらそれを使ってればよかったっていう結果にもなりかねないけども、既にサービスがあるってのを知らなかったからこそ、それを自信を持って説明し熱気になり開発ができるってのはある。図らずして全く同じプロダクトになるなんてのはありえないから、このやり方は大いにありなんだ。
究極のハックのために
いろいろ書いたけど、基本的には無知であることは有利には働かないことは確かである。ほとんどの確率で失敗する。
では本当の究極のハックってのはなんだろう?
それに関する知識・経験が豊富で、かつ新しいアイディアが無理だとわかっているけどもやる。 そんな超矛盾したような行動を起こせる(仲間を集められる)人が、一発逆転満塁ホームランを打つことができると思った。んでそれで実行できて実現もしちゃう人ってのは1千万人の内の1人くらいではないだろうか。あなたがそうなりたいならば、知識はあるけども、馬鹿になる必要がある。この意味はきっと本記事を読んでくれたなら分かることだろう。
終わりに
やっぱ他のエンジニアがどう考えてどうプロダクトを作ったのかってのは参考になる部分がある。負けたけども参加してよかったと思う。この負けをバネに、自分のサービスの開発に生かしていきたい。