Home

MIXI Git Challenge #15 参加記

こんにちは。株式会社MIXIさんが開催しているGit Challenge #15に参加させていただいたので、その参加記を書きます。

Git Challengeとは「gitリポジトリに設けられた難題をチームワークで解決していく競技型技術イベント」1であり、2名チームで出題された複数の問題を制限時間以内に解き、獲得ポイントをチームごとに競います。

当日までにしたこと

MIXIの新卒研修として公開されているGit研修資料を読みました。

Git 研修 Basic【MIXI 25新卒技術研修】
本スライドは、MIXIの2025年度新卒向け技術研修で使用された資料です。   MIXI 2025新卒技術研修 <strong>『Git 研修 Basic』</strong>    ▼リポジトリ https://github.com/mixigroup/2025BeginnerTrainin&hellip;
Git 研修 Basic【MIXI 25新卒技術研修】 favicon speakerdeck.com

また色々な方が公開されている過去の参加記を読み雰囲気を掴むとともに、公開されている過去問題を見てみました。

GitHub - mixi-git-challenge/git-challenge-is-order-an-adding: Git Challenge Quiz
Git Challenge Quiz. Contribute to mixi-git-challenge/git-challenge-is-order-an-adding development by creating an account on GitHub.
GitHub - mixi-git-challenge/git-challenge-is-order-an-adding: Git Challenge Quiz favicon github.com
Git Challenge Quiz. Contribute to mixi-git-challenge/git-challenge-is-order-an-adding development by creating an account on GitHub.
GitHub - mixi-git-challenge/git-challenge-minesweeper: Git Challenge Quiz
Git Challenge Quiz. Contribute to mixi-git-challenge/git-challenge-minesweeper development by creating an account on GitHub.
GitHub - mixi-git-challenge/git-challenge-minesweeper: Git Challenge Quiz favicon github.com
Git Challenge Quiz. Contribute to mixi-git-challenge/git-challenge-minesweeper development by creating an account on GitHub.

始まるまで

10時40分集合だったので、25分くらいに渋谷駅に着くように出発しました。渋谷は人混みがすごいので揉まれながら何とか到着。オフィスの入口が分からず少し迷ってしまいました。
建物に入るとエレベーターがすごく広くて驚きました。オフィスも非常に綺麗で、さすがスクランブルスクエアという感じでした。

到着すると机の上にはステッカーとロゴの入ったプリングルズが置いてありました。2

会場には10チームあり、その中でfoxtrotチームに配属されました。始まるまでは初めて会ったペアの人と談笑していました。どちらも普段gitを使うぐらいなので、善戦できればいいねーという話をしていました。

午前

午前中は社員さんによるキーノートと競技のチュートリアルがありました。

キーノートではgit worktreeの紹介があり、初めて知った機能でしたが結構活用できそうで勉強になりました。複数のブランチを同時に扱えるのは便利だなと思いました。

チュートリアルでは問題の解答方法の説明がありました。3 問題の解答はリモートへのpushによって行い、自動でCIが回って正解/不正解の判定が行われ、それがスコアボードシステムにリアルタイムで反映されました。内部の仕組みを聞きたかったのですがタイミングを逃してしまいました。

ランチ会

綺麗なオフィスでのランチ会でした。飲み物とお弁当が配られ、お弁当は種類を選べたので牛タン弁当を選びました。

牛タン弁当

座席は参加者5人あたり社員さん2人くらいの配置でインターンや就活事情について話しながら食べました。めっちゃ美味しかったです。
同年代のエンジニア志望の人たちと交流できる貴重な機会でもありました。関西から来てる人もいてすごいの気持ちになりました。

午後

ランチが終わったら早速競技開始です。問題の詳細については述べることができませんが、とった戦略について話します。

キュー形式で簡単な問題から解いていき、解き終わったら次の問題、わからなかったら飛ばすという戦略を取りました。幸い分からないという問題はなく、比較的順調に前から解き進めることができ、★9の問題を除く全てを完答することができました。そして最終的には全体で1位のスコアを取ることができました。

順位表(チームはfoxtrot) 順位表(チームはfoxtrot)

競技時間3時間中、半分の1時間半で★3までの問題を解くことができ、残りは自分が★10を相方が★8を解いて終了となりました。特に終了3分前に★10を解くことができ、ギリギリで2位から逆転することができました。社員の方も「ドラマが起きた」とざわざわしていました。

スコアの遷移グラフ

久しぶりに物事に熱中して、最後は疲れでいっぱいでした。
終了後は社員さんによる分からない問題の解説がありました。自分の担当じゃない問題などの解説があり面白かったです。Gitの奥深さを改めて感じました。

懇親会

場所を移動して懇親会が開かれました。まずは表彰ということで賞状とメダルをいただきました。

賞状とメダル

その後は全員で乾杯をして、食事をしながら他のチームの感想や技術談義、就活の話などができました。社員の方々やFFの人とも話せてよかったです。

感想

競技に関して

主にコンフリクトを解決する系とgitの内部構造をいじくる系の問題があり、それにうまく戦略がマッチして前者を自分が後者を相方が担当できたので効率的に解くことができました。なのでもう一方の問題はあまり手を付けられてなく、復習したいと思います。

個人で解いた問題 個人で解いた問題(不正解表記は相方が解いた問題)

また相方が話しかけやすい人でコミュニケーションを密に取ることができ、いい感じに連携できました。ペアプログラミングの良さを実感する場面でもありました。
これだけ解けたのは過去1、2チームという話もあり、そんな中で★10を解けて非常によかったです。変4な問題に対応するCTF力も役に立ったかもしれません。

学んだこと

今回、競技中も含めて新しくgitのサブコマンドを知ったり、いろいろな知識や交友を得られました。特にgit worktreeのような実用的な機能を知れたのは大きな収穫でした。
また同年代のエンジニア志望の人たちとの交流も非常に有意義でした。普段なかなかこういった機会がないので、技術的な話から就活の話まで幅広く話せて楽しかったです。
MIXIの社員さんとも直接お話でき、企業の文化や技術的な取り組みについても知ることができました。

おわり

Gitの奥深さを改めて感じるとともに、チームで問題解決に取り組む楽しさを実感できた素晴らしいイベントでした。主催してくださったMIXIの皆様、一緒に頑張ったペアの方、参加者の皆様、本当にありがとうございました。

他にもBug Shooting ChallengeやTDD Challenge5というものもあるらしいので挑戦してみたいです。

脚注

  1. https://github.com/mixi-git-challenge/publications より引用

  2. 写真は撮り忘れてしまいました

  3. 参考: https://github.com/mixi-git-challenge/git-challenge-tutorial

  4. 複雑で面白おかしいの意

  5. テスト駆動開発。一体どんなことをやるんだといった感じ

icon

kq5y