はじめに
エンジニアを目指す26卒大学院生です。Web系言語の学習開始して約10ヶ月が経ち、振り返ってみればいろいろな経験をしました。経験したはいいのですが、チャレンジした後の内省が足りないなと感じたため、ここに記そうと思います。今回は8月に参加したサポーターズさん主催の技育CAMPハッカソンの振り返りを行います。
技育CAMPハッカソンとは
- 初心者大歓迎
- 完全オンライン
- メンターさんのサポート付き
ハッカソンと聞くと初学者には少しハードルが高いですが、このハッカソンは7割がハッカソン初心者のため、参加のハードルはかなり低いと思います。自分の技術力と他の学生エンジニアの技術力を確かめるには絶好の場でした。Webの経験が浅い友人2人と参加しました。
制作物
ハッカソンでのメンバーマッチング&制作物投稿サイト
前章でも語ったのですが、初心者にとって、ハッカソン参加の障壁は非常に高いと思います。障壁が高い原因として次の2つがあると思います。
① チームメンバーを集めることができない。
② ハッカソンのレベル感がわからない、何を作ればよいかわからない。
この2つの問題を解決するために、メンバーマッチング&制作物投稿サイトを作成しました。
事前開発
キックオフイベント後の事前開発期間では、何を作るか・どのような技術を使うかを決定し、ある程度のベースを作成しました。今回使用した技術と選定理由は以下になります。
-
Next.js(TypeScript)
→ルーティングが容易、使用してみたかったため。 -
Firebase
→バックエンドを担ってくれるため開発効率が上がる、リアルタイムでデータを同期できる、認証機能を提供しているため。 -
Tailwind CSS
→UIの構築が高速に行える、ライブラリが充実しているため。 -
Slack API
→Slackでの自動グループ作成を実装したかったため。 -
Vercel
デプロイが容易であるため(GitHubと連携するだけで自動でデプロイされる)。
1日目
事前開発で方針は定まっていたため、すぐにコーディングに取り掛かることができました。二人ともGitHubを使ったチーム開発はほぼ初めてでした。どうやって連携を取ればよいかわからず苦戦しましたが、なんとか認証周り・チーム募集・チャット機能の実装を終えることができました。
2日目
最低限の機能は実装していため、発表準備に早く着手するべきだったのですが、欲が出てしまい、Slackの自動招待やいいね機能に手を広げてしまいました。Vercelでのデプロイはすぐにできると思っていため、開発終了間近まで追加機能の実装をしていました。しかし、まさかのVercelでのデプロイが失敗してしまい、結局中途半端なところで終わってしまいました...
加えて、発表の準備時間を取っていなかったため、直前で急いでスライドを作成しました。そのため、下のようなスライドになってしまいました。発表練習もできず、ぶっつけ本番になってしまいました...
発表会
発表時間が1グループ3分しかなかったため、なんとかなると思っていましたが、予想以上に3分が短く、魅力がうまく伝えきれなかったです。短時間で印象に残るプレゼンをすることの難しさを実感しました。
結果
このアプリのアイデアや開発背景には自信がありました。また、最低限の機能は実装できていたので、心のどこかで良い結果を期待していましたが、残念ながらどの賞もいただくことができませんでした。
敗因
このハッカソンは採点が参加者による投票であったため、3分のプレゼンでどれだけアピールできるかが重要でした。
- 作り込んだプレゼン資料
- 理解しやすいシンプルな機能(複雑なものを作っても伝える時間がない)
- あれこれ挑戦せず、完成させる
- 実装は思った以上に時間を要するため、企画段階では構想を大きくしない(期日までに絶対に実装できそうなものを企画し、時間が余ったらスケールしていく)
- UI/UXに時間をかけて見栄えを良くする
これが受賞のためには必要だと感じました。私のチームは、手抜きのプレゼン資料/様々な機能を盛り込みすぎて説明する時間がなかった/UIに時間を割かなかったためこの結果だったと考察します。
おわりに
評価が参加者による投票なのは少し疑問が残りますが、ハッカソンにはハッカソンなりの戦い方があるのだと思いました。また、ユーザに価値のあるものを届けたい私にとって、ハッカソンはマッチしていないような気もしました。とはいえ、短期間で膨大なアウトプットができましたし、エンジニアになるという同じ志を持った仲間とも交流ができたため、非常に有意義な2日間だったため、得たものの方がはるかに大きかったです。