こんにちは!nakaCです!
先日 PR TIMES HACKATHON 2024 Summer に参加してきました!
結果として個人最優秀賞を頂くことができたので、備忘録も兼ねてハッカソンの振り返りをしたいと思います。
ハッカソン概要
公式からそのまま引用させていただきます。
25卒、26卒のエンジニア志望学生を対象にハッカソン内定直結ハッカソン「PR TIMES HACKATHON 2024 Summer 」を2023年8月28日(水)〜8月30日(金)の3日間で開催します。今年も昨年に引き続き当社オフィスでのオフライン開催となります。
最優秀賞を個人で獲得された方には、年収500万円以上の中途採用基準で内定をお出しします。
チーム賞を獲得された方々には選べる「景品」もご用意しています。
当日割り振られたチームメンバーと一緒にプロダクトのアイディアを考え、1から実装し発表するといったハッカソンでした。
私たちのチーム構成としては4人1チームで、
- フロントエンド2名
- バックエンド1名(私)
- フルスタック1名
という構成でした。
1番年長者という理由だけでリーダーになりましたが、司会進行やタスクの割り振りなど貴重な成長機会を得ることができ、充実したハッカソンとなりました!
きっかけ
もし私の過去記事を見てくださった方がいたら、「就活終わってるのになんで企業開催のハッカソンに参加してるわけ?」と疑問に思われるかもしれません。
最初のきっかけはWantedlyでスカウトをいただいたことです。
お誘いいただきとても興味はあったものの、既に他社へ内定承諾をしているため参加できないと思っていました。
ですが、
当社のハッカソンは、採用以外にも技術向上に向けて取り組むエンジニア志望の学生たちに向けて成長機会の場をつくることを目的としておりますので、もちろん参加いただくことは可能です!
と快諾していただけました。なんという懐の深さ!!
アイディア出し
ハッカソンのテーマは「〇〇にPR TIMESをもっと使ってもらうには?」という内容でした。
この〇〇の部分は、プレスリリースを発信する側,受信する側、上場企業や地方企業など、自分で考えてよいとのことだったのでターゲットを絞るところから始まりました。
最終的には以下の画像の通り、「行動」したい学生をターゲットに決めて、PR TIMES Studentというサービスを作成することに決めました。
PR TIMESのミッションは「行動者発の情報が、人の心を揺さぶる時代へ」というものだったので、せっかくなら絡めてみたいと思いこのようなターゲット・コンセプトに決めました。
具体的にターゲットをどのように絞っていったかというと、まずはPR TIMESを使ってもらうために、そもそもPR TIMESを使っていない人たちに焦点を絞りました。
そこで、私たち学生が PR TIMES を使っていないという意見が出て、分析もしやすいということで学生に範囲を狭めました(学生ハッカソンあるある)。
とはいえ普通の学生は、メディアがメインターゲットのプレスリリースを見ようとも掲載しようとも思わないはずです。
しかし、サービスを作成したい人や起業したい人など、行動したい学生はメディアや消費者に向けて発表する機会を得たいと思うであろうと考えました。
はたしてその行動したい学生とやらの市場規模はどの程度なのか、これから伸びるのか?
と疑問に思ったところで、定量的かつ公的な指標があると嬉しいと思い、チームで調べてみました。
経済産業省の「令和5年度大学発ベンチャー実態等調査」の結果では、企業数及び増加数ともに過去最高を記録していました。
市場規模としてはまだまだ小さいものの、大学発ベンチャー数の推移は上がっているようだったので、これから伸びていく業界に布石を打つのもありではないかという意見でまとまりました。
プロダクトの機能一覧
以下がハッカソン中の3日間(厳密には2日)で作成した機能一覧です。
PR TIMES Studentはアイディアの特性上繋がりの機会を大切にするため、PR TIMESにはない話を聞きにいく機能があります。
サービス作成時や起業したい場合、「とにかく仲間がほしい」「あわよくばエンジェル投資家などと繋がりを持ちたい」、といった社会的資本を求めると考えたため、少しでもその手助けができるサービスにしたいと思いプロフィール機能の一部として実装しました。
他にもアイディアはあったものの手が回らず、結局実装が終わってみればターゲットを変えただけでPR TIMESとほとんど変わらなくない?というプロダクトができました(にっこり)
技術選定
今回のハッカソンでは自分以外全員フロントエンド技術に精通しているとのことだったので、以下のような構成になりました。
前々からReact, Next.jsを書けるようになりたいと思っていたこともあり、自分の得意でない技術に挑戦してみました。
つよつよメンターさんのおかげもあり、知らない知識を多分に吸収できる最高の技術選定・開発期間でした。
ですが一つだけ技術選定によって苦しんだ部分がありました。
NoSQL(mongoDB)です。
カラムの整合性が取れないは、Joinができないは、RDBならDB層で担保できる制約をアプリケーション層で書かなくちゃいけないは、あれもこれもできないは、、、で大変でした。
慣れたら使いこなせるようになるんですかね ; ;
開発
私はバックエンド・インフラを担当しました。
以下のプルリクエストにもある通り、主にGCSのバケット構築してファイル周りのAPIを作成したり、いいね機能やランキング機能のAPIを作成しました。
自分の知らない技術ばかりだったので、積極的にメンターさんに聞きにいってました。
ハッカソン参加者の中では1,2を争うくらいメンターさんを使い倒してた気がする...
メンターさんに質問したら丁寧にわかりやすく教えてくださるのでとてもありがたかったです!
実装を進めていくと最終日には少しだけNext.jsがわかるようになり、メンバーのエラー解決などもできるようになりました。
わからないことがわかるようになるって面白いですね〜やめられないですね〜
また開発中にGit/GitHubに慣れていないメンバー向けに記事を書いたり教えたりしてました。
(以下の記事は清書して色々付け足したもの)
結果
ありがたいことに個人最優秀賞をいただくことができました!
※個人情報が入っている部分は白塗りしてます
個人で賞はいただけたものの、チームでは最優秀賞を受賞することができなかったためとても悔しかったです。
おわりに
今回のハッカソンでも多くの失敗をすることができ、次に活かせる材料をたくさん得ることができました。
またチームメンバーと運営の方々のおかげでとても楽しい3日間を過ごすことができました。
参加できて本当に良かったです!
ありがとうございました!!