seri::diary

プログラミングのこととかポエムとか

社内ハッカソンの企画・運営を行いました


去る5月18日、19日に社内ハッカソンを行った。
その企画・運営の1人として裏方の仕事を一手に引受け、色々と面白い経験が出来たのでまとめてみる。

1.目的

最初は「なんかみんなでワイワイやりたいね」的なところから始まったと記憶しているのだが、
えらい人「会社のお金使うからなんか有意義なことしたいね」
人事「じゃあ社外の人呼んでうちのエンジニアの空気を知ってもらってPRに使えたらよくね?」
えらい人「社外ゲスト付きハッカソンだ!」
ということで、多分うちの会社でも初であろう、社外ゲスト+社内のエンジニアによるイベントということで方針が決まった。

俺氏「でも初のエンジニアイベントで社外の人招いてやるのは(主に俺が)大変では」
えらい人「一番むずかしいと思うことは最初にやっとくんだよ」

2.企画

ハッカソンに参加したことはない。だから実は何も分からなかったが、他のハッカソンのレポートとかを読みまくって色々考えて決めた。

  1. 社内のエンジニアと社外のエンジニアを混ぜたチーム対抗にすること
  2. ゲストの技術レベルは当日になるまで分からないし、社内でもjavaでサーバサイド書いてる人もいればiphoneアプリしかやってない人がいるから技術縛りは無し。動けばよし。
  3. 作るもののお題は当日発表にした方がイベント感があっていい。
  4. お題は「○○を使ったサービス」みたいな縛りを持たず、自由に解釈できる緩いお題にする。

お題は運営チームで色々考えたが、やっぱり転職サイトをやっている身なので「キャリアアップできるもの」というお題にすることにした。
これなら「転職」だけでなく、TOEICのスコア上げるための学習アプリだとか、転職のための体力をつける筋トレ記録アプリだとか色々とこじつけられる。
いいお題だと思う。発案した相方のセンスに嫉妬。

3.準備

ハッカソンの9割は準備なんだなと初めて知った。昼は本業をこなしつつ、夜にミーティングしながら進めた。

宿泊先

伊東温泉の「山喜旅館」に決めた。
理由は色々あるが、

  1. 50人ぐらい入れてしかも24時間使える会議室があること
  2. 会議室では優先LANが使えること
  3. 無線LANが使えること
  4. 過去に色んな開発合宿の開催地となっていること(こことか)
  5. 安いこと(社内の稟議を通すためにこれ大事)
バス

渋谷のオフィスから伊東温泉までは大型バスを借りた。
初めてバスの手配をしたが、複数のバス会社に一括で見積もりを取れるバスなびで複数のバス会社から見積もりを取って一番安いところにした。
意外とあっさり予約できたが、予約してから一週間以内に料金を全額振込みということだったのでちょっと慌てたが、えらい人がいい感じにやってくれた。ありがとうえらい人。

社外ゲスト

一番すったもんだしたのがコレである。何しろ開催日は平日。社会人は無理。チーム編成上、社内の参加者に人数を合わせると10人ぐらいは社外のゲストが必要な計算になった。
さて誰を呼ぶか・・・と悩んでいたら、新卒採用担当者が大学生や専門学生に声をかけまくってくれた。
社外の就活イベントや、その他高専のイベントで学生とのコネクションがあったらしく、色んな学生に声をかけまくってくれて、1ヶ月ぐらいで何とか8人集めてくれた。その他学生の対応もしてもらった。本当にありがたい。自分たちだけではどうにもならなかったのでこの点は本当に感謝している。

賞品

せっかくだからと、全チームの投票で順位をつけて賞品を出すことにした。
賞品はえらい人のポケットマネーから出るものなので、それなりに値段を考慮して良い感じのものをアマゾンでぽちった。
賞は3つ用意して、kindleとポケットドルツ2個セットと初音ミク。とりあえず運営チームが欲しいものを基準に選んだ。

チーム分け

社外ゲスト枠だけ空けて独断と偏見で決めたら一部から多少の意見はあったものの、大きなトラブル無くきまった。幹事の権限は絶対である。
因みに人選の基準として、せっかくなので普段一緒に仕事していない人同士を組ませてみた。この時点で社内のエンジニアが24人だったので、別プロジェクトとかで殆んど一緒に仕事しない人も出てきている状態だった。エンジニアにとってコミュニケーションは大事である。いつ同じプロジェクトになるかも分からないので、ここで交流を深めて貰いたいと思った。

インフラ

チームごとにec2のsmallインスタンスを1台ずつ提供した。本番の一週間前には公開し、事前に必要な環境構築をしておいてもらった。
※うちはjava使いだらけなのでtomcat + nginx + mysqlを入れるチームが殆んどだった

4.当日の様子

参加者は総勢38名。当初想定していたよりも大掛かりなイベントになったが、結果を見れば大したトラブルもなく無事に終わった。

