ハッカソンで優勝する方法についての考察
概要
みなさん、ハッカソンは好きですか?
僕は大好きです!
あのとにかく開発だけに没頭している時間やギリギリプロダクトが完成した時に安心感、優勝した時の達成感などはハッカソンじゃないと味わえない要素です。
もちろん優勝しなくても楽しいんですが、どうせなら優勝したいってことでどうればいいのか
を自分なり考察していきます。
Profile
ハッカソン出場 6回
優勝 2回
そのハッカソンの特性を見極める
これ実は大事で、ハッカソンと言っても大きく分けで二つあると思っていて
審査の基準が
- アイデア + 技術力 のハッカソン
- 技術力 だけのハッカソン
だと思っています。
前者のハッカソンでやたら技術力高くてもアイデア次第で評価微妙になったり、逆に後者のハッカソンでアイデアが微妙でも技術力あれば優勝できたりするので、参加するハッカソンがどちらに分類されるのかを確認することは大事だと思います。
MVPを意識する
これも大事で、ハッカソンはアイデアソンではないため実際に動くプロダクトがないとそもそも土俵に立てません。なので、核となる機能はなんなのかを見極めてそれは必ず実装するみたいな事が必要です。
よくあるのが、最初から実装したい機能全部作ろうとしちゃって間に合わない事です。(経験済み)
とにかく妥協点を見つけて、動くものを作れるようにしたいです。
技術力で点数稼ぎ
正直アイデアの部分は、どうしようもない部分があります。なので技術点で点数稼ぐ方が簡単です。
技術点を上げるには
- デプロイする
- 最新の技術を使う
- マイナーな言語使う
が簡単で、わかりやすいです。
ただ、これだけではライバルと差がつきにくいので、
- ハッカソンらしい技術選定をする
- マイクロサービスアーキテクチャを採用する
な
どが今技術力を稼ぐのが良さそうです。
ハッカソンらしい技術選定とは、たとえば「しかく」というお題が出せれた時に
四角 = Cube と捉えて
- Cloudflare
- uptime kuma
- bigquery
- elixir
みたいな感じで頭文字だけで英単語作るみたいなことすると技術力を感じられて受けが良さそうです。
また、多言語かけるメンバーがいるときはマイクロサービスアーキテクチャが結構優秀で、様々な言語を簡単に使えるため技術力を稼ぎやすいです。
他には、 Wasmなんかも今だと評価高そうです。 とにかく他とは被らない技術選定が鍵になります。
睡眠
これついついやっちゃうんですが、ハッカソン期間中時間足りなすぎて寝ずに作業することがあります。悪くはないですが、せめてチームメンバー一人は寝てちゃんと発表できるようにしておくほうが良さそうです。
大体、終了から発表まで時間があったりするのですが、開発時間終わると一気に疲れが来るので発表でパフォーマンス出せないみたいなことがあります。これは結構勿体無いので対策したいです。
楽しむ
一番大事。
終わりに
ざっと自分がハッカソンで優勝するには必要だと思う事書いていきましたが、結局楽しむ事が大事です。たのしんで開発していると自ずといいものができるので楽しみましょう!
Discussion