見出し画像

【イベントレポート】ハッカソンで勝つためには? 〜現役エンジニアと学生が語るハッカソンでの立ちふるまい〜

2024年一発目のイベントを1/10(水)にオンラインで開催しました。
「ハッカソンで勝つためには?」と題したこのイベント。
時間制約の強いハッカソンでの、アイデア出し、技術選定、時間配分の話まで、深掘りしてお話ししたので、内容をレポートします!

【当日のタイムライン】

  1. ファシリテーター、パネリストの自己紹介

  2. トークセッション

  3. 質疑応答

  4. アンケート


今回のイベントは、青山大学唯一の公認テック系愛好会「PiedPiper」さんに所属されている学生さんにもパネリストとして参加いただきました。

1.ファシリテーター、パネリストの自己紹介

まずはそれぞれの自己紹介からスタート!
ファシリテーターはTechBowlコミュニティマネージャーのhaseakiが担当します。

パネリストとしては、pokohideさんとsoraさんの2名に参加いただきました。

pokohideさんは、株式会社タイミーのバックエンドエンジニアでありTechTrainのメンターとしても活動いただいています。ご自身でのサービス売却経験など知識も経験値も鬼レベル。

soraさんは前述した通り、現役の青山学院大学の学生さん!
所属しているテック系サークルでもハッカソンでwebアプリ開発をされているとのことで、学生視点でのお話もたくさん聞けそうです。

2.トークセッション

トークセッションのテーマをいくつか事前に作っておき、参加者の皆さんに何を聞きたいかコメントでアンケートを取る形で進行しました。

まず選ばれたのは①。
「良いアイディアが全然出ない!何かいいアイディア出しの手法はある?」


pokohideさん
一番よくやっていたのは、すごいシンプルではあるんですけど、オフラインで現地に集まってホワイトボードにひたすら付箋に書いたアイディアをペタペタ貼っていくとか。ひたすら思いついたことを書き出していって、収束させていくということをしていました。

今だと「Miro」で、同じようなことがオンラインでもできると思います。
あとはChatGPTを活用するとか!プロンプトにこだわって会話していくことですごく面白いものが出てくるので、そういったものから発想を膨らませていくのも良いかなと思います。


soraさん
今回のハッカソンでは、オフラインで議論する時間もあればオンラインもあったので、「Discord」にアイディアをどんどん書き込みました。
そのチャットの中で、自分を含めそのチームメンバーがどういう技術を使えるのかのチェックも並行しながら議論することで効率的に会話も進められました。



続いてのテーマは、②!
「あれもしたい!これもしたい!どうアイディアを収束させる?」

pokohideさん
ハッカソンでは時間が限られているので、ふたつ作ってあとで決めようみたいなことはできないです。決めたら最後まで突き進むことはとても大切ですね。
そんな中でどう落とし所を見つけるかという部分では、まずチームメンバーの前提知識を合わせておくのが大事だと思います。そうすることで共通言語を持って話を進めることができます。
最終的に多数決で決定することが多いとは思いますが、自我を捨ててチームで成果を出すっていうところを全員が意識する必要はあるかなと思います。


soraさん
僕は今回のハッカソンで、「顔認識を利用し酔っぱらってる人を判別する」というアイディアを出しました!他のチームメンバーからもいろんなアイディアが出てきて、最終的には違うアイディアになったんですけど、そのときは多数決で決めましたね。
決まったことに文句を言ってるような時間は当然ないので、その中で自分のスキルをどう生かせるかということをすぐに考え始めました。


pokohideさん
もし、どうしても自分のアイディアを推したいのであれば、まずチームのメンバーを納得させるようなプレゼンができないとだめですよね。メンバーを惹きつけられないのであれば審査員の心も動かないはずなので優勝も難しいのかなと思ったり。


haseaki
なるほど。pokohideさんは学生時代から色々プロダクト作られていると思いますが、そもそもどうやってアイディア出しのタネを作っているんですか?