5/18(金)ダイジェスト

  • 朝渋谷を出発して昼過ぎに山喜旅館に到着
  • 着いて早々会議室のセッティング、持ってきたハブを繋ぎまくって全員分のLANケーブルを床に這わせる
  • 13時から作業開始。全員でつないでみたらLANが遅くて使えず。
  • 無線LANの方が多少マシということに誰かが気づき、会議室よりも無線LANの入りが良い客室に移動してそこで無線LANで作業し始める
  • 会議室涙目
  • 俺氏、設計が終わっていざ実装に入ろうとしたらusbで持ってきたjavaの空プロジェクトファイルに必要なjarが一部抜けていることに気づき、SAStruts + DBFluteのプロジェクト作り直し
  • 夕食は大広間で食べたが、食べ終わるやいなや「食べ終わったので戻って作業していいですか」で、ぞろぞろ帰りだす
  • 21時ぐらいから各チームのテンションがおかしくなり、色んな部屋から奇声が飛び交うようになる
  • 俺氏、DBFluteの設定に手間取って先に進めない
  • 22時頃、社長が手土産持って登場し、全チームの部屋を回って差し入れをくれた。しかし参加者は開発に忙しかったので誰にも相手にされず風呂へ。
  • 23時頃、俺氏、javaを諦めてPHPにスィッチすると叫び、持ってきたmac bookの電源を入れてCakePHPでサーバーサイドを作り始め、jspをctpに変換する作業を始める
  • 24時頃、相方が壊れ始めてシモネタを連呼するようになる。うるさいので反対側を向いてサーバサイドを黙々作る。
  • 25時頃、他の部屋を覗きに行くが普通に作業してるのでジャマするのも悪いと思って撤退
  • 26時頃、明日使う投票用紙が無いことに気づき、真夜中のコンビニへ紙を買いに行き、ついでに夜食を食う。まだ5月の伊東は結構寒かった
  • 27時頃、作業は終わらないが、眠いので3時間だけ寝ることにする。

5/18(土)ダイジェスト

  • 6時頃、起床、相方爆睡中だが作業の続き
  • とりあえず見せられるレベルだからまぁいいだろ、全然動かないけど、怒られないギリギリのライン、という基準で作業完了を宣言
  • 8時頃、朝食なので全室を回って起こして回る。徹夜チームもちらほら。
  • 9時頃、プレゼン開始。開会の挨拶とかしてみるが、全然パワーが出ない。それでもやる。それが運営。
  • 各チームとも意外とちゃんとしたものを作ってきた。大体がwebサービスでとあるチームはfirefox OSシュミレーター上で動くアプリ作ったりとか。これは熱い。
  • 他のチームのプレゼンが面白すぎて終始爆笑
  • プレゼンの時に各チーム一人ひとりに感想を述べてもらったが、みんなして「やってみたらすげー楽しかった!」と社内外の人に言ってもらえて俺氏涙目
  • 俺氏、プレゼンの質疑で突っ込まれて涙目
  • 11時頃、プレゼン終了、投票、えらい人の総評
  • 11時半頃、表彰式、えらい人の締めの言葉
  • 12時頃、会議室片付け
  • 13時頃、バスで帰還。速攻爆睡。
  • 16時頃、渋谷着、現地解散

5.感想

当日はそんなでもなかったが、とにかく準備が大変だったように思う。40人ぐらいのイベントだと運営がもう一人くらいいた方がよかったかも?
学生の技術レベルはまちまちで、結構書ける子から全く書けない子まで。でも社内エンジニアが上手くサポートしてくれて、徹夜orほぼ徹だったのにプレゼンの時に「すっげー楽しかった!」とか「もっと書けるようになりたいと思った」とか、前向きなコメントが多かったので、まぁ上手くいったんじゃないかなと思う。

あと今回は運営しながら普通に参加もしたのだが、運営やる時は参加しちゃいけないなと思った。考えてみりゃ当然なのだが、当日は旅館との調整とか各チームへの伝達とかで、自分のチームのサービス考えるどころじゃなかった(それでもそれなりに作ったけど)。この点は失敗したと思っているので、次回は運営に徹するか、運営は別の人に預けて参加者はとしてガチで勝負に行きたいと思う。

社内ハッカソンはやるべきか?
採用目的というなら、都内でサクっと開発イベントとか学生向けプログラミング講座〜とかをやった方が労力もかからずラクだったかも知れないが、やっぱオフィスを離れて、非日常の中で祭り的に開発をやるというのは特別な楽しさがあるので、時間とお金に余裕があるならやってみた方がいいと思う。

宣伝

なお、弊社では、ハイクラス転職サイト「ビズリーチ」やエンジニア向けコラボサイト「codebreak;」のサービス開発、また新規事業の立ち上げをしたいエンジニアを絶賛募集中なので、「俺も次回のハッカソンに出てぇ!」とか思った方はどしどし応募ください。