03/03〜04 にオオミシマスペースでハッカソンを開催した。
集まったのは、中国・四国地方でリモートワークを実践しているWebエンジニア4名。

ハッカソンってなに?

「ハッカソン」(hackathon)とは、広い意味でソフトウェアのエンジニアリングを指す“ハック”(hack)とマラソン(marathon)を組み合わせた米IT業界発祥の造語で、もともとはプログラマーやデザイナーから成る複数の参加チームが、マラソンのように、数時間から数日間の与えられた時間を徹してプログラミングに没頭し、アイデアや成果を競い合う開発イベントのことをいいます。weblio

できたもの

日本初?!コンソール(黒い画面)から宿を予約できるyadokari command!

エンジニア目線でおもろい事に振り切ったプロダクトを作ったw
現在最終調整中で、近日公開予定。

やったこと

準備

実際のハッカソンのイベントでは、何を作るのかその場で考えて、チームメンバーの意見をすり合わせて、物を作り始めることが多いのだが、今回の場合、参加者も事前に決まっているし、オオミシマスペースでは集中してものづくりをしたかったため、イベントの1週間前に1度打ち合わせをして、ある程度方向性を決めてから進めることにした。

DAY 0(2/25)

appearinで事前MTG。議事録はDoropboxのpaperを見ながら皆で書き込む。

メンバーは、広島、岡山、尾道、大三島と別れているので、テレビ会議でハッカソンの打ち合わせ。
普段からリモートワークをしているメンバーだけあって、スムーズに事が進んだ。

事前準備では以下の方向性が決まった。

  • つくるもの
    • 作るものは宿に関するものにテーマを絞り、
      エンジニア目線でおもろい事を当日まで各自温めるのが宿題
  • ざっくりスケジュール
    • 3/3(土)
      • 10:00 スタート
        • 何作るか打ち合わせ
      • 12:00 ランチ
      • 13:00
        • コーディングタイム (5H)
      • 17:00 温泉
      • 18:00 ごはんーー!
      • 20:00 ビール片手にコーディング LTもやるよ!
    • 3/4(日)
      • 6:00 小太郎とおさんぽ
      • 7:00 朝ごはん
      • 8:00
        • コーディング(4H)
      • 12:00 状況見ながら柔軟に。
  • 晩御飯の自炊について
    • 海鮮盛り合わせ
    • 猪鍋しよう
    • お酒を買ってきてもらう(島はお酒が高い)

DAY 1(3/3)

午前10時にオオミシマスペースに集合。
つくるものは、僕ととくみん(嫁)で盛り上がっていた、コマンドラインから宿を予約できたら面白いよねというアイディアがベースとなった。

テーマが決まると対話型コマンド実現のために各自調査タイム

さすがエンジニア、テーマが決まればアイディアが色々出てくる!宿の予約を受け付けるWebAPIを僕が作り、コマンドラインからの宿予約を他の3人が担当することになり、同じ言語でやっても面白くないのでなんと! Ruby, Python, Node.jsの3言語でそれぞれ実装することなった。

仲良くハンモックでミーティング

実装の意識合わせをするために、WebAPIの荒削りなエンドポイントの設計までをみんなでやって、決まった時点でランチライム。

午後からは、各々の担当パートに別れて黙々と実装。
1時間毎に進捗確認&軌道修正をして進めた。

Postman 久しぶりに使ったが手元のツールからWeb上のドキュメントに即時反映され、エンドポイントの意思疎通に役立った。

僕はと言うとPostManを使って、みんなが通信するべきAPIの内容を詳細に決めつつ、Railsを使って、エンドポイントを構築していった。

同じ部屋で作業をしているのだが、テキストやURLの共有する手段が必要になってきた。そこでチャットツールがあったほうがスムーズだということになり、GitHubのアカウントさえあればチャットが出来るGitter を使って同じ部屋にいながらチャット経由で情報を共有した。リモートワーカ的発想。

18時には作業を終えて、温泉に入って美味しいご飯!

カンパーイ!

お刺身盛り合わせ。 うんまっ!

お刺身盛り合わせに、大三島イノシシレモン鍋。

お酒もたっぷり呑んで夜遅くまで語り合った。

DAY2(3/4)

僕は6時に起きて、1時間ほどコーディング。 僕担当部分の遅れを取り戻した。

心配していた天気も良く、散歩に連れて行ってもらえてた小太郎もご機嫌。

7時過ぎにみんなが起きてきたので、柴犬の小太郎と一緒に浜辺をお散歩。
ドローンを飛ばして記念撮影もした。

朝食を食べたらラストスパート。
とくみんも参加して、プログラム公開ページの作成を手伝ってもらった。

Heroku上でAPIを動かし、ログにコマンドからの予約のInsert文が流れた時は本当に拍手が起こった

各コマンドから、予約情報を入力し、Webサービスに予約が表示されると拍手が沸き起こった。
各コマンドを、パッケージ管理元のリポジトリに登録したことで、世界中の人たちが簡単に宿の予約をコマンドラインから簡単に行えるようになった時には感慨深いものがあった。 コマンドは近日公開予定。

Pythonのナウい記述方法について解説。 分かりやすい!

12時に作業を終え、各自書いたソースコードをTVモニタ写し、黒板も使ってお互いにレビューしたのも学びがあってとてもよかった。最後に、隣の伯方島に塩ラーメンを食べに行って解散した。

感想

  • むちゃくちゃ楽しかった。 またやりたい!
  • そして、実装時間が少ない割(8H)には動くものがちゃんと出来たのが良かった。
  • 創るだけでなく、地元の食材を食べることが出来たし、気晴らしに散歩や温泉に行ったの良かった。
  • 参加してくれたメンバーの満足度も高く、また定期的にやりたいと言ってくれいたのが嬉しかった。

このど田舎の島に、エンジニアが集まってイベントをするのを夢見てオオミシマスーペースという場を作り、実際にエンジニアが集まってイベントが出来たことが本当に嬉しかった。初めての試みだったが大成功だったと思う。今後も定期的にイベントを開催したいし、僕ではない他のエンジニア達が合宿を企画し、人が集まる楽しい場になって欲しいと願っている。