ヒダッカソンに参加してきました

今日サイバーエージェントのヒダッカソンというインターンイベントに参加してきました。
懇親会終わりで完全に酔っ払ってる状態ですが、書く気があるうちに書かないと書かずじまいになってしまいそうなので乱文ですが書いていこうと思います。

ヒダッカソンとは?

元々はサイバーエージェントの社内向けのイベントで、プログラミングの能力を競うイベントとして企画されたものだそうです。
近年は特にチューニングにフォーカスして行われていて、今回もサーバーチューニングのコンテストとして募集がありました。

流れ

8月10日と8月11日の2日間で行われて、9日は夜7時位からLTと懇親会がありました。

8月10日

LTではサイバーエージェントの仕事についてやヒダッカソンで使える考え方についてお話を聞くことが出来ました。
私が印象に残ったのは、SREについてのLTでした。
SREというと職種の名前は聞いたことがありましたが、具体的にどのような仕事をしているのかについて聞けてよかったです。(サービスレベル指標の計測やそれが達成するべき目標の設定、その目標の中で大きな障害を起こさないための訓練などをしているとのこと)

LTの後は懇親会でした。
以前のインターンで一緒だった人との再開や、関東圏外からの学生とも話せて楽しかったです。

毎度のごとく酒のツイートと画像しかなかった

次の日も一日競技ということで結構早めにお開きでした。

8月11日

ヒダッカソンのメインであるチューニングコンテストでした。
内容はほぼISUCONといった感じでした。

8時間ぶっ通しで作業をして、ヘトヘトになりました。
序盤は今までの練習とかでやってきたことをトレースしていく作業をしていました。(MySQLをMariaDBに変えるだけで点が倍くらいになって驚いた)
午後はN+1問題を一つも解決できず、ずっとミドルウェアやらDBの設定とメモリキャッシュと戦っていました。
クエリ力の弱さが露呈したという感じでした。

順位としては、調子よく作業できていた午前中は1位だったのですが途中から点数を伸ばすことが出来ず最終的には4位まで落ちてしまいました。
1位がNodeで2・3位がPHPだったのですが、Go言語本来の実力を引き出せれば1位になれただろうなあと思うと自分の実力不足を痛感しました。

競技の後は、表彰と解説がありました。
そこで聞いた解法を試したかった…(1週間位復習にインスタンスとベンチマークがしたかった)

その後お店に移動して、懇親会がありました。
めちゃくちゃためになるお話と夏休みにやりたいことを仕入れることが出来たので良かったです。

感想

悔しいです。
かなり時間をかけたにもかかわらずバグらせて投入できなかったとこがいくつかあって、そこを早くに見切りをつけてN+1とかを解消してれば3位に入れそうだったので、うまく自分の実装力との見切りをつけて他の部分に手を付けるべきだったなあと思いました。
でも、ほぼアプリケーションに手を加えないで点数を伸ばすことが出来たので、今度のISUCONではミドルウェアやDB周りについて更に知識をつけてチームの中で役割を果たせればと思います。

ヒダッカソンの参加者も半分くらいがISUCONに参加するようなのでそこでリベンジをします!