メインコンテンツへスキップ

ArcBlock DevCon 2020 ハッカソン勝利へのガイド

冒志鸿(ArcBlock 首席执行官、首席架构师)
ArcBlockDevConDeveloperHackathon

著者: ロバート・マオ(ArcBlock CEO 兼チーフアーキテクト)

ArcBlock 初の開発者会議 DevCon2020 が幕を閉じると同時に、私たちのハッカソンが始まります。では、どのようにしてハッカソンに気軽に参加し、勝利を収めることができるのでしょうか? 今日、私は ArcBlock の創設者としてではなく、何度もハッカソンに参加して勝利し、そこから多大な利益を得てきたベテラン参加者の立場から、ハッカソンの参加テクニックを皆さんに共有したいと思います。

2006 年に出張でアメリカを訪れた際、偶然 Yahoo Open Hack Day という大規模なハッカソンイベントに参加して以来、私は過去数年間にわたり、このようなイベントに何度も参加してきました。その中でも、2012 年のサウス・バイ・サウスウエスト(SXSW)大会のハッカソンでは 2 つの部門で 1 位を獲得しました。SXSW はアメリカ、ひいては世界で最もトレンディな技術と人文が交差する大会であり、1 週間以上にわたって開催され、数万人が参加します。大会で開催されるハッカソンは賞金も高額で、挑戦しがいのあるものです。その後も Where 2.0、Startup Conference、インタラクティブデザイン会議 SIC(Seattle Interactive Conference)などのハッカソンで、何度もトップの座に輝いてきました。

私が Microsoft Research の FUSE Labs(Future Social Experiences Labs)で働いていたとき、私たちのチームもハッカソン精神を取り入れていました。「クリエイティブ・ウィーク(Creative Week)」と呼ばれる活動を毎年 1 週間行い、全員が日常業務から離れ、自由にチームを組んで突飛で興味深いプロジェクトを作成していました。後にこのチーム内活動は全社に広まり、サティア・ナデラが CEO に就任した後には、全社規模のハッカソンも組織されるようになりました。

ハッカソンがもたらす価値

ハッカソンはシリコンバレー文化の重要な構成要素と言えます。多くの成功したスタートアップ企業がハッカソンのインスピレーションから生まれており、いくつかの創業チームの旅はハッカソンから始まっています。私が感じるハッカソン参加の 4 つの大きな価値は以下の通りです:

  1. 全く新しいスキルの習得。 IT 技術に携わる者にとって、常に新しいことを学び続ける必要があります。ハッカソンは、短期間で全く新しい知識やスキルの習得に集中できる非常に貴重な機会を提供してくれます。
  2. 日常的な思考の限界を超える(Think out of the box)。 プログラミングをしていると、日々の開発業務が積み重なり、慣れてくるのは自然なことですが、コンフォートゾーン(快適な領域)に陥りやすくなります。ハッカソンへの参加は、仕事のコンフォートゾーンから抜け出すための良質な刺激となり、日常の思考の枠組みを突破して、新しい可能性を模索するきっかけになります。
  3. ソーシャルサークルの拡大、人脈の構築、スキルの披露。 GitHub がプログラマーの交際サイトだと言われるなら、ハッカソンはプログラマーのデートイベントのようなものです。過去のハッカソン活動での最大の収穫は、多様な友人を作れたことであり、彼らから多くのことを学び、人脈を大きく広げることができました。
  4. 時として得られる臨時収入。 これは思わぬサプライズのようなものです。例えば、過去に私が参加して獲得した賞金や Amazon AWS のクレジットなどは、合計で数万ドルに達し、スタートアップ生活の助けとなりました。

ハッカソンで勝つには?

ここでは、ハッカソンのプロジェクトで「勝利」するためのいくつかのテクニックを紹介します。

私がアメリカでハッカソンに参加し始めた頃、戸惑ったことがありました。自分では非常に得意げに思っていたアイデアやプロジェクトがデモの後に誰からも喝采を浴びず、逆に現場の多くの人々を熱狂させていた受賞プロジェクトが、自分には理解できないということがよくあったのです。後に、これは一種の「文化の溝」であることに気づきました。ハッカソンの目的は勝つことではなく、学び、楽しむことであり、いわばプログラマーの「武者修行」のようなものです。以下の小さなコツを把握すれば、プロセスをより楽しむことができ、もしかしたら大賞を獲得できるかもしれません。

1. アイデア、アイデア、そしてアイデア!

ハッカソンプロジェクトにおいてアイデアは最も重要です。一般的に、勝利するハッカソンプロジェクトは、素晴らしいアイデアで審査員や観客を驚かせるものです。

