未分類

【ハッカソン参加が不安な人必見】不安だったけど初めてハッカソンに参加して自信に繋がった話

この記事では、ハッカソンに初めて参加した僕の体験談を紹介していきます。実際の2日間でやったことだけでなく、参加するまでの心境や準備していたことなども書いてあるので、

ハッカソンに参加してみたいけど、

・初心者で技術力に不安がある方
・実際、どんな感じで進むのか知りたい方

に読んで欲しくてこの記事を書きました!

(僕自身、参加するまでとても不安で悩んでいたので。。)

1日目

まずは、1日目のスケジュールです。

10時~ インプット(島の交通状況、交通系データ説明)
11時~ アイデア出し
12時~ チームビルド
13時~ ハック開始
18時 初日終了(ハック継続可能)

今回のテーマは、江田島を参考に交通系データの活用する、というものであったこともあり、インプットという時間がありました。島で住んでいる方による島の説明と今回使う交通データの説明がありました。

正直、この時点ではほとんどインプットできてません。。。
ふーんっていう程度で、開発しながら知識はついていきました!

他にもハッカソンによく出ているベテランの方による、コードを書かずにプロダクトを作成する方法などの紹介もありました。
後にも書きますが、わずか2日間で斬新かつ動くものを作ろうと思うと、楽できるところは楽をする(他のサービスなどを利用)という考え方が非常に大切なので、この辺の話をしっかり聞いとくべきだったなーと少し反省しています。

11時〜:アイデア出し

一通りの紹介が終わると、アイデア出しが行われます。参加者1人1人がアイデアを考えて、1つ用意されたA4用紙に簡単な説明や図を書いていきます。(タイトルだけでもかましません、説明することの方が大切なので!!)

なぜか僕は、思いついたアイデアをひたすら用紙に書いていました。(人の話を聞きましょう笑)
なので、僕の用紙には、でかでかとタイトルが書いただけです。。。。。

そして次に参加者全員が話になって、1人5分自己紹介も兼ねて自分のアイデアを紹介していきます。5分で強制終了なので、自己紹介が長いと、アイデアの説明ができずに、、、っていう方もたくさんいました。(場を和ませたかったら、自己紹介に5分使ってもいいかなと。)

ちなみに僕の出したアイデアは、時刻表を簡単に教えてくれるLINEBotです。このアイデアを出した理由は、

・去年の年末に1人で作ったことがあり、ブラシュアップしたかったから
・GoogleMapの経路検索で小さなバス会社などはヒットしない
(だからこそデータをオープンにして新しいサービスを展開すべし)
・色んなAPIなどを用いてサービス開発(マッシュアップ)をやってみたかったから

こんな感じだった気がします。

正直、iOSのアプリ開発経験がないのにiOSアプリ開発したいと思って誰かに乗っかるつもりで参加していたので、斬新なアイデアは思いつきませんでした。。。

12時〜:チームビルド

そして全員の紹介が終わると、用紙をテーブルに並べ、1人2アイデアを選び星マークをつけていきます。

ここで選ばれた上位のアイデアを元にどのチームでハックしていくか決めます。

今回のハッカソンでは、最大5人の7チームがビルドされました。このうち2チームは、ボッチソンといって1人で開発するスタイルを取られました。(すごい。。。)

ちなみに、僕のアイデアも選出され、「My時刻表」というアイデアを出された方とこのアイデアに賛同してくださった3名の方々とチームを作りました。

そのあと、弁当が支給され、昼食を取りながら、コミュニケーションを取りました。

今回のチームは、

エンジニア(僕)
デザイナー
県の職員
大学の先生
事業者

のような感じでした。

エンジニアばかりかと思っていた僕は、それぞれの方の職業に少し驚きました。

また、コードをかける人が僕1人ということもあり、リーダーとなりまとめ役に選定されました。(もう一度言いますが、僕は誰かに乗っかろうとして参加してます。)

正直、「やるしかない」という思いと「不安」を感じていたことしか覚えていません。

13時〜:ハック開始

お互い仲も良くなったところで、アイデアをさらにブラッシュアップしていきます。

