ハッカソン参加レポート vol.3 ~敗因を考える~

🕓本記事の最終更新日は です。

筆者のスペック

参加したイベント

イベント名生成AI×旅行ハッカソン!AIによる旅行先提案機能を考え構築しよう
URLCompass
主催AVA Intelligence
参加対象者「2年以上のエンジニアリング経験をお持ちの方」

ハッカソンで優勝したい!

ハッカソンとは、エンジニア・プログラマーが集まって短期間でプログラムを作成し、その成果を競い合うコンテストのようなものです。

そう、ハッカソンには勝ち負けがあるのです。 私は今回のハッカソンで敗北いたしました...orz

本記事では、ハッカソンで優勝するために必要なことを考えていきます。

技術

■技術選定
我々はPython × Streamlitで作りました。 Python × Streamlitにしたのは最適解だったと思います。 Streamlitは簡単なWebアプリケーション作成のために、私が一押ししているフレームワークです。

■ソース管理
社用PCをお持ちの方でGitHubを使えない方がいたのはもったいなかったな~と思います。 できるだけプライベート用のPCを持参することをお勧めします。 ソース管理はほとんどの場合がGitなので、使ったことない人は練習しておきましょう。 はじめてのGit↗

■技術力
技術力に関しては、正直どのチームあまり変わらなかったと思います。 個々には当然差がありますが、チームとしての総合点は変わらないように見えました。つまり、今回の敗因は技術力ではないと思うのです。

コミュニケーション

私が今回の反省から導いた結論は、 ハッカソンの勝敗はコミュニケーションで決まるということです。

ハッカソンでは色々な人が来るのですが、基本的に初めて会う人と開発を進めます。 そのため結局は、コミュニケーションがうまくとれているチームが優勝する(もしくは良いものを作る)のだと気がつきました。 実際に、優勝チームはとても仲が良く、コミュニケーションを活発に取っている印象でした。

実は筆者はハッカソンなどで積極的に話をする方です。 しかし、ハッカソンがスタートしたときのコミュニケーションをしっかりとろうという意識が、開発中は集中してしまい薄れていきました。 そして、結果的にコミュニケーションが疎かになってしまいました。 アラームの活用など、コミュニケーションを忘れないための工夫をするべきだったと考えます。

直接的な敗因

私達のチームは4人でした。2人づつに分かれて開発を進めました。分かれて作ったものをくっつけるときにうまくいかず、それを解消できないまま終了時間を迎えてしまったことが直接の敗因だと思います。

しかし、この問題ももっとコミュニケーションをとっていれば防げたと思うのです。

自分だけが変わっても意味がない?

自分だけがコミュニケーションをとろうと意識しても、みんなも同じ気持ちじゃないと意味がないじゃないか!と突っ込みたくなる方もいるかもしれません。

ハッカソンは大体1チームあたり3~5人のことが多いです。少人数のチームだから、一人の頑張りがチームの成果に直結します。

おわりに

皆さんはハッカソンで優勝したことはありますか?

若手エンジニアはリーダー経験がない人も多いと思います。少人数でリーダーシップが発揮しやすいハッカソンでリーダーシップをとる練習をしてみましょう!

ハッカソンの参加レポートは他にもあるので、ぜひご覧ください。 vol.1↗ vol.2↗

最後まで読んでくださり、ありがとうございました。