竹内(@rikson_en)のホワイトニング話を聞きながら、 歯ケアとプログラミングの話題がこんなにも自然につながるのかと感心している。
竹内は歯科医院でレーザーを当てる「オフィスホワイトニング」よりも、マウスピースに薬剤を塗って自宅で行う「ホームホワイトニング」を選んだそうだ。
即効性重視のオフィスに比べ、ホームは時間がかかる反面、内側からしっかり白くなるらしいが、 マウスピース作成に加えて、毎日の装着が必要だったり、コーヒーなど色の濃い飲み物をしばらく控えたりしなければならないなどと、なかなか苦労が多いようだ。
装着中は歯の表面に薬剤が乗った状態になるので、食事や水分補給が制限されるのも厄介で、 さらに、マウスピースと薬剤による多少の痛みや不快感もあるようで、就寝しながら行うと刺激が強まるケースもあるという。
オフィスホワイトニングなら短期間で済むが、白さの持続は期待できないし、費用面でも複数回の施術を重ねるとなれば結局は負担が増える。
芸能人のように真っ白な歯を手に入れるには、それなりの回数とコスト、歯へのダメージに耐えねばならないのかもしれない。
とはいえ、マウスピースを作ってしまえば薬剤の追加は安価に済むため、自然な白さを目指すにはホームの方がよさそうだ、と竹内は言っていた。
一方で、最近の竹内はホワイトニングだけでなく、急遽「ISUCON」というパフォーマンスチューニングの大会に参加するはめになったそうだ。 このISUCONは、LINEが主催する一種の競技で、与えられたWebシステムを短時間で最適化し、そのスコアを競う仕組みらしい。 3人までのチーム制で、竹内は最初チームが埋まっていたので参加を断念していたところ、メンバーの都合が変わって“繰り上げ参加”になったという。 もともと仕事の都合もあり準備がほぼゼロで、書いたことのないGo言語を使うことになり、さらに友人の結婚式の翌日に合わせて東京へ行く強行スケジュール。 まるで観光する間もなく参戦する「記念参加」状態だと笑っていた。
面白いのは、こうしたプログラミングの大会にもいろいろな系統があることだ。 僕自身、昔、競技プログラミングに挑戦していたが、そこでは制限時間内に与えられた数問の課題をできるだけ多く、そして速く解く必要があり、アルゴリズムや数学的要素の比重が大きかった。
速く正確にコードを書くのは非常に大変で、A〜C問題を解いているうちに時間切れでDやEまで到達できないなんてこともざら。 土曜の夜がまるまる潰れるうえに、業務でそれほど役に立つわけでもないので、モチベーション維持が難しくていつの間にかやめてしまった。
一方、ISUCONはまさにWebのパフォーマンス改善という実務寄りの分野。N+1問題を解消したり、データベースのインデックスを貼ったり、リソースの使用状況をモニタリングツールで監視したりと、業務に直結したスキルを磨けるのが魅力だ。
竹内にいわせると、Go言語での参加が人気なのは、過去の公式リポジトリやサンプルが充実しているかららしい。 ISUCONの過去問を解くにもGoでの情報が多く、すでに参加経験のあるメンバーに合わせてGoを使うチームが圧倒的に多いという。 とはいえ、竹内自身はGo初心者なので、さしあたっては文法やツールの基本をさらうところから始めている状況だそうだ。 競技プログラミングとは違い、1年に1回きりのISUCONであるだけに、どこまで準備が間に合うかは定かではないが、「まずは楽しむ」のが今回の狙いらしい。
ホワイトニングもプログラミングの大会も、手を動かし、試行錯誤を繰り返すことが重要だということを改めて感じた。
歯を白く保つには、多少の痛みや制約を受け入れながら日々のケアを続けるしかない。ISUCONで良いスコアを出すには、短期間でも集中して課題に取り組むしかない。 竹内はマウスピースを装着してコーヒーを我慢し、Go言語の本を片手に休日を過ごすことになるかもしれない。 しかし、そうした経験こそが、新しい学びや成長に繋がる。僕もいつか、竹内と地元の仲間たちと「えひめチーム」を結成し、ISUCONに挑戦してみようと思う。 そして、歯ももう少し白くしたい、なんて欲も出てきた。何事も挑戦が大切だと、改めて感じる出来事だった。