ハッカソンvol7に参加した

事前準備

前回の記事に続き、今回もサポーターズ主催のハッカソンに参加しました。 今回も前回同様にランダムチームで参加することにしました。 まず、チームが出来て最初にやることはミーティングして

  1. 何を作るか
  2. メンバーが何を出来るか
  3. 自分は何が出来るか
  4. 作成するために何を使うか
  5. 誰が何を担当するか

等の事を確認・決定します。これをやるために、まずミーティング設定します。 正直このミーティングの設定の前まで基本的には誰が最初に動き出すかの探り合いな気がします(笑)。 なので、探り合いが苦手自分が最初に動くようにしてます(笑)。 ここで、どれだけチームとして議論が出来るかが一番大事です。最悪作るものがここで明確に決まらなくても議論が出来るなら後でいくらでも挽回できます。(決まった方が断然いいのは事実ですが)

ということで、今回のチームですが、自分以外にもハッカソンに参加したことがある人がいたり、チーム開発の経験がある人などがいて何かしらの形でチーム開発の経験がある人が大半というチームになっていたので前回のほぼ初心者チームという感じではなくメンバーにもちゃんと一つ一つの役割を振っていっても大丈夫そうだなと感じました。 そして、テーマと製作物決めです。 今回のテーマは技育展というサポーターズのイベントにつながるように11テーマが用意されていました。

  • 世の中を楽しくする
  • 世の中を便利にする
  • 無駄開発
  • スマホアプリ
  • ゲーム
  • オンラインコミュニケーション
  • 開発/スキル支援
  • ハード/組み込み
  • インフラ/セキュリティ
  • AI/データ解析
  • 事業化目指してます

この中で「このテーマでこれを作りたい」というのが出なかったので、僕がかなり前から考えていた「日程調整アプリ」を作成することを提案してそれに決まりました。 これは、研究室で日程調整の役割を任される僕にとって乱立する日程調整の連絡だったり、他の人がイベントを作成したときにわざわざ同じ日程を入力しないといけないという煩わしさを改善したいと考えていました。 そこで、このアプリで達成したいこととして具体的には以下の目標がありました。

  • ユーザの識別
  • 事前に入力した授業の予定などはイベントの予定に自動反映する
  • 任意のカテゴリーを設定する(主催側)
  • イベントへの参加・不参加の数を見れる
  • カテゴリーでソートできる

この目標をチームメンバーに話しましたが、いきなりこれを言われても研究室に配属されているのが僕だけだったので、「なぜカテゴリーが必要なのか」、「どういう形で入力するか」、「どいうった形で出力するか」などの点が中々伝わっていないと感じました。 特に「任意のカテゴリーを設定する」については誤解を生んでしまった感じが強かったですね。 そして、時間は過ぎていき、ミーティングしたのが1.5h程度と少なかったので、「どの機能を実装するか」や「何を使うか」などの具体的な部分まで決めることはできませんでした。

ハッカソン開始

1日目

まず、開会式前に焦ってチーム名を作りました。特に何も思いつかなかったので、メンバーのイニシャルを取って、「3y1w」という名前にしました。

開会式の後何を目的として考えいてるのかのイメージを共有して使用するものなども決めました。 作業分担と何を使うかを分けていきました。

種類 言語
フロントエンド HTML/CSS, JS
バックエンド Python
DB SQLite

という構成になりました。 この中で僕が担当したのはバックエンドの部分です。前回もバックエンドを担当したわけですが、今回は前回よりも入力の自由度が低いためどうやって入力をデータベースに記録するかという部分をメインに考えることが多かったです。 僕はSQLの利用経験がなかったため、このハッカソン中にDBを担当している人に教えてもらいながらなんとか実装していきました。

一日目の締め会の後バックエンド&DBをフロントエンドにつなげる作業をして、翌日やるべきことの洗い出しなどをやっていったという感じで1日目(日付越え)が終わりました。

2日目

この日の15時までが開発のデッドラインです。なので、時間はないので最低限動くものを作成することを目標にそれぞれの役割をこなしていきました。

追い込みで一気に画面が増えたので、対応するバックの方も関数の修正とデータの取得に合わせて、HTMLファイルをいじったりしていた。 その間に画面を作る人と画面の操作に対応する僕以外のもう一人の人にはスライドを作ってもらったりという感じでチームで役割分担を適切にできて一気に進んでいきました。

15時になり、画面を作る人と僕もスライド作りに参加して何を発表するかどう、発表するかを決めていきながら作業していきました。 今回は3分の発表時間だったので、前回よりも話すことを多くできたのでアプリの動画を取ったり、スライドの作成をするという形で準備していました。

そして、発表は案を持ってきた僕が発表することになりました。3分で話すのはなかなか骨が折れるので、早口になるわ噛むわでなかなか難しいなと思いました。

(やっぱり焦るとうまくいかないな)

そして他のチームもレベル高くて楽しかった!

全部の発表と審査が終わって授賞式、努力賞、優秀賞の順で呼ばれていく(今回は再優勝賞なし)。どのチームが来るのかな?と考えいたら呼ばれたのは僕たちのチーム。 最初聞き間違えじゃないかと思うほどびっくりした。

なんの準備もできていないまま発表した僕が代表者としてコメントをするわけですが、まず呼ばれると思ってなかったのと、最初になるとは思わず、驚きと喜びで何を言ってたいのか覚えてないです!

前回は自分たちの動画を出せなかったということも含めて悔しい思いをしたので、今回は動画を出して発表が出来たことに加えて受賞できたことが凄く嬉しかったです! 出来なかったことが出来るようになる経験はやっぱり嬉しいし、そのタイミングで人に評価されて認められたのは凄く嬉しかったです!

また出たい!そしてもっといいものを作りたい! 最優秀賞を取りたい!

今度は後輩を巻き込んで今は触れてないフロントも触ってみたい。(バックは後輩に任せるとして)

そして、今回作ったものが完成していないので、一人でも作っていきたいなと思っている所存。