PR TIMES HACKATOHNに参加したレポート

# はじめに
こんにちは、みんみんです。
先日、PR TIMES様が主催している**PR TIMES HACKATOHN 2025 Winter**に参加させていただきました。
![](https://prcdn.freetls.fastly.net/release_image/112/1483/112-1483-e641718365fd1c0f653930c76ef544b0-2000x1285.png?width=1950&height=1350&quality=85%2C65&format=jpeg&auto=webp&fit=bounds&bg-color=fff)
企業主催のイベントに参加するのは初めての経験だったのですが、ありがたいことに個人賞をいただくことができました！
本記事では、ハッカソンの振り返りなどをまとめていきます。

# 自己紹介
まずこの記事を書いている私は何者なのかというところで、軽い自己紹介を書いておきます。
* 愛知の情報科大学生
* ネットワークの研究室に所属
* 2025年4月から同研究室で院進(27卒予定)
* 最近はインフラばっかりいじってる
* 春休みぐらいから27卒は動き始めた方がいいと聞いて就活真っ只中
* ハッカソンの経験は学内のサークルでフロントエンドを1度だけ(しかも1年生次)

# 概要
公式の記事から引用させていただきます。
>PR TIMESハッカソンは、当社開発職の新卒採用と、技術向上に向けて取り組むエンジニア志望の学生たちに向けて成長機会の場をつくることを目的に2016年より開催している内定直結型のハッカソンイベントです。前回の2024年8月28日～30日に開催したハッカソンの参加者からは「チーム開発が新鮮で楽しかった」「同世代のエンジニアと一緒に開発することでとても良い刺激になった」という声をいただいています。
>本ハッカソンは、2025年2月26日(水)、27日(木)、28日(金)の3日間で、後述するテーマに応じたWebサービスの開発を一からおこなっていただきます。参加者の得意な技術領域をもとに、当社が選定したチームごとに分かれてアイデア出しや開発、実装までを進めていただくことで、チームでのWeb開発経験を積めるプログラムとなっています。

[【26・27卒】最優秀者は年収500万以上で即内定！チーム開発に挑戦できる3Daysハッカソン受付開始](https://prtimes.jp/main/html/rd/p/000001483.000000112.html)

# 参加経緯
私は27卒予定ということもあり、2025年現在において就職活動を始めたばかりでした。研究においてはインフラ系をメインに取り組んでいるため、Webサービス開発である本イベントの情報を目にしたときは参加するか迷っていました。そこから間も無くして、研究室のOBの先輩から都合がつきそうなら参加してみてはとのお声がけと、同研究室の同期も一緒に参加しないかと声を掛けられたこともありエントリーすることにしました。
結果としては、久しぶりのWeb開発でとても楽しかったです。先輩と同期には本当に感謝しています。

# 1日目
## 顔合わせ
初日はチームメンバーとの顔合わせから始まりました。
参加者は20名強ほどで、3~4人の6チームに割り振られていました。私のチームは4人チームだったのですが、そのうちの1人が偶然にも声をかけてくれた同期でした。後の2名もハッカソンや長期インターンの経験があるとのことですごく心強かったです！

役割分担としては、各々のスキルや得意分野を話し合った結果
* フロントエンド2名
* バックエンド2名(私は今回こっち)

となりました。
どちらの領域も触れた経験はあるのですが、最近流行りのフレームワークだったり、UIのデザインを考えたりというのに若干の苦手意識があったため、バックエンドでホッとしました。(まあバックエンドもできるのかと言われたら微妙なところですが)
フロントバリバリ書ける方々すごいです。
チームリーダー的なポジションは決めるといった指示がなかったので、各自が思ったことや気づいたことを適宜発言するような流れでした。

## アイデア出し
正直、今回のハッカソンにおいて1,2を争うぐらい難しかったのがアイデア出しです。
というのも今回のハッカソンのお題は、**夢の発信を支援するWebサービスの開発**でした。
これは、PR TIMES様が取り組んでいる**April Dream**に関連しています。
>本プロジェクトでは、PR TIMESが、4月1日を夢に向かって行動するすべての人が、大風呂敷を広げて夢を語る日にしようと、新たな発信文化として2020年から提唱しています。企業・団体・個人が「叶えたい夢」を発信できる場をつくり、プレスリリース配信に加え、全国の駅やイベント会場、商業施設など様々な場所で夢の発信を支援しています。

興味深いプロジェクトですので、ぜひ[April Dream](https://aprildream.jp/)についても知っていただきたいです。

というわけで、私たちは夢の発信を支援するWebサービスのアイデア出しをしました。
最初の方は各々考えてあったアイデア等を出したのですが、話しこんでるうちにかなり議論が停滞していました。原因としては、主に以下の2つです。
1. 夢の「発信を支援」するという部分をどう実現するか
    * クラウドファンディングのようなサービスだと発信した後の話になる上、差別化が難しい
    * 「発信」という部分を支援するには何が必要かという部分の洗い出しが必要
1. そもそも「夢」の定義とは何か
    * ハッカソンに参加している学生の視点だと、夢はなりたい将来像を指しがち
    * しかし夢には規模の大小やただやってみたいという夢もある

悩みに悩んで、メンターの方々や人事の方にも相談した結果行き着いたアイデアが、学生同士が夢を語り合い、そこに企業の就活を織り交ぜたサービスです。
夢の発信の支援としては、1人のメンバーが経験談として、夢とかやりたいことを語る相手が欲しいけど、専用のプラットフォームがないというところから、コミュニティ形成ができる専用のSNSのようなものを目指すことになりました。
夢の定義としては、今回のターゲット層を自分たちのような就活生に絞ることで、目標のブレをなくすことにしました。人事の方に現状の就活の仕組みにおいて、夢に向かっている熱量的な部分が見られるのはサービスとして成り立つかもという助言もいただきました。
サービスとしては、夢を語り合える場を提供し、人の夢を応援する(ポイントを付与)ことができる。もらったポイントは企業のリソース提供だったり、夢の実現に近づくための支援に使えるといったものを目指しました。

## 開発開始
アイデアを煮詰めたところで、いよいよ開発開始です。
技術選定としては、各々が使ったことのある(使いたい)技術で固めました。まあ短期間のハッカソンにおいてはよくある話だと思います。
バックエンド側はDockerを使ってAppコンテナ(Go)とDBコンテナ(MySQL)を立てることにしました。
本格的にGoを書いた経験があるわけではなかったのですが、研究でコードリーディングはしていることと、今後は書くことになるということでGoを使いました。GoのフレームワークとしてはGINを使いました。MySQLは使ったことがあってわかりやすいという理由です。
研究において一生Dockerを触っているので環境構築は一瞬で終わりました。([初めて書いた記事](https://qiita.com/Minmin067/items/93d21f82e4013c8ef693)でその断片がお分かりいただけます)
フロント側は、React,TypeScript,TailWindなどを使っていました。どれも全く書いたことがない技術なのですが、フロントがすごい勢いで充実したデザインになってるのを見て感動しました。
開発前に大体の画面遷移や機能を洗い出して、適宜やりとりする情報を話し合いながらワイワイと開発しました。

# 2日目
## 個人面談
2日目は各自30分のメンターさんと1対1での個人面談がありました。ここでの面談はハッカソンの内容というよりも、個人の価値観や人生観的なものを見る面談でした。今回のハッカソンでは内定にもつながるのですが、ハッカソン内での技術と個人面談での評価で賞を渡す(内定を出す)そうです。私は話すのが好きかつ得意な方だと自負しているので、30分があっという間でした。面談を担当していただいた方からももっと色々と話を聞いてみたいと言っていただけて嬉しかったです。

## 開発
1日目に続いての開発です。バックエンド側はDBの細かい修正をしつつ、2日目で予定していた機能に該当するエンドポイントを作成し終えました。午後からはフロントと連結できそうな部分から連結して、フロントで作った投稿を受け取り、DBに保存するところまで完成しました。
しかし、ここでフロント側を担当していた1人が体調を崩してしまい、午後の途中から3人での開発になりました。復活を祈りつつ私は結合作業を続け、もう一人のバックエンド担当には、発表用スライドに着手してもらいました。

# 3日目
## 開発仕上げ
最終日に入り、いよいよ動く状態に持っていかなければなというところで、メンターさんから昨日早退した方の参加が厳しくなったので発表まで3人で行うことになるとの連絡がありました。4人揃って走り抜けたかったですが、こればかりは致し方ないし、無理をさせないのは至極当然の判断だと思います。ただ、だからと言って作品が動きませんでした、となるのはなんとしてでも避けたかったのでバックエンドの2人で急遽フロントとの連結部分に着手しました。とりあえず動かしたい部分を絞り込み、一部の機能は削りつつでの改修でしたが、先述した通りReact未経験だったのでかなり難航しました。コード全体をハイペースで理解しつつ、ぱっと見で分からなさそうな部分はメンターさんのお力添えもあってなんとか動くものができました。最終日は集中のあまり、作業中のコミュニケーションが若干疎かになってしまったのが反省点です。

## 発表
私のチームは発表順が最後(私がクジで引いたため)だったのですが、他のチームの完成度の高さやデプロイまでしているチームの発表を見てとても緊張しました。ただ、ここまで来たらもう全力で出し切るしかないと思い、発表中に動作デモも含めた発表をやり切りました。正直、緊張していてあまり記憶はありません。質疑応答もうまく答えられたような気はするのですが、頭が真っ白だったのではっきりとは思い出せないというのが正直なところです。

## 表彰
緊張の個人賞表彰の瞬間、と言いたいところなのですが、この時私は表彰されないだろうなと思っていました。今回私が書いたバックエンドのコードや最後に少し触ったReactの部分はお世辞にも綺麗な処理をしているとは言い難いものだと思っていたためです。そのため、個人賞に私の名前が挙がった際には、すごく驚きました。フィードバックとしては、チームでの話し合いの場において、積極的に発言したり、コミュニケーションを楽しもうとする姿勢が高評価だったとのことです。私は話すことが好きで、そういった部分は大事にしていこうと思って普段から行動しているのでそこが評価されてすごく嬉しかったしありがたかったです。嬉しいのと同時に、最優秀やチーム賞には及ばなかったことから、まだまだ成長の余地があるなとも痛感しました。
![](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636687/aa7abbc8-82b5-4ceb-aab4-ec2161bd6783.png)

# 最後に
今回のハッカソンに参加した率直な感想は、「本当に参加して良かった」です。
同じ年に就職を控えている方々がどんなスキルを持っているか、どんなエンジニアを目指しているかというのを知れるだけでなく、ランチや懇親会を通じて仲良くなれたので貴重な体験を得ることができました。自分の持っている知識と技量がどこまで使えるものなのか、自分に足りていないのはどういった部分なのかというのを知ることもできました。
本ハッカソンを開催していただいたPR TIMES様、優しく接していただいたメンターの皆様、刺激と学びを与え合ってくれた参加者の皆様に深く感謝の意を申し上げて本記事を書き終えます。

ちなみに、お昼ご飯でいただいたお弁当すごく美味しかったです。

<img width="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636687/bb03c424-ab78-4346-8459-d8791aab9099.png">
<img width="" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3636687/ee3ea4c7-e6e9-4c42-93a8-8ef570d91313.png">