お久しぶりです。二回生スタッフの青山です。
街を歩けば聞こえてくる蝉の音や不意に襲う夕立など、本格的に夏らしさが感じられるようになりました。
本日7月16日の二十四節気は小暑、七十二候は蓮始開(はすはじめてひらく)です。
小暑とその次の大暑を合わせて暑中と呼び、暑中見舞いとはこの小暑と大暑の間に出す便りを言います。また、小暑よりも前に出すものを梅雨見舞い、大暑の次の立秋以降に出すものを残暑見舞いと呼びます。知った風な口をきいていますが、実は梅雨見舞いは知りませんでした、恥ずかしい。
ところで、みなさんは蓮の花と言われてどんな花だったかすぐに思い出せるでしょうか?

蓮は極楽浄土に咲く花とされ、真っすぐに大きく広がる美しい花と水面から立ち上がる凛とした姿は、如来が鎮座するにふさわしい清浄さを感じさせます。
「蓮の台(うてな)」と言うように極楽浄土に往生した者が座る台座は蓮の花を模したものになっており、仏教において「一蓮托生」とは、人々が死後極楽浄土において同じ蓮華の上に生まれることを意味する言葉でした。現在ではそこから転じて、結果がどうなろうと運命や行動を共にすることを意味するようになりました。
七十二候やその他関連事項についてもっと詳しく知りたい方はこちらをご覧ください。めっちゃおもしろいです。
季節の移ろいに目を向けてみると、ただ自然について詳しくなるだけではなく日本の風習や文化についても同時に学ぶことができ、古くから趣を好み解してきた風流人たちに一歩近づけた気がして楽しいですね。
さて、今回のブログでは 7/12, 7/13 に開催された「Progate ハッカソン powered by AWS」の参加レポートを書こうと思います。
開発経験はおろかまともに扱える言語すら無かったためかなり不安だったのですが、思い切って参加して本当に良かったと思います。エンジニアや開発に興味があるけどはじめの一歩が踏み出せない、という方はぜひご覧ください。
そもそもハッカソンとは、システムの改良などを意味する「Hack」と長距離走の「Marathon」を組み合わせた造語であり、エンジニアやデザイナーなどが集まり短期集中的にアプリやソフトウェアの開発を行うイベントです。
今回参加したハッカソンは、プログラミング学習サービスを提供している株式会社 Progate が主催しており、協力企業には株式会社ハックツと、なんとあの AWS Japan が!
開発経験皆無の素人が参加していいものかと逡巡しましたが、ええい参加すれば追い込まれて成長できるだろうと腹をくくって参加申し込みをしました。
今回のハッカソンは、7/2-7/11 のオンライン開発期間と 7/12, 7/13 のオフライン開発期間に分かれており、7/2 のオンラインキックオフイベントでチームメンバーと顔合わせを行いました。個人参加で申し込みをしたため、運営側に他の参加者とチームを組んでもらったのですが、チームメンバーは次の通り。
pnさん:めっちゃできる。情報系の学部3回生でインターンもやっているとかなんとか。頼れる限界2徹リーダー。ztさんと組んでの参加。
ztさん:めっちゃできる。驚愕の中学2年生ながらも礼儀正しくしっかりしていて、年上とも臆せず話せるすごい人。同時に幼心も持ち合わせていて、ztさんと話していると新鮮な気分が味わえた。pnさんと組んでの参加。
ttさん:めっちゃできる。情報系の学部2回生で、開発のアルバイトをしている。paypay 返してもらったっけ?tmさんと組んでの参加。
tmさん:めっちゃできる。情報系の学部2回生で、tさんと同じ開発のアルバイトをしている。開発経験数か月で初心者だと聞いていたけど、めっちゃできる。ttさんと組んでの参加。
といった感じで、うわっ…私の技術力低すぎ…?状態でした。
顔合わせの後は Figma というデザインツールの機能の一つ、オンラインコラボレーションホワイトボード FigJam を用いてアイディア出しが行われました。
みんはや風の早押しクイズ作ろう、リアルタイムカメラ使ったらおもしろそう、オーディエンスからなんらかの干渉あったらおもしろそう、ジェスチャーも、などなど。
触ってみたい技術の話になると、Fast API, WebSocket, Supabase, Vercel + EC2, AWS Cognito, VPS, gRPC, etc… と聞こえてくる言葉のほとんどが知らないものばかりで、後で調べられるようにとメモすることで精一杯でした。
その後だいたい誰がどこを担当するかの話になり、今後触る予定があった Django をメインにバックエンドを(本当に少しだけ)担当することになりました。
このハッカソンに参加する前のレベル感としては、
Python (条件分岐や繰り返し、関数まで。クラスは理解していなかった)
Git, GitHub (commit, push, PR, clone など基本的な操作は知っているが実際に使った経験は無し)
HTML, CSS
といった感じで、さすがに何もできなかったので、急いで Django (PythonのWEBアプリケーションフレームワーク、WEBアプリを簡単に作成できる便利なやつ)を勉強しました。
ですが、オフライン開発期間はほとんど Django の勉強だけで終わってしまい、やったことといえばデータベースのテーブルを2つ作って Django REST Framework の API でデータを CRUD (Create, Read, Update, Delete) できるようにしたくらいです。
そうしてほとんど何も貢献できずに迎えたオフラインイベント初日。朝7:00に家を出て予約していた新幹線に間一髪で乗り込み、東京へいざ行かん。
会場は目黒駅を出てすぐの AWS Startup Loft Tokyo だったので、新横浜で東急新横浜線に乗り換え無事到着。
AWS Startup Loft Tokyo は目黒セントラルスクエア17Fにあるのですが、ビルの中はとにかく綺麗で洗練されていて、エレベーターの扉が Amazon の段ボールのデザインになっていてテンション上がりました。
オフライン初日、(アイスブレイクも兼ねて?)まずはチームメンバーみんなでお昼ご飯に行きました。原宿のハンバーガー、おしゃれ&高い。
お昼を食べ終え再び目黒の会場に戻り、 Django で追加のテーブル、APIをやった後、他の領域でも役に立ちたいと思い React 入門の動画を見ていました。React とは UI (ユーザーインターフェース) を構築するための JavaScript ライブラリで、Instagram や Netflix など React で開発されたWEBサービスも多くあります。
1時間の入門動画で勉強をしましたが、そもそも JavaScript を学んでいなかったので結局あまり理解できず、その後の実装では Roo Code や Amazon Q にあれやってこれやってと丸投げでした。
今時AIに頼めば何でもそつなくこなしてくれますが、その出力を自分でレビューし、AIが出した結果に責任を持てるようになりたいですね。
あっという間に夜になり、サイゼリアにご飯を食べに行きました。同回生のttさんとtmさんからは「あおてん」と呼んでもらえるようになるなど、初日の外食二回でチームメンバーとかなり仲良くなれてとても楽しかったです。
宿泊場所に移動してからは、ずっとPCとにらめっこをしていました。指定した値を持つデータをデータベースから取得する API をなんとか作り終え、気づけばもうすぐ日付が変わる時間。他のメンバーもだんだんと離脱(入眠)していき、最終的に生きていたのは私とpnさんの二人だけとなっていました。私が Django でできるタスクはもう残っていなかったので UI のデザイン部分を少し改善し、5時前に力尽きて2時間ほど仮眠をとります。pnさんはイベント前日に徹夜をしていたにも関わらず、この日は一時間ほどしか寝ていませんでした。限界2徹リーダー爆誕です。
起床後はイベント会場に向かい、再び UI のデザイン部分でPCと相対すること数時間が経ち、長いようであっという間だった2週間の開発期間が終わり成果発表会の時間となりました。
チーム全体の完成度としては50点といったところ?マルチプレイの実装やユーザーによる問題の作成機能、アプリのバックエンドのデプロイなど、間に合わなかった部分が多くあり、開発の難しさを改めて実感しました。
技術的な内容は他のメンバーに任せ、発表の始めのつかみの部分だけ担当することに。まあまあウケてほっとしました。
今回のハッカソンでは、Amazonギフト券4万円が貰える最優秀賞や、同じくAmazonギフト券2万円が貰える優秀賞、限定非売品がもらえる企業賞など、とても豪華な賞があったのですが、残念ながら私たちのチームの受賞は叶わず。
チームとしては残念な結果に終わりましたが、個人的にはとても充実した2週間を過ごすことができ、満足しています。
Django, React, Git, GitHub といった技術的な成長はもちろんですが、勇気を出して一歩踏み出せたという成功経験を得られたことが何よりも嬉しかったです。チームメンバーとの仲も深まり、次回のハッカソンに一緒に参加しないかとお誘いまでいただきました。
この夏の間に技術面でレベルアップし、次回のハッカソンではもっとチームに貢献できるように頑張ります。
ハッカソン以外のさまざまな面でも、この経験を糧に少しずつ、しかし着実に成長を続けていきたいと思います。
長々と拙い文章が続いてしまいましたが、最後までご覧いただきありがとうございました。
みきあつさん&だいつーごめんなさい。