mixi 2Days Challenge に参加してきた話
2Days Challengeとは
mixi-recruit.snar.jp mixiが主催する技術イベント
TDD ChallengeとBug 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日目は紐を引っ張って温めるタイプのお弁当だった
飯をいただく#mixi_TDD pic.twitter.com/caFeQfvieM
— mina (@silmin_) August 31, 2019
2日目は題材のWebアプリにちなんで(?)釜飯だった
あけた#mixi_BSC pic.twitter.com/pAZ1cZkwCH
— mina (@silmin_) September 1, 2019
懇親会
いろいろな人と話せて楽しかった.
懇親会はじまる#mixi_BSC pic.twitter.com/gB7isxSSMO
— mina (@silmin_) September 1, 2019
宿泊
Airbnbでmixiがとってくれた民宿におたく5人で泊まった
5人でいい感じの民泊に宿泊です
— mina (@silmin_) August 31, 2019
ちなみにここでは僕が部屋の鍵を紛失し大騒ぎした(僕のスーツケースからでてきた)
鍵なくして部屋のみんなとmixiの人に迷惑かけた結果自分のスーツケースから鍵出てくるとか、また一つ社会性のNASAを露見させてしまった
— mina (@silmin_) September 1, 2019
余談
1日目の朝,11:20開始だったのにも関わらず10:40ごろ起床し,30分ほど遅刻をかました.
明日こそ起床失敗できないので
— mina (@silmin_) August 30, 2019
絶起
— mina (@silmin_) August 31, 2019
おまえ〜〜〜〜〜〜〜〜〜〜〜〜〜〜
— mina (@silmin_) August 31, 2019