SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

イベントレポート

Google Hackathon体験レポート
仲間と同じ目標に向って一気にアプリを作り上げる一体感

デブサミ版 Google Hackathon実体験記

  • X ポスト
  • このエントリーをはてなブックマークに追加

当日 ~ 楽しいコーディングの時間の始まり

 いよいよHackathon当日。昼食とおやつをコンビニで買い込んで、意気揚々と会場に向かった。会場ではコンセントの挿し口が用意されたテーブルに、5人が向かい合って座った。コミュニケーションが取りやすい布陣である。もちろん、無線LANも準備されている。

卓を囲んで万全の布陣
卓を囲んで万全の布陣

まずは役割分担と設計をしっかりと

 まず最初に、全員で設計と役割分担について決定した。ミーティングを進めて行くと、リーダーに向いている人、ムードメーカー、よく気が利く人など、各自の個性が出てくる。口頭で話すだけではなく、スケッチブックに図を書いて全員でしっかりとイメージを共有するのも大切だ。結局、サーバサイドとクライアントサイドに分かれて開発することになった。多少自分の持っているイメージと合わない部分もあったが、そこは時間との兼ね合いや筆者が引っ込み思案なこともあって妥協してしまった。ここで躊躇せずに意見を述べて、もっと議論をぶつけあってもよかったかもしれないと少し反省している。

スケッチブックを使ってイメージを共有する
スケッチブックを使ってイメージを共有する

さぁ、あとは思う存分コーディングするだけだ

 準備も整い、いよいよ開発開始だ。全員がノートパソコンに向かって、作業に没頭する。電話も鳴らないし、やるべきルーチンワークもない。普段の仕事と違って割り込みが全くないのが新鮮だ。あっという間に1時間、2時間が過ぎてしまった。その間、コミュニケーションのやり取りにGame1チームが使っていたのがSkypeによるチャット。他人の作業を邪魔せずにコミュニケーションがとれる。細かい調整のために、多いに役に立った。

Skypeのチャットで、作業を邪魔することなく密な連携をした
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と言う素晴らしいエンジニア文化が、日本発の優良なソフトウェアを一つでも多く開発するための起爆剤となってくれれば幸いである。

おまけ: ソーシャルクエストの紹介

  筆者たちが作成したOpenSocialアプリケーション「ソーシャルクエスト」を簡単に紹介する。

Game1チームの作品「ソーシャルクエスト」。住んでる地方や趣味などにより、ステータスは変化する
Game1チームの作品「ソーシャルクエスト」。住んでる地方や趣味などにより、ステータスは変化する
パーティーを組むメンバーによって、敵との相性は大きく変わる
パーティーを組むメンバーによって、敵との相性は大きく変わる
バトルの勝敗は、友達にもアクティビティとして通知される
バトルの勝敗は、友達にもアクティビティとして通知される

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
イベントレポート連載記事一覧

もっと読む

この記事の著者

hiratara(ヒラタラ)

1977年に苫小牧市で生まれる。北海道大学理学部数学科卒。小学生の頃、両親に買い与えられたMZ-2500でプログラミングを始めた。学生時代、CGIの自作に没頭し、それ以降WEB開発の魅力に憑かれる。社会人になっても数学好きは変わらず、専門書を買い集めるのが最近の趣味。id:hirataraにてblogを執筆...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3599 2009/02/20 14:01

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング