📝

Web3ハッカソン 入賞 Tips

2023/12/10に公開

はじめに

こんにちは! no plan inc. にてエンジニアやってます @somasekiです。
これはno plan inc.の Advent Calendar 2023の10日目の記事です。

今回は、僕がこの一年くらいで参加したWeb3系のハッカソンについて、反省会の要素も含めて、自分のチームが入賞できたときのことや、入賞した他のチームを見て気づいたことを、入賞する(プライズを取る)ためのtips(コツ)としてまとめました。

これからハッカソンに初参加するという方はぜひこれを読んでから参加してほしいです。

すでに参加経験のある方は、共感できる・できない部分を感じて楽しんでほしいです。

Web3系だけに留まらず、他のハッカソンで勝つための立ち振る舞いとしても参考にできる内容だと思います。

前提

  • オンライン、オフライン含めたWeb3系のハッカソンに限る

  • エンジニア視点

  • ハッカソンのルールや審査方法によって勝ち方が変わる

僕のハッカソン参加遍歴

説得力が上がるかはわからないですが、僕のハッカソン参加遍歴を残します。
ちなみに現在の僕のエンジニア歴は3年半くらいで、Web3歴は2年くらいです。

参加遍歴
年.月 ハッカソン 期間 チームメンバー 結果
2022.3 Astar Network Hackathon 数週間 Discordで知り合ったエンジニアの方 入賞ならず(ハッカソン後に別プロジェクトへメンバーとして参加できた)
2022.9 ETH Online 数週間 Discordで知り合った、オーストラリア人2人(Designer、B.E.)、東欧系の人(B.E.、 F.E.)2人 途中でチームが自然消滅
2022.11 Tokyo Web3 Hackathon 数週間 noplan-inc メンバー(B.E.、B.E.、F.E.) 入賞ならず
2023.2 Fracton Hackathon 数週間 noplan-inc メンバー(B.E.、B.E.、F.E.) Dentsu Award & The Graph Award
2023.4 EthGlobal Tokyo 2日 当時働いていたプロジェクトのメンバー(PM、B.E.、F.E.) Superfluid Top Prize
2023.4 WEB3 x Entertainment Creative Hackathon/Ideathon 数週間 noplan-inc メンバー(B.E.、B.E.、F.E.) 予選選考通過
2023.6 ETH Seoul 2023 2日 Discordで知り合った韓国人3人(PM、Designer、F.E.) Worldcoin Top Prize
2023.6 AI + Crypto Hackathon 数週間 知り合いのエンジニア2人(F.E.、B.E.) 3rd Place
2023.7 CryptoLand Bootcamp 2 数週間 1人 途中離脱
2023.7 EthGlobal Paris 2日 Discordで知り合ったスイス人(PM)、ドイツ人(B.E.)、シンガポール人(PM) MakerDAO 2nd Prize

要約

結論だけ知りたい人は先に

  • チームメンバーとプロダクトのアイデアはハッカソン前に決めておくとかなり良い
  • ハッカソン中はこまめな進捗管理とタスク期限を決める
  • 勇気を持って機能を減らしたり、提出プライズを減らす
  • ドキュメントとプレゼンを制作、練習する時間を必ずとる
  • ハッカソン後はお互いの頑張りを讃あおう

ハッカソン前

ハッカソンは準備で決まる

チーム・プロダクトアイデア・狙うプライズは事前に決めておくとかなり良い

チームやプロダクトを決める段階でかなり時間を食ってしまうことがありがちなので、事前に決めておくことをおすすめします。

もし知り合いや友人と参加する場合は、事前にプロダクトのアイデアや、ハッカソンへのスタンスを決めておいて、事前にハッカソンのSlack or Discordグループでチームメンバーの募集を呼びかけておきましょう。

もちろん1人で参加してそこでチームを組んでも、プライズを獲得することは可能です。ですが、初めての人といきなりプロダクト開発のコミュニケーションをすることはかなり時間とエネルギーを使います。
それがハッカソンの良さといえばそうもなりますが、すでに知った仲の人と組むチームと即席チームどちらが勝ちやすいかと言われるともちろん前者だと思います。

プロダクトのアイデアや使ってみたい技術に沿ったプライズをメモしておき、チーム選びやプロダクトの仕様に活用しましょう。

ハッカソンの入賞条件やルールにもよるんですが、プロダクトの事業化をそこまで現実的に考えなくて良いのであれば特に、プライズスポンサーが提供する技術・プロトコルからプロダクトの仕様を固めていくが良い場合が多い気がします。