ハッカソンのアイデアは、クライアントプロジェクトや起業プロジェクト、さらにはビジネスコンテストのプロジェクトとも大きく異なります。多くの場合、ハッカソンプロジェクトは「クールさ」や「斬新さ」を追求します。それらのプロジェクトは、起業や収益といった観点からは必ずしも合理的ではないかもしれません。

2. プロジェクトは非常に、非常にシンプルに

第一に、プロジェクトがシンプルであればあるほど、大衆や審査員に理解されやすくなります。ハッカソンの審査員は必ずしもあなたの分野の専門家ではありません。観客の大部分は複雑で高深なものを理解しません。したがって、コンセプトが非常にシンプルなプロジェクトの方が、審査員や観客を引き付けやすいのです。

第二に、ほとんどのハッカソンでは、プロジェクトを非常に短い時間で実装することが求められます。そのため、確実に実装できるように、非常にシンプルである必要があります。実装の難易度を過大評価してはいけません。多くの場合、一つの小さなバグで半日潰れてしまうことがあります。例えば、私が参加した SXSW の大会では、少なくとも 2 つのチームの作品が私たちよりも素晴らしいと感じましたが、彼らはエンジニアリングの難易度やバグのために締め切りまでに動作させることができず、当然失格となりました。非常に素晴らしく、かつ少し複雑なアイデアがあり、完成させる自信があったとしても、まずは「保険」としてよりシンプルなバージョンを実装し、その後に時間をかけて洗練させていくことをお勧めします。

3. 本物のデモを重視し、PowerPoint やスピーチから脱却する

成功するデモは非常に重要です。プロジェクトの素晴らしいアイデアや高度なプログラミング能力は、デモを通じてのみ表現されます。ほとんどのハッカソンは「アンチ PowerPoint」です。つまり、凝ったスライドは加点にならないどころか、減点対象になる可能性さえあります。誰もが、実際に作られた動くものを見たいと思っているのです。

プロジェクトが開発できれば必ずうまくデモができる、と考えてはいけません。ステージでのデモの動作一つ一つは、実は綿密に設計されたプレゼンテーションのプロセスです。したがって、ハッカソンで成功を収めるためには、デモの過程でどのようにプロジェクトの思考回路を示し、自分の労働成果を具体化するかを考えることに時間を割く必要があります。

4. チーム

チームは人数が多ければ多いほど良いというわけではありません。実際、ハッカソンのチーム人数は多すぎてはならず、明確な分担と協力が必要です。ハッカソンの現場で巨大なチームをよく見かけますが、その多くは「おまけ」のような参加者であり、最初は賑やかでも、ほとんどが活動終了まで持ちこたえることができません。

ハッカソンにおける理想的なチームの役割分担は、全体の責任者 1 名、少なくとも 1 名のプログラマー、1 名のデザイナー、そしてデモの準備に集中するメンバー 1 名で構成されます。実際には、一人が複数の役割を兼ねることが多いです。そのため、複数の能力を総合的に持ち、互いにサポートし合えるチームメンバーがいることは非常に価値があります。

5. 学習と娯楽を重視し、勝敗にこだわりすぎない

ハッカソンに参加する主な目的は学習と娯楽です。試合に勝つことや賞金を得ることは、ここでは「副産物」や「サプライズ」であるべきです。学習し、挑戦するという姿勢で参加し、新しい知識を学べたかどうかに注目し、ライバルチームが提案した様々なイノベーションを鑑賞してそこから刺激を受け、最短時間で自分のアイデアを実現するために最善を尽くしてください。そうすれば、試合の結果がどうであれ、あなたは勝者です。

ArcBlock ハッカソンへの参加方法

今回のハッカソンはオンラインで 7 日間開催されます。6 月 21 日の開始から 6 月 27 日午前 8 時まで、開発者は指定された GitHub リポジトリにプロジェクトを提出し、6 月 28 日に参加者がオンラインビデオ方式でプロジェクトをデモします。審査員はプロジェクトの独創性、アイデア、エンジニアリングスキル、ユーザーエクスペリエンスの 4 つの基準に基づき、上位 3 名の勝者を選出します。勝者には総額 20,000 ABT、ArcBlock の 1 対 1 技術・ベンチャーキャピタルコーチングコース、および中信出版集団から新しく出版された新書のサイン本が贈られます。また、有効なプロジェクトを提出したすべての参加者に 100 ABT の報酬が与えられます。

