世紀末の墓

世紀末の墓

IT系寄りの雑記

mixi 2Days Challenge に参加してきた話

2Days Challengeとは

mixi-recruit.snar.jp mixiが主催する技術イベント

TDD ChallengeBug Shooting Challengeの2つで構成される
(TDD: Test Driven Development)

どちらも1チーム2人で行われる.

11:00~19:00くらいで行われ,交通費と宿泊支給,お昼ご飯と最終日は懇親会があった.
謎の待遇の良さである.

参加した経緯

そもそもこのイベントの存在は最初知らなかった. mixiのサマーインターンに応募した流れで人事の人から案内があって,じゃあイキマスとなった.インターンは落ちた.

TDD Challenge

テスト駆動開発で色々な課題を解こうみたいなやつ.

言語はRubyで,テストはMinitestって奴をつかった.

課題はいくつかあって,先に出来るだけテストしやすい設計をしてテストを書くことを推奨された.

所感

普段の開発でテストらしいテストを書くことがほとんどなく,新鮮な感覚だった.
よくテストテストって言ってるのはこれのことか...みたいな感じ.

僕はよく自前で確認スクリプトを書くのだが,これをいい感じにクラスで定義してくれている奴を使う感じ.

テストがあるとそこに書いたようなケースは保証されるので結構安心できる.
社員さんのLTにもあったが,テストはドキュメントにもなるし書けるなら書いた方がいい.

ただ,テストの出力結果はちょっと見づらかったのは険しめだった.

Bug Shooting Challenge

最初にバグが埋め込まれたWebアプリを渡される.
そのアプリの利用者から不具合報告が届くので,それを元に修正するという感じ.
業種としてはCRE(Customer Reliability Engineer)が該当するらしい.
見るのはコードだけじゃなくてHadoop(hive)に溜まったアプリとリクエストのログやユーザーデータ等もみる必要がある.
環境はruby on railsとHadoopとmysql.

これはコンテスト形式で修正部分をPRすることで採点される.
コード修正だけでなく,PRやissue文も評価される.

所感

railsなんもわからんマンだったが,ペアがわかる人で助かった.

不具合報告を受けて調査→原因特定→修正→報告みたいなのが結構楽しかった.
コード側の原因特定は結構早めにできたが,その不具合の再現や修正の方向性や選択肢等,PRやissueに書く内容を考える方が大変だった.

etc

昼食

1日目は紐を引っ張って温めるタイプのお弁当だった

2日目は題材のWebアプリにちなんで(?)釜飯だった

懇親会

いろいろな人と話せて楽しかった.

宿泊

Airbnbでmixiがとってくれた民宿におたく5人で泊まった

ちなみにここでは僕が部屋の鍵を紛失し大騒ぎした(僕のスーツケースからでてきた)

余談

1日目の朝,11:20開始だったのにも関わらず10:40ごろ起床し,30分ほど遅刻をかました.