🐬

初めてのハッカソン参加記

2 min read

3/20.21に就活サイトのサポーターズさん主催「初めてのハッカソン ~オンライン開発合宿vol.1~」に人生で初めてのハッカソン参加をしてきました!

ハッカソンとは

ハッカソン(英語: hackathon 、別名:hack day ,hackfest ,codefest )とは、ソフトウェア開発分野のプログラマやグラフィックデザイナー、ユーザインタフェース設計者、プロジェクトマネージャらが集中的に作業をするソフトウェア関連プロジェクトのイベントである[1]。個人ごとに作業する場合、班ごとに作業する場合、全体で一つの目標に作業する場合などがある。時にはハードウェアコンポーネントを扱うこともある。ハッカソンは1日から一週間の期間で開催することがある。いくつかのハッカソンは単に教育や社会的な目的を意図に開催する。使用に耐えるソフトウェアの開発や既存のソフトウェアを改善することを目標としている場合もある。また、使用プログラミング言語、オペレーティングシステム、アプリケーション、API、主題や参加プログラマーの人数を定める場合がある。
 
ハッカソン - Wikipedia

「~な場合もある。~な場合もある。~な場合もある。」ってインチキ占い師みたいな感じですが、ざっくり言うとエンジニアが集まって数日で何かを作成するイベントのことです。

初めてのハッカソン ~オンライン開発合宿vol.1~

冒頭にも述べたように、私はハッカソンへの参加が初めて且つプログラムを日常的に作成してもないので自信が無く、加えて極度の緊張しいなのでどうして申し込み出来たのか自分でも分かりません(笑)
夏からのインターンシップを控える中、自身の経験や成果物の無さに焦っていたところ「初めてのハッカソン」と魅力的な見出しに160%の勇気だけで申し込んだのだと思います。
参加後の今、月並みですが参加していなければ知られなかったとてもいい経験だったと感じます。

キックスタート

週末の開催を前にハッカソンの説明と参加者の自己紹介の為のMTGがzoomでありました。
私と同じように、初めてのハッカソン且つ特段のプログラミング経験も無いという方が本当に多かったです。
仲間内でチームを組んで参加している人よりも、とりあえず参加して運営側に自動振り分けしてもらう人の方が多く私もその一人でした。
zoom後にチーム振り分けが決まり、すぐにSlackでの自己紹介に加えzoomによるビデオ会議で人となりや持っている技術について話し合うよう促されました。

事前MTG

事前MTGは計3回行い、当日までに制作物と担当割り当てを決めました。
制作物を決める段階では、メンバー各々が扱える言語が異なり知っている技術も異なるため、案に対してイメージを共有できなかったり、説明された技術を理解できないと言ったチーム開発ならではの苦しさがありました。
↓MTG直後のツイート

https://twitter.com/M4SHR0/status/1372217934341283847

ハッカソン当日

1日目は、事前MTGでやることを決めていたので進捗が良いように見えていました。
しかし、2日目になると芳しくないことが分かりますが作業をしかありません。
詰まることがあれば随時MTGを開き、ロスを減らす作戦に出ましたが、最終的には完成品を見ることなく時間切れとなってしまいました。
失敗の原因は、GUIのデザインイメージから処理のイメージまで共有が甘かったことだと考えられます。
私はオブジェクト指向で記述してるが、もう1人は手続き型で記述しているなど相違があり、最後にまとめることが困難な状態になっているのに気づいたのが1日目の夜でした。

2日目は残りの作業に加えて修正も進めなければならないため奔走してましたが、結局動くものにまとまらずに、制作物発表ではばらばらに実行したキャプチャをつぎはぎにしたスライドになりました。他のチームの制作物のレベルが高かっただけに悔しい結果でした

反省点

事前のイメージ共有が甘かったところが大きく足を引っ張ったように思うので、事前MTGの時点で完成イメージ図やフローチャートとクラス図を作成しておくべきだったと思います。
特に今回は技術レベルも、言語への理解もバラバラで、使用したGUIツールキットに関しては担当者全員がほぼ初めて触る状態であることが分かっていたので、怠るべきではなかったです。

又、今回使用したGUIツールキットがネット記事や書籍によって、オブジェクト指向と手続き型が混在しており、ツールキットをGUI操作で扱えなかったのも曲者でした。
IDEで直感的にデザインできる言語とツールキットを選択していれば、混在を防止でき開発速度も上がったと思います。

全日程を通して

たったの1週間でしたがとてもいい刺激を受けました。
単独開発では意思疎通の難しさや分担することによる問題は体験できません。
それ故に今回の失敗はとても良い経験だと考えられます。
又、他のチームのすごいプロダクトを見て、自分も同じくらいすごいものを作りたい、他の技術にも触れたくなりました。

全て申し込み時の自分が160%の勇気をふり絞ってくれたおかげです。
次ハッカソンに参加するときはすごいものが作れるようにインプットを頑張ろうと思います。

Discussion

ログインするとコメントできます