「皆もすなるISUCONといふものを、我もしてみむとてするなり。」
ISUCON(いい感じにスピードアップコンテスト)に参加してみたいと思ってはや数年、今年ようやく初参加しました!!!
まずは結論から言いますが「参加してみたいと思っているなら参加できるときに参加しよう!怖くないよ!」です。
なぜ今までISUCONに参加していなかったか
端的に言って「怖い」という気持ちがあったからです。
優秀なエンジニアの面々が「初参加で惨敗」というのを見るたび、「自分なんかが...」と戦々恐々としていました。
しかし、ちょうどISUCON申し込み開始日に同僚から「社内ISUCONに参加して楽しかった」というDMをもらっていました。
「怖い」ってなんだろう。負けるのが怖い?チームメンバーに「こいつできないな」って思われるのが怖い?
「いつかISUCONに参加したい」じゃあ「いつか」っていつだろう?
「ISUCONに参加できる実力がついたら」じゃあその「実力」ってどうやって測るのか?ISUCONは参加するのに試験などないのに?
ねーちゃん!あしたっていまさ!
(※ジョジョネタ)
ということで同僚のDMに勝手に励まされ、ISUCONに申し込みました。
結果
さて結果はというと...1,174点、563位?(最終結果のスクショを撮っていなかったため正確にはわからず...)でした!!
全体で834組と考えると半分より下、ということで惨敗でした...
「何も手につかない」わけではなく、もっとこう改善したいああ改善したいというのがあっただけに悔しい〜〜〜〜!!!
私がやったこと
初参加にして大惨敗だった私ですが、「何をやっていいか全く分からず気づいていたら終わっていた」とはならずにすみました。
これは私が優秀だったから...というわけではなくある程度事前準備をしていたことと、ChatGPTのおかげです。
ここまでブログを読んでまだ少し悩んでいる...という方向けに「そんなあなたにもできることはある」ということの参考になればと思って書きます。
特に「試験勉強は得意だった」という人は一歩踏み出しやすいのではと思います。
1. 「達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践」を読む
本を読んで書いてあることをとりあえず実践してみる...というのはいかがでしょうか。
私はこの本を読んで勉強したことを2つほど実践し、本番で数百点得点することができました。
1位の5万点を思えば数百点は些細な加点かもしれませんが、初心者に大事なことは「小さな成功体験を積む」ということかなと思っています。
少なくとも私は「何もできず己の無力さを絶望しチームメンバーに申し訳なくなる」ということがなくなりました。
「本に書いてあることを愚直に実践してみると良い」と思うと参加のハードルが少し下がりませんか?
2. 過去の参加記や参加メンバーの工夫・準備記を読む
とにかく情報を集めて当日何が必要かイメトレしました。
といっても優勝チームと同じことをやればいい...とは思っていませんでした。
例えば自分のような初心者が当日慣れないツールを頑張って入れることに時間を使うよりも、例え機能が単純で情報量が少ないとしても初心者に使いやすいツールを使った方が細かな改善(小さな成功体験を積む)をできるのではないかと考えました。
3. private-isuをやる
1に紹介した本にも書かれていますが、ISUCON練習環境としてprivate-isuという環境を立ち上げることでISUCONの練習をすることができます。
本当は他の過去問もやってほうがよかったなと思いつつ、時間の都合上できませんでした。
とにかく過去問を解きまくって、情報を集めまくり、「定石」がある程度できていればそれなりに加点できる
と考えると怖さが和らぎませんか?
おわりに
改めて運営の皆様、ISUCONを開催していただきありがとうございました。とても悔しくてとても楽しかったです。来年もぜひ参加したいです!!!!!!!!来年は優勝!!!!!!!!
しかしあんなに怖いと思っていたISUCONですが、出ると決めてからはまるで将棋部にいた頃のようだなととても楽しみに準備ができました。
SREとして「もっとああすればよかった」と後悔はつきませんが、来年リベンジを果たしたいと思います。
それにしても将棋のように「定石」を覚えて、過去の棋譜並べて...みたいなことをまたするとは思いませんでした。懐かしい。
また来年!