スキルオークションとスキルオークションを運営している
サイバーウェーブが企画したイベントに、審査員として参加してきた。
スキルオークション
http://skillauction.jp/
サイバーウェーブ
http://cyberwave.jp/
イベント詳細(mixi)
http://mixi.jp/view_event.pl?id=1328339
PHPのエンジニア5人、Javaのエンジニア5人を集めて、
お題を与えてプログラムを作ってもらってその出来によって優劣を決める。
競技参加者はサイバーウェーブの社員等に加えてスキルオークションに
登録しているエンジニアの方々。
予選のお題は「掲示板」。制限時間はなんと10分。
開発環境は以下のような感じ。
- 主催者が用意しているPCを使う。
- そのPCに入っている開発環境のみ使える。
- インターネットには繋っていない。
- Emacs は入っていない。
- Eclipse のプラグインはあんまり入っていない
- HTML のテンプレートなんかもない
PHP組はそこそこ動くところまで持っていっていたけど、
Java組はさすがに10分では全部の実装はできてなかった。
短時間でプロトタイプ的なものを作る、という場合には、
やっぱり Java より PHP の方が開発は速いね。
決勝のお題は「対戦○×ゲーム」。制限時間は15分。
15分じゃ全部の実装は無理なので、どの部分を作るか、
が勝負だよね、と話をしてたんだけど、
なんと網岡さんがほぼ完全な実装を作ってしまった。
ロジックもしっかりしているし、インターフェースも良い。
網岡さんは予選ではクラスを用いたコーディングをしてたのに、
超短時間の開発には、表示から作ったほうが速いということで、
コーディングスタイルも変えていた。対応力がすごいね。
ということで当然優勝。
本命だった PukiWiki の作者の小田さんは残念ながら2位。
3位の中島さんは終わった後にすごーく悔しそうにしていた。
演出は「鉄人」というだけあって「料理の鉄人」風。
進行、音楽等、演出がとても見事。
担当者は、準備に2日寝てないんですよ、と嬉しそうに語っていた。
やってみてわかったことは以下。
- 予想よりすごく面白かった。良い企画じゃん。
- 10分、15分という時間は無茶な気がするけど意外と書けちゃう。
- 開発環境が慣れた環境と違うので効率があきらかに悪そう。
開発環境持ち込み可の無差別級みたいなクラスがあると面白いかも。
- 審査基準をもうちょっとはっきりさせたほうがフェアかも。
まあ今回は差が大きかったので結果には問題がなかったけど。
- Java と PHP が同じお題で戦うのはちょっと無理がある。
- 今回のお題だと Perl とか Ruby とか Python のほうが
開発効率は良いかもしれない。
言語はなんでも良い、というクラスがあっても良いかもしれない。
- Java の部にエントリした人の中に JavaScript だけで実装した人がいた。
反則!、なんだけどプロトタイプを作るだけなら、
わりと正しいアプローチのような気がする。
完成度が高かったら決勝に進めてあげたかった。
今回は第1回ということでプロトタイプ的な位置付けで、
わりと内輪のメンバーで、それほどアナウンスをせずに開催。
準備も急だったしね。
盛り上がったら規模を大きくしてやろう、ということなんだけど、
面白かったのでまた開催されると思われる。
コーディング速度に自信がある人はエントリするよろし。
なお審査員をやるにあたって、以下のことを重点的に見よう、
と思ってたんだけど、ほとんどの人がちゃんと実装していなかった。
残念。
制限時間が短いしテンプレートも使えないから仕方ないけどね。
- セキュリティへの配慮
- 適切なファイルロック
- 適切なセッション管理
- 適切な HTML 構文
それと、やっぱり喋るの下手だよなあ。要修行だのう。