プライズとそのスポンサーのプロダクト(プロトコル)について予習する

これはみんな当然のようにやってるのでtipsというかスタートラインに立つことに近いですが、とても大事です。

特に2日しかない超短期決戦ハッカソンだと、これをやってないと致命傷になります。
数週間のハッカソンだったとしても、事前に概要を理解しておくことで、アイデア出しのクオリティが変わってきます。

審査員の属性を把握する

審査員の人たちがどの会社、コミュニティ、どんな職種の人たちで構成されているかを確認しておきましょう。

エンジニアが多いのか、起業家が多いのか、異業種で構成されているのか等、把握しておくとプレゼンやドキュメント等の資料の作り方が変わってきます。

後でも説明しますが、エンジニア出身の方、もしくは現役をエンジニアが多くなればなるほど、ギークなプロダクト(見た目上ではわからないが、高度な技術的な挑戦が見られているもの)が高く評価される傾向があると推測します。

規約含め、ルールを熟読しておく

  • ハッカソンの開始時間、開発期間
  • プロダクトの提出方法・期限
  • チームのメンバー数上限

上記を必ずチェックしましょう。特に、コードをgithub等のサービスで公開する場合、コミットの日時がハッカソン開始日時より前にならないように、ハッカソンの開発開始時刻を過ぎてからレポジトリを作るようにしましょう。

また特に、ハッカソンで作ったものを事業化しようとしてる人は、提出したプロダクトのノウハウやアイデアをハッカソン主催者側が利用することに同意すると明記された参加規約があるハッカソンが過去にあったので、きちんとルールや規約を読み、参加しましょう。

トレンドと課題を理解する

ハッカソンが開催されるまでに、業界で流行っているプロダクトやよく議論されている課題について理解しておきましょう。それに対して真っ直ぐなプロダクトを作るのも良いですが、それを受けてさらに起こりうる未来の課題を予想したり、流行っているプロダクトの弱点を補ったりする形でプロダクトを考えることができます。

ハッカソン中

ハッカソンは、

  • チーム編成期間
  • 開発期間
  • プロダクト提出後の、プレゼン期間

に大きく時間を分けることができます。

チームをまだ組んでない人へ

目的を見失わない

なんとなくハッカソンに参加して、なんとなく自己紹介をDiscordに書いた人へ。

このハッカソンの目的を考え、見失わず、声をかけてくれるいろんなチームの人、Discordのチャンネルにいる人たちに声をかけてよく考えてチームに所属orチームを編成しましょう。

とはいってもチームの開発はすぐにスタートするのでなるべく早めにチームに所属しましょう。

なるべく多くのプライズ、競争相手の少ないプライズを選ぼう

単純なお話です。可能な限り様々なプライズに対応している技術スタックにすることをおすすめします。
複数プライズへの提出が可能な場合、事前になるべく多く決めておいて、実際にハッカソンが始めてから競争相手が少なそうなプライズに注ぐ力の比重をあげるという戦術もあります。

オフラインハッカソンだと、ブースでどれくらいの人が話に来たか、聞いてみて回るのが良いかもしれません。

こまめな進捗管理と取捨選択

これは開発期間が1~3日程度の短期間のハッカソンに特に当てはまりますが、
狙うプライズ(≒使う技術)について、優先事項の共有や細かい進捗管理が必要になってきます。

こまめに進捗管理をするために、メンバーそれぞれのタスク期限を決めて、それまでに完了できないときの対策も考えておきましょう。使用する予定だったスポンサーのプロトコルを使わない、機能を大幅に減らす等の判断を早く行う必要が出てきます。

タスクの途中で問題が発生した場合は、すぐにチーム内に共有して解決策を考えましょう。

途中で誰かの開発部分が完了できないとなった場合のリカバリーを迅速に行わなければいけません。

既存プロダクトをどんどんコピーしよう

これはハッカソン前の準備でも言えることなんですが、すでに世に存在してるプロダクトを把握してそれを改良したようなプロダクトの方が、ハッカソンではプレゼンしやすいことがあったり、審査員側もプロダクトの概要を理解しやすいです。

また特にフロントエンドは、短いハッカソン期間ではUIデザイナーがいたとしても1からフロントエンドコードを書くと時間がかかるので、既存のコードやスポンサーが提供してるドキュメントに書かれているexampleコードやUIをどんどん使っていきましょう。