どのようなプロジェクトを開発して参加すべきでしょうか? 私たちは、新しい Blocklet の開発、または既存の Blocklet への機能追加、あるいはその両方を推奨しています。イベントの公式サイトでは、以下のような例を挙げています:

  • 既存の ArcBlock 製品を Blocklet に拡張する
  • ABT ノード上の Blocklet アクティビティを監視および分析する
  • IPFS のような外部ツールを起動し、ABT ノード上でシームレスに実行する
  • ゲームや面白い Blocklet

また、GitHub 上に DApps のインスピレーションをリストアップしていますので、参考にしてください。

私たちのハッカソンの最も基本的な要件は、実際に動作するプロジェクトを作ることです。具体的な参加説明については、ハッカソン公式サイトを訪問して詳しくご確認ください。

今回の DevCon では、業界で初めて NFT(非代替性トークン)チケットとバッジを発行し、ユーザーから大きな熱狂と業界からの注目を集めました。これは私たちの ArcBlock NFT アプリケーションの始まりに過ぎません。より多くの技術ファンや ArcBlock コミュニティユーザーにハッカソンに注目・参加してもらい、NFT のさらなる遊び方を体験してもらうために、ハッカソン NFT バッジの配布ルールをアップグレードしました。参加者が獲得またはエアドロップを受け取れるバッジは、以下の 4 つのカテゴリーに分かれます:

1. チームバッジ: 参加チームのメンバー限定のプレミアムバッジ

  • チームで申し込みを行う
  • アイデア、コードを提出する
  • 無意味なコピー&ペーストでないこと(審査員が判断)
  • 各チームメンバーはチームバッジを 1 枚獲得できます

2. プロジェクトバッジ: デモに選出されたプロジェクトメンバー限定のプレミアムバッジ

  • プロジェクトが動作すること
  • 6 月 28 日の Demo Day への参加に選ばれること(審査員が判断)
  • 各チームメンバーはプロジェクトバッジ 1 枚と 100 ABT を獲得できます

3. 受賞バッジ: ハッカソン大賞を獲得した際のトップクラスバッジ

  • 6 月 28 日の Demo Day にて審査員がその場で選出
  • 各チームメンバーはプロジェクトバッジ 1 枚、受賞 NFT 証明書 1 枚、およびその他の報酬を獲得できます

4. 観客バッジ(3 つのレベル):

  • デモが可能な各プロジェクトについて、観客はバッジを 1 枚獲得するチャンスがあります
  • 観客はベーシックバッジを獲得します
  • チームバッジを持っている場合、アドバンスバッジを獲得します
  • プロジェクトバッジを持っている場合、トップバッジを獲得できます

参加を奨励するため、申し込みを行い、アイデアを提案し、実現に向けて努力したものの、最終的に形にならなかった参加者やチームに対しても、励ましとしてチームバッジ NFT を授与します。また、チームバッジを持っていると、その後の観客としての参加時に、各プロジェクトのデモでより面白いバッジを獲得することができます。

今回の大会は 7 日間という期間があり、中国の端午節の連休とも重なるため、意欲のある友人であればプロジェクトを動作させることは決して困難ではありません。

ArcBlock DevCon 2020 の 2 日目のチュートリアルセッションでは、エンジニアの Zhang Zhenqiang が、最もシンプルな React ベースの静的 Blocklet の作成方法と、Node.js を使用して動的な属性を追加する方法を実演しました:

このガイドに従えば、アプリケーションを立ち上げることに問題はないはずです。私たちのデモ Blocklet である 2048 ゲームも、このような静的なページの Blocklet です:

この 2048 ゲームのオープンソースコードリポジトリはこちらで参照できます:https://github.com/ArcBlock/static-2048

私たちの静的 Blocklet は、必ずしも React を使用する必要はありません。実際には、VUE や jQuery など、お好みのフレームワークを使用した HTML アプリであれば何でもよく、静的な HTML ページでも構いません。HTML ページが書け、他のフレームワークで Web アプリを書くことができれば、Blocklet を実装することは非常に簡単なことです。

このようなシンプルな Blocklet を実装するのは非常に容易ですが、本当にハッカソンで勝てるプロジェクトにするには、あなただけでなく他のチームも努力しているため、一定の挑戦が必要です。

もしあなたが経験豊富な開発者で、包括的なブロックチェーンアプリケーションを完全に体験したいのであれば、エンジニアの Wang Shijun が DevCon で行った 1 時間半にわたるこのチュートリアルセッションを学習することをお勧めします:

皆さんが私たちのハッカソン大会で大きな成果を上げられることを期待しています!