が、人をまとめた経験が高校時代の班長程度しかない僕には、みんなから溢れ出てくるアイデアを全くまとめることができず、この日の終了時間(18時)までアイデアのブラッシュアップに時間を費やしてしまい、コーディングどころか開発の目処すら立っていない状況にしてしまいました。(めっちゃ焦ってました。)

少しこのときの反省について書いておきます。

まず、僕にアイデアをまとめる力がないなど考える以前に、最初のアイデアを軸とせず、全員の意見を取り入れようとする姿勢が間違っていました。(無理です!)

必ず誰かの意見には、誰かの否定が伴います。今回でいうと、

スマホでBotを作るという軸があったにも関わらず、「島での利用」という縛りがあったため、島の高齢者はうまく使えるか?という意見も出てきました。

これが悪いということではなく、僕が優先度をしっかり考えていなかったのが問題です。すでに、「スマホでBot開発」という軸があるのにそれをひっくり返す案を改めて考え始めると、時間だけが過ぎてしまいます。

全員の意見を尊重したいと思っていたことが、逆に働いてしまっていました。

それに気づいてからは、プラットフォームをLINEに絞り、(もう時間もなく僕ができることを選びました)どんなユーザビリティにするか?などを話し合い、大体アイデアが完成した時点で1日目の終了時間になりました。

開発者の僕が、完成までいけるか自信を持てていなかったことは今でも後悔しています。
みんな出してくれたアイデアを形にする自信は、エンジニアとしていつでも持てるくらいの技術力をつけたいと改めて思いました。

18時〜:自分との戦いの始まり

そして、1日目の終了時刻である18時以降は、残って作業を続けたい人はエンドレスに残れるという感じでした。(泊まり込みOK!)

ですが、今回は泊まり込んだ人は1人もいませんでした。過去には、泊まり込んで開発をした人が多くいた回もあったそうです。エンジニアがたくさん集まれば、楽しくなって、泊まり込んでしまう感じは分かります。(楽しそう笑)

この時間からは、僕の中で戦いの始まりでした。2日目も朝の10時〜16時までは時間あるのですが、他のチームの進捗などを聞く限り、明日の朝までには最低限カタチにするという目標を立てました。(心の安定のため。)

結局僕は、夜の11時くらいまで残って作業しました。(夜ご飯は残って作業していたメンバーでラーメンを食べに行きましたが、頭の中は完成できるかどうかという不安でいっぱいでした。)

この時間で進んだことは、

・PythonとLINEAPIでオウム返しできるレベルの実装
・本番サーバーへのデプロイ
・GTFSデータについて確認(江田島の交通データ)
・kintoneライセンスへの登録(APIを使うため)

初めは、kintoneを使うことなんて選択肢になかったのですが、与えられた交通系データから必要なデータだけ選択して、設計して、RDB作って、、、って、、、

みんなどうやってんの?!

ってなったので、他のチームや1人で開発している人に聞いて回りました。そこで教えてもらったサービスの1つがkintoneです。他にもsheetyというサービスを使っているチームもあり、本当にたくさん勉強させてもらいました。(登録に1時間くらいかかりました、開発者ライセンス取得の方から登録しましょう。)

デプロイが上手くいって、kintoneの登録が完了した時点で、ネットカフェに泊まりに行きました。終電もなく帰る気力もなかったです。

〜6時

結論から言います!目標の部分まで、徹夜して作りました。(途中、シャワー浴びたり、1時間の仮眠をしてますが。)

特に辛かったとかはありませんが、この時間が一番コード書いて、エラーと戦ってました。プログラミング歴1年くらいあれば、エラーぐらいなんとかなる、っていうマインドで立ち向かえたりします笑笑

だからエラー解決できなかったら、コーヒー飲んだり、うろうろしたり、オープンスペースに移動したりしてリフレッシュしてました。基本的にどうしようもないエラーに出会った時は、次の日まで寝かせたら解決できたりするのですが、今回はそれができないので、いかに短い時間で頭をリフレッシュさせるか?を考えて過ごしてました。

そして、朝の6時目標にしていた部分まで完成することができました。この経験は、深夜の気分もあってか、めちゃくちゃ自信になりました。頑張ったなーと久しぶりに自分を褒めた瞬間でもありました。