スポンサーとのコミュニケーション

開発期間中は、スポンサーに関わる技術的な問題やつまづきがあったときはすぐにテキストで質問しましょう。

期間中はかなり早く返信が来るはずです。

オフラインハッカソンであれば、すぐにそのスポンサーブースに行って、直接技術の担当者に相談しましょう。

何度もいくことで、顔やチーム名、プロダクトの内容をプレゼンする前から把握してくれています。

動くデモを作り切ろう

開発中どんなに難しくても、期間中では不可能な実装だと判明したとしても、動くデモは必ず作りましょう。

最悪1プライズのプロトコルを使っただけでもいいですし、フロントエンドだけの実装で裏では本来実装したかったプロトコルが使われている風のものでも良いです。

プライズを取りたければ、デモがないと話にならないです。

なので、いろんなプライズに提出しようと思っていたけど、現実的に難しい、どのプライズを切るか迷った際は、実装が簡単なものだけを残して残りは一旦切りましょう。判断の速さが大事です。

ドキュメント・プレゼンが結構大事

結局はプロダクトを提出した後に、審査員が確認するドキュメントとプレゼンテーションがかなり大切です。

審査員の方達は、短い審査の時間で多数のプロダクトを確認する必要があります。参加チームが多ければ多いほど、コードを詳細に確認することができなくなります。
その際に確認するのは、GithubのREADMEとプレゼンテーションです。

オンラインだとプレゼン動画、オフラインだと直接プレゼンします。

PM役の人は、開発期間の時間に事前にドキュメントやプレゼンの資料を作る時間を確保して開発しましょう。
ハッカソンでは開発よりもこちらの方が大切と言っても過言ではありません。

ハッカソン後

ネットワークは無限大

ハッカソン後に広がる人脈は無限大です。活用しましょう。

メンバーとの交流

結果はどうあれ、ハッカソンで共にプロダクトを作った戦友と語りましょう。その日にご飯に行くことをおすすめします。ここから仕事に繋がったり、ハッカソンのプロダクトを引き続き開発続けたりすることもあります。

何より、同じ目的に向かって全力を尽くした仲間とは、強い絆が生まれると思います。

他のチームとの交流

他のチームの人とも話しましょう。今回のプロダクトのこと、今後の仕事や次のハッカソンのヒントになるようなアイデアが得られるかもしれません。何よりも人との

スポンサーとの交流

プロダクトに対するフィードバックをスポンサーからもらいましょう。また、Discord等の連絡手段はあるので引き続き連絡を取り続けて、別のハッカソンであった際にスムーズなコミュニケーションが取れるようにしましょう。

ハッカソンも成長する

ここまでお伝えしてきたtipsですが、今後開催されるであろうハッカソンでも十分活用できる内容だと思います。ですが、小手先感が感じられるものはどんどん通用しなくなっていくと思います。
ハッカソンも進化します。

おわりに

改めて、

  • チームメンバーとプロダクトのアイデアはハッカソン前に決めておくとかなり良い
  • ハッカソン中はこまめな進捗管理とタスク期限を決める
  • 勇気を持って機能を減らしたり、提出プライズを減らす
  • ドキュメントとプレゼンを制作、練習する時間を必ずとる
  • ハッカソン後はお互いの頑張りを讃あおう

今回はWeb3ハッカソンについてコツのようなものをまとめました。実は最近Web3とは全く関係のないハッカソンにも出場して、このWeb3ハッカソンで培ったtipsが役にたちました。逆にWeb3系のハッカソンでは見られなかったtipsもありました。コミットの切り方やCI/CD周りも評価の指標として加わっていたことに驚きました。

何にしろ、ハッカソンは短い期間で開発し切るための強制力がかなりあって、エンジニアとして成長できてることを感じられるので好きです。

no plan株式会社について

  • no plan株式会社は 「テクノロジーの力でZEROから未来を創造する、精鋭クリエイター集団」 です。
  • ブロックチェーン/AI技術をはじめとした、Webサイト開発、ネイティブアプリ開発、チーム育成、などWebサービス全般の開発から運用や教育、支援なども行っています。よくわからない、ふわふわしたノープラン状態でも大丈夫!ご一緒にプランを立てていきましょう!
  • no plan株式会社について
  • no plan株式会社 | web3実績
  • no plan株式会社 | ブログ一覧

エンジニアの採用も積極的に行なっていますので、興味がある方は是非ご連絡ください!

Discussion