初めに
今回、ありがたいことにJPHacks2022にて本選に出場させていただけたので、その感想を残しておきたいと思います。
前回の技育展とは違うメンバーですが、再び同じサークルでチームを結成して出場しました。
(本当は技術ブログのつもりで開設したのに、アウトプット苦手すぎて体験談しか書けてない……。)
追記:途中から文章を書くことに飽きてきてかなりぐちゃぐちゃです。読んでくださってる方、ごめんなさい。
JPHacksってなに?
とりあえずJPHacks公式サイトをそのまま貼っておきますが、要するにハッカソンです。
でも本選はオフラインつまり現地で行われるので、うまくアピールできればスポンサー企業さんとのコネができる!……かもしれないわけです。
プロダクト
今回は、道案内を「音」で実現するプロダクトです。
目的地を設定してイヤホンを装着すると、立体音響技術によって「目的地」から音が鳴っているように感じることができます。
だから、音が鳴っている方向に進んでいくと目的地に到着できるというわけです。
webappで公開しているので、ぜひ実際に使って遊んでみてください!!!
感想
出場を決めた&&チーム結成時
正直、技育展の出場を決めて時には、「今年はJPHacksも出るぞー」と決めていたので、出場に関して何も迷うことはなかったのですが、困ったのはメンバーでした。
今回はサークル内で募集をかけていた人に乗っかって、チームに混ぜてもらった(私が前回一緒に出場したメンバーは既に別でチームを組んでしまっており、どうにか他のメンバーを集めなくてはならなかった)のですが、ハッカソン未経験・経験が浅い方々の(決して悪い意味ではないです。むしろ参加することは大事なこと)多いチーム編成でした。
今までは、「自分より強い人」がチームにいて、その人に全体の方針を決めてもらって、分からないところは教えてもらって……と、今にして思えば手厚い介護を受けながら開発していたのですが、今回は私(か、もう一人)が引っ張っていかなくては行けない立場となってしまいました。
アイデア出しのファシリテーション・使用技術の提案・仕事の割り振りなど、リーダーをやってみると実際にコードを書く以外の仕事の多さに目眩がしました。
例えば、アイデア出しの際には新しい意見が出てこなくなったタイミングで、より意見を出しやすいような問題の見方を提案する。
技術選定では、メンバーの技術スタック・自分の技術スタックを把握して、何を使えばこのアイデアを実現できるのか、どこまでの挑戦が許されるのかを考えたりなど。
今までのリーダーはこれだけ多くのことを(意識的か無意識かは不明だが)やってくれていたのか、と改めて偉大さを感じました。
予選(?)前日〜当日
本選に出場するチームを決めるために、まずは予選としてオンラインでの発表があります。
ブロックごとに3チームずつが本選出場できるのですが、ここを通過するのも簡単じゃない。
しかしまあ、毎度のことながら前日まで何も終わってないんですよねえ。
ハッカソンは前日からが勝負です!!!!
午後の授業を全て切って、徹夜で開発。
久しぶりのReact、初めて触るGoogleMapAPI、あんまり好んでは使わないMaterial UI。一晩でロジックからUIまで全て構築しました。
それから、他のメンバーがhtml,jsで構築していた立体音響部分のReact(ts)への移植。これがまた大変。とりあえず完成させてもらおうと、好きに書いてもらっていたコードをなんとかコンポーネント化する。(ここで一番学びになったのは、UseRefの使い時がわかったこと。これも記事にしたいけど、書けるかな……?)
ろくに指示も出せないリーダーの徹夜に付き合ってくれたメンバーは、発表当日の朝からデモ動画を撮りに出かけてくれてました。(ありがとうございます)
今回の発表者は、発表に慣れているメンバーがいるため私ではないのですが、流石としか言いようがない落ち着き様。私より1つ年下のはずなのですが……。
さて、発表が終わった後は企業賞(スポンサー企業が企業ごとに一番を決めて、受賞すると商品がもらえる)の発表があります。
手応えはあったはずなのですが、結局最後まで呼ばれることはありませんでした。
しかし、数日後に発表された本戦出場チームにはしっかりと僕らのチーム名が書いてありました!!!
ヨシ!!
本戦当日
書くことが多すぎる。すごいぞJPHacks。
本選は東京で行われるので、前日はホテルにて恒例の徹夜開発。ここに関してはこれ以上話すこともないでしょう。
発表は東京の一橋ホールで行われるのですが、僕らの発表者は相変わらずの落ち着き様。
他のチームの発表を聞いていた思ったのは「レベル高っ!!」です。
もちろん技術力・アイデアもですが、それ以上に「プロダクトにかけた時間」が段違いだなと思いました。
他のチームも前日に徹夜開発をしているのは変わらないのですが、開発してから実際に誰かに使ってもらったり、自分達で使ってみたりなど、「開発の一歩先」まで行き着いているチームがいました。(やはりそういうチームは運営からの評価も高かった)
発表の後は、ブースを審査員の方々が回ってプロダクトの説明・デモ体験などをしてもらう会があります。
ここでプロダクトをアピールすることが、賞の受賞にはすごく大事!
我々のsound directionsは想像以上にウケが良く、他のチームのブースを回る余裕がないくらいには来てくださいました。多く聞かれることは、使用技術・展望・開発に至った経緯、など。特に会社員の方は、「ビジネスとして通用するか」を重視しているように感じました。
僕らの「とにかく面白いものを作りたい」という視点とはかなり違うと感じた。
しかし、最後に「こんな機能はどう?」と提案してもらえるアイデアや、競合となり得るサービスについての知識はさすが大人というべきなのか、悔しいけど、めちゃくちゃ参考になった。
それから、審査員をしている方々の役職にも驚いた。誰でも聞いたことあるような企業や団体・大学などで働いている方々が普通にそこらへんを歩いている。さらに、自分たちの作ったプロダクトを使ってくれる。フィードバックをくれる。緊張もするけど、こんな貴重な機会はJPHacksならではだと思った。
それが終わるとついに、結果発表となる。
手応えはある!!!!
「最優秀賞は無理でも、イノベーター認定(今年は16チーム中9チームが選ばれてた)くらいは!!」と、思っていた。……けど、結局名前が呼ばれることはなかった……。
うーーーー。
でも!
HUAWEIさんが!
企業賞をくれました!!
やったね!
嬉しいやら悔しいやらで授賞式を終え、最後に審査員の方達との交流会。
ご飯を食べながらさっきのすごい人たちとお話しします。(企業賞をくれたHUAWEIの人にめちゃめちゃお礼を言いました)
そこで、僕らのプロダクトを高く評価して下さっていた方達がテーブルまで来てくれます。
「企業賞、君達にするか迷ったんだよね」
「正直僕は、この中で一番いいと思ったよ」
など、たくさん褒めてくれます。えへへ。
個人的に連絡先を交換してくれて、これからの開発をサポートしてくれる企業も!!!!
本選に打ちのめされていた僕たちには十分すぎるお言葉……!
ありがとうございます!!!
頑張ります!!!
最後に
やっぱりJPHacks本選はレベル高いですね。言ってしまえば全国大会ですからね。
でも「そこに自分が混ざっていた」というのは大きな経験だと思います。
しかし、今回得た一番大きな経験は「リーダーをやってみること」だと思っています。
プロダクトの全貌を把握して、最終的に全員の作業を繋げる所まで意識して指示を出す。
自分一人で作っているなら、作業を進めながらその都度考えればいい。
でもチーム開発ではそうはいかない。
開発を始める前に、コードを書く前に仕様を考える必要がある。
指示の重要さ・難しさを知った。
あんまり仕事を回せなかったメンバーの方、ごめんなさい。