ハッカソン参加ガイド
自己紹介をします。2012年にSegmentFaultが初めてハッカソンを開催したとき、私は参加しました。SegmentFaultは現在、ハッカソンを中国に持ち込んだ組織として認識されていますので、私も国内のハッカソン参加者の中では最初の方に入るでしょう。2012年から2014年の間に、私は大小さまざまなハッカソンに参加し、良い成績を収めたこともあれば、悪い成績を取ったこともあります。良い主催者を見たり、ひどい主催者を見たりもしました。圭爺に脅迫されて、この記事を書くことにしました。参加者の視点からハッカソンについてお話しします。
ハッカソンとは
主流メディアの大々的な宣伝により、「ハッカー」という言葉は一般の人々の印象の中でネット犯罪者と同義になってしまいました(そのため、業界内では本来の意味の「ハッカー」を表現するために「ギーク」という言葉が使われるようになっています)。しかし、ハッカソンにおける「ハッカー」は、プログラミング技術が非常に高く、短期間でプロトタイプを実現する能力が非常に優れた人を指します。ハッカソンとは、短期間でプロトタイプを実現する能力を競うコンペティションです。一般的な競技時間は24、36、48時間で、参加チームまたは個人は、指定された時間内に0から1を作り出し、アイデアや完成度などの観点から製品を評価されます。
参加目的を明確にする
一般的に、以下のような参加目的があります:
技術を磨くため
私はほとんどの場合、技術を磨くためにハッカソンに参加しています。そのため、普段やらないことをやったり、普段使わない技術を使ったりして、短時間のプレッシャーの中で新しい知識を迅速に習得するよう自分を追い込んでいます。この技術を使って良い製品を作ることができれば、知識の応用レベルが良好であることを示すことができるでしょう。
もしあなたがハッカソンに参加する目的が技術を磨くことであれば、ぜひ自分の快適ゾーンから抜け出し、特に難しくない学習エリアで技術選定を行って製品を作ることをお勧めします。
仕事で一年間クソを作ったので、たまには楽しいことを書くため
多くの働くプログラマーは、製品マネージャーに圧迫されて要求を変更し続けており、自分が興味のあるクールなものを書く時間がほとんどありません。結局、すべての会社がGoogleの「20%ルール」を持っているわけではありません。したがって、ハッカソンに参加することは良い機会です。そのため、あなたの重点は作品の完成度に置くべきです。なぜなら、24時間が過ぎた後、あなたは再びクールなものを開発するための大量の連続した時間を持つことはないかもしれないからです。なんとも辛い状況です。
投資を得るため
一部のコンペティションでは、投資家をゲストとして招待することがあります。このようなハッカソンには、多くのスタートアップチームが参加し、皆が非常に頑張ります。しかし、他の人は「楽しむためにコードを書く」あなたは「お金のためにコードを書く」ことになります。だから、あなたはチートして、あなたのチームがすでに半年から1年かけて開発した作品を持ち込んで、強引に24時間で完成したふりをするのが良いでしょう。これには何の恥もありません。資金調達のためには、この程度の手段は許容されます。他の人があなたを陰で非難しても気にしないでください。彼らとあなたの目的は異なり、重点も異なるのですから、これは普通のことです。
優れた人々と出会うため
投資家の他にも、ハッカソンでは次のような人物に出会うかもしれません:主催者の優れたプログラマー、参加する優れたプログラマー、ゲストの中の優れたプログラマー、オープニングスピーチの優れたCEO、優れたプログラマーを採用しようとする優れた企業のHRなどです。ですので、他の人と話す勇気があれば、顔を売る効果はかなり良いです。
もしあなたがハッカソンに参加する目的が優れた人々と出会うことであれば、あなたの最終目標はこの機会に何人の人とWeChatを交換できたかということです。
賞を獲得するため
ここでの「賞」とは特別賞を指します。ほとんどのハッカソンにはスポンサーがあり、スポンサーはしばしば彼らの「特別賞」を提供します。中には非常に魅力的な賞品を提供する特別賞もあります。例えば、最新のApple製品を贈るものや、スポンサー自身の最新製品を贈るもの、さらには直接現金を贈るもの(愚痴を言うと、クーポンを贈るのは本当にケチで、誠意がないです)。
一般的に、特別賞の審査員はスポンサー自身であるため、最初からスポンサーが提供するSDKやクラウドサービスに基づいて作品をカスタマイズするべきです。SDKをどれだけ使えるか、クラウドサービスをどれだけ使えるかを最大限に活用してください。さらには、開発の過程でスポンサーにあなたの作品を見せて、スポンサーの前で存在感を示すことも、賞を獲得するのに役立ちます。
注意事項
睡眠
これは人によって異なり、作品の進捗にも関係しています。徹夜するために徹夜するのは避けるべきで、体が資本ですから。
チームを組むか個人か
全栈開発者の中には、自分で書くのが非常に早い人もいますが、他の人と協力すると分担がうまくいかないことがあります。もし完全に分離できるのであれば、gitを使わなくても大丈夫です。短期間で開発するプロジェクトの規模は大きくならないからです。もしチーム協力が本当に合わない場合は、一人でやるのも問題ありません。
MVP
業界内での「リーンスタートアップ」に関する理解は、ここ2年でかなり理性的になりました(主にネイティブアプリ開発がリリースを必要とし、AppleのApp Storeでは7日間も待たされるため、Webは素晴らしい)。しかし、ハッカソンはリーンスタートアップの指導思想を完全に実践すべきです。実際、ハッカソンで最後に競う製品は最小限の実行可能製品(Minimum Viable Products)です。したがって、開発中にユーザー登録やログインが不要であれば省略し、余分な機能が不要であれば省略し、迅速に進められるものは迅速に、汚くても構わないものは汚く進めてください。すべては、最後に皆の前でコア機能が完成した製品を展示し、あなたが何を作ったのかを理解してもらうためです。
したがって、Webアプリができることは、iOSやAndroidアプリを開発する必要はありません。あなたのチームの開発速度に自信がある場合や、今回の参加目的がiOSやAndroid開発の練習である場合を除いて。
Microsoftファンは私を批判しないでください ^v^
デモの準備
最後のデモは非常に重要です。開発中にもどのようにデモを行うかを考慮する必要があり、デモの効果を良くするために製品の大幅な変更も価値があります。デモの効果を考慮して、どのような製品を作るかを考えることもできます。
したがって、MVPの原則とデモの効果が対立する場合は、デモを優先してください。これは、インターフェース(シンプルで清潔)、体験(シンプルなプロセス、例えばドラッグ&ドロップ)、アニメーション(ハードカットは避けるべき)に多くの時間をかけることを意味します。コア機能はモックサービスを使っても構いません。動作すれば大丈夫です。
デモ中には、AirServerやReflectorなどのツールが必要不可欠です(あなたの作品はモバイル端末の作品である可能性が高いです)。PPTにあまり時間をかけることはお勧めしません。なぜなら、製品の開発に多くの時間がかかるからです。また、あなたの各PPTは実際には観客の興味を引くためのものであり、観客はあなたの製品のデモを見たいのです。PPTはあなた自身を簡単に紹介し、あなたの作品を一言で紹介するだけで十分です。当然、あなたのKeynoteのスキルに自信があり、Keynoteがデモに欠かせない要素であると確信している場合は、具体的な状況に応じて分析する必要があります。
神兵利器
ハッカソンは海外で比較的早く登場し、GithubにはHackathon Starterのような素晴らしいツールがあります。これにより、皆さんは迅速に作品を完成させることができる技術スタックを選択するべきです。何でもMEAN、LAMP、Rails、Djangoなど、できるだけ早く進めることが重要です。速さが最優先です。
よくある落とし穴
私が言う3つのよくある落とし穴があります:
ネットワーク
主催者は常に会場の帯域幅の耐久力を過大評価するようです。私は国内の某インターネット大手の青春夢杯に参加したことがありますが、ネットワークは全く使えず、最終的にはネットカフェに行ってコードを書きました。信じてください、携帯のデータ通信をノートパソコンに共有する準備をしておくべきです。
チート
私は再び国内の某インターネット大手の青春夢杯を例に挙げます。その2日間、私と私の仲間はさまざまな困難を克服し、ほとんど寝ずに「LydiaBox」という作品を完成させました。そうです!後に「IDGキャンパス起業コンペ」で1位を獲得した作品であり、現在資金調達を受けている云集です。
結果、あなたはどう思いますか?展示の際、名門校のチームが、会場でほとんどネットが使えない48時間を経て、「私たちの製品は現在iOS、Android、Windows、Mac、Linuxに対応しています」と紹介しました。私は本当に驚きました!遊びたくないなら、参加しないでください。
ハッカソンでのチートを防ぐための良い方法はありませんし、チートは良くないですが、理解できることでもあります。あなたの24時間を楽しんで、クールな製品を作りましょう、just for fun。もしあなたが本当に優れていて、あなたの製品が優れているなら、ハッカソンで自分を証明する必要はありません。
当時は非常に腹立たしかったですが、今ではこれが私の考えです。
愚かな審査員
再び国内の某インターネット大手の青春夢杯を例に挙げますが、審査員の中にはインターネット業界の専門家が数人しかおらず、他の大部分は大学の教師や教育部のリーダーでした。彼らはハッカソンの審査員を「挑戦杯」の審査員と何の違いもないと考えています。彼らは依然として「xxxに基づくホテル管理システム」や「xxxに基づくデバイス管理プラットフォーム」といった作品をMVPの観点から評価しています。その中の一人の中年審査員は、製品の書道が純粋かどうかについて真剣に疑問を呈しました。
まず、信頼できるハッカソンでは、参加チーム同士が互いに投票し、審査員は全体の意見の一部に過ぎません。もし一つのハッカソンの受賞状況が完全にゲストによって制御され、審査員がインターネット業界の人々でなく、ハッカー精神を理解していない人々であれば、そのようなハッカソンには参加しない方が良いでしょう。