当日 ~ 楽しいコーディングの時間の始まり
いよいよHackathon当日。昼食とおやつをコンビニで買い込んで、意気揚々と会場に向かった。会場ではコンセントの挿し口が用意されたテーブルに、5人が向かい合って座った。コミュニケーションが取りやすい布陣である。もちろん、無線LANも準備されている。
まずは役割分担と設計をしっかりと
まず最初に、全員で設計と役割分担について決定した。ミーティングを進めて行くと、リーダーに向いている人、ムードメーカー、よく気が利く人など、各自の個性が出てくる。口頭で話すだけではなく、スケッチブックに図を書いて全員でしっかりとイメージを共有するのも大切だ。結局、サーバサイドとクライアントサイドに分かれて開発することになった。多少自分の持っているイメージと合わない部分もあったが、そこは時間との兼ね合いや筆者が引っ込み思案なこともあって妥協してしまった。ここで躊躇せずに意見を述べて、もっと議論をぶつけあってもよかったかもしれないと少し反省している。
さぁ、あとは思う存分コーディングするだけだ
準備も整い、いよいよ開発開始だ。全員がノートパソコンに向かって、作業に没頭する。電話も鳴らないし、やるべきルーチンワークもない。普段の仕事と違って割り込みが全くないのが新鮮だ。あっという間に1時間、2時間が過ぎてしまった。その間、コミュニケーションのやり取りにGame1チームが使っていたのがSkypeによるチャット。他人の作業を邪魔せずにコミュニケーションがとれる。細かい調整のために、多いに役に立った。
もちろん、行き詰まってしまった場合はお互い声をかけてさっさと解決する必要がある。同じテーブルに座っているため、直接画面を見せ合いながら話ができるので効率がいい。こうしたテンポの良さが、コーディングの楽しさを加速させる。楽しいからコーディングがさくさく進み、コーディングが進むから楽しくなると言う、いい循環ができあがるのを感じた。
各メンバーの持つ得意分野を生かせるのも嬉しい。サーバサイドが得意な人、HTMLやCSSが得意な人、ユーザインタフェース周りが得意な人、ソースコードのバージョン管理が得意な人、色んな人が参加していた。筆者は初めてjQueryに触ったが、「div要素にdisplay: none;
を指定しておき、後から$().show()
メソッドを呼んで要素を出現させる」と言うテクニックを教わった。その代わり筆者が得意とするバックエンドの作成では、使い勝手のよいライブラリを作成して他のメンバーの支援に勤めた。
頼れるのは、同じチームのメンバーだけとは限らない。なんせ会場に居る全員が、自分たちと同じ開発者なのだ。情報交換には困らない。また、Googleが主催しているだけあって、直接チューターの方にOpen Socialについて教えてもらうこともできた。筆者のチームでは、チューターの方に、ホワイトボードを利用してOAuthについて丁寧を解説して頂いた。
時間はあっという間に過ぎ、タイムアップが近づく
そうこうしているうちにあっという間に時間は過ぎ、時間は16:00。発表まで後1時間だ。正直に言って、全然時間が足りなかった。時間配分に関しては、もう少しメンバーに声をかけながら意識的に調整すべきだったと反省している点である。結局、予定していた内容の60%くらいしか終わっていなかったのだが、発表のために大慌てで全体を結合した。運良く、目立った不具合は発生しなかった。集中してコーディングをすると、バグも入りにくいと言うことなのかもしれない。
ついに成果物のお披露目!
17:00、開発の成果を発表する時間が来た。各チーム、様々な趣向をこらしたアプリを作っていた。自分たちと似たような内容のアプリを作っているチームもあり、互いに比較することで色々勉強になった。また、フレンド同士で素材を持ち寄って新しい素材を調合すると言うような、斬新なアイデアも出ていて興味深かった。
筆者の所属したGame1チームも、Social Questを無事に作り上げて発表を行った。力を合わせて一つのアプリケーションを作り上げられたことは、大きな自信にもなった。一緒に開発をしたチームのメンバーには、この場を借りて心から感謝したい。
【班名】 | 【テーマ】 |
Feed | 自分がチェックした本をRSSから取得し、状態管理 |
Multimedia1 | Canvas viewを生かした、読み上げ機能付き電光掲示板 |
Multimedia2 | 自分の顔が写った写真をSNS上から収集して表示 |
App Engine | コードスニペットを共有するためのアプリ |
Game1 | 社会の敵に立ち向かう、ソーシャルRPG |
Game2 | 友達とチームを組んで挑戦する喧嘩神輿 |
Poke | 友達からのツッコミにより変化する脳内メーカー |
Tutorial | 各自、チュートリアルにそってアプリを作成 |
まとめ
こうして筆者のHackathonは幕を閉じた。Hackathonに参加して、自分が単なるサラリーマンではなく、エンジニアであることを強く実感した。やはり開発は楽しい。そして、楽しみを共有できる仲間が居ることはもっと楽しい。チームの仲間と、同じ目標に向かって一気にアプリケーションを作り上げる一体感は、仕事ではなかなか味わえない感覚だろう。
みなさんも、機会があればぜひHackathonへ参加してみて欲しい。そしてこのHackathonと言う素晴らしいエンジニア文化が、日本発の優良なソフトウェアを一つでも多く開発するための起爆剤となってくれれば幸いである。