Bug Shooting Challenge #5 に参加しました

はじめに

こんにちは。鷹富士大翔(たかふぢやまと twitter@tkfjymt)です。はてなブログ初投稿になります。2020年12月19日に、mixiさん主催のBug Shooting Challenge #5 に参加したのでその記事になります。

で?何をやったの?

競技プログラミングならぬ「競技CRE」をやりました。CREとはCustomer Reliability Engineeringの略で、詳しい定義はググってください。

ペアワーク形式で、設定としては「某ゲームのCREチームにペアと2人で配属されました。お客様から『これはバグなんじゃないの?』というお問い合わせを頂くので、課題を特定し解決してくださいね。」といったものです。使用技術はRuby on Railsで、サーバサイドで起きている課題を解決していきます。

顧客目線で見える情報だけを渡されて、そこからコードベースの課題を特定していくプロセスが自分にとって新鮮でした。

ノベルティ紹介

事前課題に合格すると「mixi GROUP」と書かれた段ボール箱が家に送られます。中身はパーカーと懇親会セットです。まずはパーカーのご紹介。

f:id:tkfjymt:20201220093327j:plain
f:id:tkfjymt:20201220093301j:plain

いいロゴですね。ちなみに当日は着なかったのですが、よくよく考えると他に着る機会も無いですし、当日に着るためのパーカーであることにブログを書いている段階で気づきました。自分の観測範囲内で着てたのは1人だけだったので、多分こっち側がマジョリティだったと思います。

そして懇親会セットがこちら。

f:id:tkfjymt:20201220093237j:plain
懇親会セットであることに気づかず、届いた瞬間に危うく食べそうになりました。さすがにじゃがりこはテンション上がりますよね。

当日の流れ

イベントそのものは11時から19時まででしたが、「ブログを書くまでがチャレンジですよ」というお言葉を頂いたので、開催時間帯は個人差があると思います。

流れはザッと、以下の通りです。

  • 座学(RailsとBig Queryについて)
  • お昼休憩(お蕎麦を食べながらamazon primeで呪術廻戦を見た)
  • 環境構築+チュートリアル問題
  • 本番(3問)
  • 懇親会
  • ブログを書く

座学

Railsはサクッと解説がありました。Big Queryに関してはかなり勉強になったので、そのアウトプットをここに残します。

Big Queryって何?

  • DWH(データウェアハウス)である
    • 大量のデータの保管・分析が可能
    • SQLでデータにアクセスできる
    • 応答時間が長かったり、頻繁な更新には向いていなかったりするのでwebサービスのDBとしては不向き
    • ではいつ使うか?
      • 例えば、本番環境で発生したログを保管するのに便利
      • サーバサイド開発をしたことがある人なら分かると思うが、ログのデータ量はとんでもない
      • そこで、ペタバイトクラスのデータが扱えるDWHに保管しておく
  • GCPのサービスの1つで、同じようなサービスとしてAWSのRedshiftが挙げられる

今回行った「顧客目線で見える情報だけを渡されて、そこからコードベースの課題を特定していく」というプロセスの中には、ログをしっかりと見て実際に何が起きていたかを調べる場面が出てきました。

本番

今後も同じ内容のものを扱う可能性があるとのことで、具体的な問題の詳細については言えません。学生の方なら参加のチャンスがあると思いますので、是非その目で確かめてください。

反省点としては、railsエンジニアとしての地力不足や、トラブルシューティングに対するアプローチがよろしくなかったことが挙げられました。後者については時間制限があったからこそ、より強く自覚させられるものでした。

実力不足が故に最後まで解き切れなかった問題もありましたが、どの問題も課題を特定して方針を立てるところまではできたので、そこは良かったのかなと思います。

普段の長期インターンで体験している業務とは違った課題に取り組むことができたので、学びが多かったコンテストでした。

バグを解決するというのは確かに重要な仕事の1つなのですが、ユーザのアフターサポートも大事であるという話がありました。お詫びとしてアイテムを提供するスクリプトを書いて、いつでも迅速に実行できるようにしておくことなどが具体的な例として挙げられます。

懇親会

オンラインの開催なので、事前に送られた懇親会セットと共に参加しました。過去のオフライン開催では、豪華なご飯が振る舞われたそうじゃないですか。じゃがりこの方が豪華ですけどね!また、vimの布教活動が行われていました。自分も最近vimmerの仲間入りを果たしたので、便乗しました。vimって無料なんですよ?知ってました?

最後に

本当に良い勉強になりました。主催のmixiさんにはこの場で感謝を申し上げます。ついでに、このイベントを知ることができた自分の幸運にも感謝します。

これからもテック系のイベントに出ては、このようなブログを書いていきたいですし、エンジニアとして大事な活動だと思います(インターンの時も書いておけばよかった…)。特にISUCON(いい感じにスピードアップコンテスト)に出場してみたいです。来年の開催までにレベルを上げておきます。

完全に余談ですが、今回のブログを書き終えて、長めの文章を書くのが好きであることを再確認しました(レポートは嫌い)。体力も必要なので、1記事あたり2000字くらいがちょうどよさそうです。Qiitaも今年中に初投稿します(本当かな?)。最後まで読んでいただきありがとうございました!