pokohideさん
Product Hunt(https://www.producthunt.com/)という海外の情報サイトを読んだり、色んな人が作った『マジでこれ何に使うの?』っていうようなアプリを紹介するようなアドベントカレンダー(https://qiita.com/advent-calendar/2023/kuso-app)を見ています!そういったものを見てみると、奇抜で何か面白いものが見つかるかもしれないですね。



続いてのテーマは③。
「ハッカソンでよく使う言語やフレームワーク、ツールは?」


pokohideさん

大前提として、特に縛りがなければ自由に使いたいものを使ってくださいとは思います。

とはいえそれぞれの言語に得手不得手みたいのがあって。僕の場合、普段はRailsをよく書いていますが、リアルタイム性を考慮したかったらNode.jsを使ったり、作りたいサービスとの親和性によって決定することが多かったですね。


soraさん
僕のチームはPython、Flaskを使っています。
経験の浅いメンバーには、フロントのデザインの方を割り振ると進みやすいのかなという印象があります。


haseaki
ちょっと話は逸れるのですが、今と昔での違いをpokohideさんが感じることはありますか?


pokohideさん
学生時代のときからあんまり変わっていない印象はありますね。今も昔も高速に開発したいというのはもちろんあるので、Heroku(https://jp.heroku.com/)を使ってすぐにデプロイできるような状態を構築したりしていました。最近はCloud Run(https://cloud.google.com/run)みたいなコンテナごとデプロイできるサービスがあったりするので、そういったものを使うとすぐに本番デプロイができます。
業務では安易な技術選定はしないですけど、ハッカソンではWeb APIもどんどん使ったりしています。今はいろいろ制限がかかってしまってるんですけどX(Twitter)のAPIとか、他にも色々あります。ここはやりたいことにどんどん挑戦できるハッカソンの強みだと思います。


haseaki
なるほど。デプロイする環境は事前準備しておくんですか?


pokohideさん
はい、しています。普段、僕はRailsメインで書いているので、Railsの開発環境を立ち上げるファイルを自分で持っていって、それをチームメンバーに配ってすぐに開発環境を作れるような状態にしています。あとは、Node.jsのアプリケーションは開発経験があるので開発環境の事前準備はしていました。普段あんまり触らない言語の場合は、「言語名 + boilerplate」と検索するとアプリを立ち上げるために必要なソースコードとか出てくるので、そういう調べ方も覚えておくと良いと思います!


soraさん
今回のハッカソンでは、僕がデプロイを担当しました。元々使おうと思っていたサービスの無料枠が廃止されてしまったので、これに代わるものとしてRender(https://render.com/)というサービスを利用しました。無料枠だと「15分経つとサーバーがスリープしてしまってすぐに開けなくなる」というデメリットがあったんですけど、発表の場にだけ機能してくれていればよかったので採用しました。


pokohideさん
Render良さそうですね。まだ使ったことはないですけど、最近名前を聞くことが多いです。素早くアイデアを形にできる手段としてとても良いですね!



時間も迫ってきたため、いよいよ最後のテーマです。
⑤いよいよ最終発表!何をアピールすれば良いの?

pokohideさん
発表に絶対に入れるのはもちろんデモですね。デモと言っても、僕はスライド上で見せるのではなく、実演することが多かったです。
例えば、チャットアプリを開発したのであれば、実際に審査員に触ってもらうことでリアルタイム性をその場で感じてもらえると思うので、みんなで体験できる時間は絶対作りましたね。

スライドではその裏側にある技術的な挑戦やサービスの性質、アーキテクチャ的な部分も差し込んで、ハッカソンだからこそ高評価になるような推しポイントは絶対に入れていました。
やっぱり動くものを作ってなんぼの競技なので、厳しいことを言うと動かないものは点数ゼロぐらいの気持ちです。なので、最終的には何かしら見せれるものは絶対必要かなと思います。


soraさん
実は明日最終発表があって、先ほどお話しした通りデプロイするので、発表にデモは絶対に入れます!
僕からも質問になってしまうのですが、スライドに絶対入れた方がいいことは推しポイント以外にありますか?


pokohideさん
逆に絶対に入れない方がいいもので言うと、どうやってそのアイディアにたどり着いたのかとか、収束するにあたってどんな経緯があったかとか、そういう前置きは一切いらないですね。
それ以外は先ほども言った通り、サービスを実現するための裏側のアーキテクチャ構成やその理由、なんでこの言語を選択しているかであったりアルゴリズムの詳細など、見せれるところはどんどん見せていくべきだと思います。


haseaki
なるほど。たまに僕もハッカソンに参加してみるんですけど、「これは断念しました」みたいな部分を発表に入れているチームがあったりして、それを見ると残念だなと言う気持ちになりますね。


pokohideさん
そういうのを入れるのであれば、将来の展望!として前向きに見せた方がいいですねw



トークセッションの最後に、締めの質問を!
ハッカソンの魅力とは?

soraさん
実は昨年、今回サークルで初めてハッカソンを試みたんです。今までは個人制作が主で、1人1人自分の作りたいものを作ってそれをみんなに見せるという活動を主にやっていたのですが、ハッカソンという共同開発によって、よりメンバー間の理解が深まったり、個人では作れなかったものが実現できたりメリットだらけだと思っています。
短い期間内でどうやってコミュニケーションをとって、一つの形になるものを作っていくかを学べたことはすごく大きな意義がありました。

また、審査員の方々が大企業の凄腕エンジニアなので、そんな方々に審査をしていただいて直接意見をいただける部分もすごく魅力があるなと思います。


pokohideさん
ハッカソンはどちらかというと「技術を学ぶ場」ではなく「披露する場」なので、参加することで圧倒的に技術が向上するわけではないです。
とはいえ、短い期間でしっかり動くものを作ることができるようになるテクニックやスキルとか、Soraさんが言ったようなチーム開発の経験もすごく大事なものですし、ゼロイチでアイディアを出して収束させていく流れなどはハッカソンで学べる重要なことだと思っています。

そこも踏まえて僕自身の経験の中で一番大事だなと思うのは、当時のインターン仲間やメンターとの関係性は、社会人になってもしっかり生きているということです。実は、今所属している株式会社タイミーでCTOだった人が、同じサイバーエージェントのインターンで一緒に戦っていた人だったりします。将来の転職先にもなるかもしれないし、もしかしたら一緒に会社を起こす仲間になるかもしれない。そんな可能性を秘めているのも魅力かなと思います。
あとはシンプルに、優勝すれば賞金や景品がもらえたり、その上で実績にもなるっていうのが一つ魅力なのかなと思いました。


以上で今回の全コンテンツが終了しました!
ディスカッションが白熱して、あっという間の1時間。
全てのテーマ、質問にはお答えできなかったのですが、また別の機会にしっかりお話しできればと思います。
最後に参加いただいた皆様からの感想を共有します!


■参加者の感想(抜粋)

  • アイデア出しの際に、実際のアプリケーション開発とハッカソンで文脈が異なるという話が良かった

  • 具体的な内容、技術の話が網羅的にされていて素晴らしかった

  • 実際に事業を行っているエンジニアの方の視点について聞けて良かった。

  • ハッカソン未経験のエンジニアです。実際にハッカソンに参加した方のお話が、メンターとメンティーという異なる立場の方から聞けたのがよかったと思いました。

  • 全体的に満足でした。

  • 私はハッカソン経験がなくハッカソンに参加してみたいということで、情報収集のために参加させていただきました。ハッカソンに参加し始めたときの話なども聞けるとより嬉しかったです

TechTrainでは今回登壇していただいたpokohideさんをはじめ、120名を超える様々な現役社会人エンジニアに技術相談、雑談が可能です!
初月無料で活用できますので、ぜひ使ってみてください!
参加者のみなさん・登壇いただいたpokohideさん、soraさん、ありがとうございました!!


============

【イベントのお知らせ📣】

#TechTrain 主催、26卒エンジニア MEAT UP🍖 開催決定!! 

・3/4 東京

・3/5 大阪

・3/7 名古屋

(※ TechTrainに登録していなくても26卒なら誰でも参加OK )

 26卒ってもう動き出すの?!  受かるレベルがわからない!! どんなスキルを?いつまでに?  就活とかなんもわからん〜!! なそこのあなた
実は2〜9月をどう過ごすかがとても重要!! そう、ニクが重要なのです!!

美味しいお肉を食べながら、切磋琢磨できる友だちとぜひ参加してください!
キャリアの悩みもスキルアップの悩みもまとめてTechTrainがバックアップします!
ぜひ上部のURLよりお申し込みください💖

この記事が気に入ったらサポートをしてみませんか?