参加までの経緯
以前はdiscordのbot開発を趣味でやっていましたが、勢い余って最近はWeb開発もしています。(私個人として)怠りがちな、サービスの不具合修正に対する戦略がテーマとなっており面白そうだったので参加しました。
概要
やったこと
ユーザーからの不具合問い合わせの文章を読み、
- ログを抽出して分析
- 原因を推定・記録
- カスタマーサポートへ調査結果を報告
- 必要があればコードを修正してPR
- 同様のバグを今後起こさないための解決策を考える
ということをしました。主にバックエンドでの操作が多かったです。
仕様した技術
- Big Query
- Next.js
- Go
- PostgreSQL
スケジュール
11:00 ~ 12:00 講義
12:00 ~ 13:00 昼食
13:00 ~ 14:00 環境構築
14:00 ~ 18:00 実践
18:00 ~ 19:30 懇親会
内容について
午前の講義では不具合対応の流れや、そもそもなぜ不具合対応が必要なのかについて学びました。さらに、システム構成の解説もあり、Clean Architectureという関心事を分離させるための戦略についての学習もしました。初学者にもやさしく、スライドや解説がとても分かりやすかったです。
昼は本ワークショップに参加している他の学生さんやMIXIのエンジニアさんたちと一緒に昼食をとりました。牛タン弁当が美味しかったです笑。エンジニアさんとの会話では、社内の雰囲気や仕事の様子、扱う技術の話など沢山できて楽しかったです。会話のなかでは自分の知らないことも沢山あり自分の未熟さを思い知ると同時に、便利な技術も教えてもらえてとても勉強になりました。個人的にモンストが好きで8年くらいやっているのですが、モンストに関わった技術的な話も聞けて大満足です笑。
午後はいよいよワークショップに取り組みました。形式は2人のペアワークで、3(+extraで1)つの問題をそれぞれ制限時間内に取り組みました。ログとって分析、調査結果をまとめる、バグを修正するっていう作業は意外に時間かかるので、二人でうまく分担することが大事だなって思いました。どこまでわかってどこが分からないか、何を知りたいか、どうすれば解決しそうだとかを思いついたらさっさと共有することがポイントです。(自分から見て)3問中, 2問はほぼ正答, 最後の1問は原因を特定できたものの、実装ができずアイデアのみを答え終了となりました。最後の問題は、自分のGoへの知識の浅さが原因となっていたので悔しかったです。問題が実務でも起こりうるテーマになっていて実践的な経験が得られました。1問ごとに得られた知識や教訓が多くとても有益でした。取り組み時間の間は常にエンジニアさんが巡回してみていてくださり、分からない部分は丁寧に教えてもらえました。また、よりよい解答(つまり不具合調査に対するベターなアプローチ)をするにはどうするかを私たちに問いかける形式で導いてくださり、バグ調査に限らずエンジニアリングする上での考え方も知ることができました。
最後は優勝チームの表彰 & 懇親会がありました。私たちのチームは優勝できませんでしたが、今後のモチベーションアップにつながったので良かったです。懇親会では昼と同様にエンジニアさんや他のメンバーと話しました。勤勉で博識な他の方々と触れられ良い刺激になりました。個人開発だと自分で調べたことしか得られませんが、人と話すと自ずと一人では出会わなかっただろう技術や考え方のキッカケを得られるのはお得ですよね笑。
感想
初めてのワークショップ参加でしたが、MIXIさんの手厚いサポートにより贅沢な環境で楽しく学ぶことができました。こういうイベントは勉強することの他に、モチベーションの向上や他の人と情報交換できたりと良いこと尽くめなのでまた機会あれば参加したいです。最後になりましたが、本イベントを企画・運営してくださったMIXIの方々には感謝申し上げます。