2日目

10時〜:ハック再開

2日目は10時〜で、僕のチームは3人での開始となりました。いよいよ発表へ向けて準備開始という感じで、

・スライド作り&発表練習
・スライド&アプリ用デザイン作り
・アプリ作成の続き

という役割分担をし、それぞれが必要な時にコミュニケーションを取りながら進めるという感じでした。

ある程度動くものができたら、あとはどれだけ発表で伝えるか?というところに重きをおいたほうがいいです。僕たちは、いい感じに役割分担でき、メインで発表する人もトークがうまかったこともあり、開発で細かな部分に目を向けてしまいました。

正直、新しい機能を追加した方がよかったかな、と思う部分もあります。

16時〜:発表

僕たちのチームは1番目の発表でした。他のチームの発表の前に披露できたので、堂々と発表できたように思います。

内容としては、

・解決する課題(島での問題点)
・アプリについての説明
・実際のデモ(LINEのQRコードを配布しました)

時間は5分でしたが、正直全然足りなかったです。事前の発表準備がいかに大切か、改めて認識しました。

懇親会

今回は交通系データの活用というテーマということもあり、バス会社の方や市や県の公共事業に取り組んでる方など様々でした。僕自身、就活という時期でもあり、いろんな職業の方とお話させていただきました。

今回のハッカソンで1人で開発したことで、チームのメンバーに話題のネタにしてもらえたり、アイデアを持っている事業者さんと語り合えたり、仕事の大変さを教えてもらったり、疲れていたけどそれが吹っ飛ぶくらい有意義な時間でした。

課長や部長などという肩書きの方もたくさんいました。学生がこういう方たちと交流するには、会社説明会などがありますが、僕の経験上、学生側は少し物腰低くなってしまうのではないでしょうか?

ですが、ハッカソンは違います。エンジニア、デザイナー、アイデアを考える人、プレゼンする人が主役になれます。審査にきた偉い人と同じ目線で語ることができます。これは参加した人でないと気づけない部分かなと思いました。

プログラミングをしたことがない人からしたら、2日間で動くものを作ることはすごいと思うし、自分たちの事業で何かできないかと考えます。できる事とできない事を話したり、実際の仕組み、サービス運営にかかるコストなどをしっかり説明できれば、とても盛り上がると思いました。(答えられないことが多くありました。。。)

僕が伝えたいこと

僕自身、参加当初はいろんなエンジニアと出会って、少しでも多くを学んで帰ろうと思っていました。しかし今回、ハッカソンは一種の異業種交流の場だなと思いました。もちろん、エンジニアばかりが集まるハッカソンも東京などではたくさんあると思います。

だけど、広島にはそもそもIT企業、エンジニアの数が少ないです。毎月何かしらのイベントに参加していると、3ヶ月後にはおそらくどのイベントに参加しても見知った人に出会うことができます。

では、そういう地方でエンジニアばかりが集まって、新しいビジネスを生み出すハッカソンを開催できるか?と問われると、難しいと僕は思っています。(僕自身、この1年間で3社でインターンやアルバイトをし、広島のIT企業の少なさに気づきました。)
しかし、IT系従事者が多く集まらないとITを活用したサービスが生まれないという考え流のではなく、IT従事者と非IT従事者が交流する事で、地方に特化したサービスが生まれると思いました。

ハッカソンはエンジニアやデザイナーだけでなく、農業や漁業、飲食店で働いている人など、様々な人に集まって欲しいと思いました。ハッカソンは、新しいビジネスが生まれる場になります。小さなビジネスでもたくさん増える事で、若者が地方にとどまり、今よりもっと活性化する未来が見えませんか?

日本では、IT企業は東京に集中しています。もちろん、それは東京に魅力があるからです。プログラミングは、何かの課題を解決するツールの1つです。本来、地方でももっと活用されるべきだし、活用できる課題はたくさんあると思います。地方では、まず、今回のハッカソンのようにエンジニアと異業種がもっと交流できる場を設けてみるのも、地方活性化の1つの手段だと思いませんか?

以上、僕がハッカソンに参加した体験談と少しのメッセージです。

COMMENT

メールアドレスが公開されることはありません。