誰かが黙って変えてくる世界で生きるということ
ある朝、自分が作ったものが静かに壊れていました。
私が開発しているChrome拡張「Gfizz」は、GoogleのサービスにちょっとしたUIの機能を追加するツールです。
定期的にチェックしていたら、Google Chatの部分だけ動かなくなっていることに気づきました。
原因は、Googleが画面の内部構造を予告なく変更していたこと。
私のコードが「ここにボタンがあるはず」と探しに行く場所が、もう存在しなくなっていたのです。
何も変えていないのに、壊れる。
そんな理不尽な世界です。
変わることを前提にする

最初は戸惑いました。
自分がミスをしたわけでもないのに、なぜ直さなきゃいけないのかと。
でも、考えてみれば、変わらないものなんてそもそもないのかもしれません。
Googleのサービスは日々進化しています。
より良くするために構造を変える。
それ自体は正しいことです。
ただ、その変化の影響を受ける側としては、少し大変なだけ。
「壊れないように作る」のではなく、「壊れたときにすぐ直せるように備える」。
そう考え方を切り替えてから、気持ちが楽になりました。
小さな確認を積み重ねる

今では1〜2ヶ月ごとに、各サービスの画面構造が変わっていないかチェックしています。
壊れてからユーザーに「動かないんですけど」と言われるより、壊れる前に自分で見つけて直す方がずっといい。
健康診断と同じです。
症状が出てから病院に行くより、定期的に検査を受ける方が安心できます。
地味な作業ですが、この積み重ねが信頼につながるのだと思っています。
予想外のバグとの出会い

今回の修正中に、以前から潜んでいた別の問題も見つかりました。
ボタンが2つ表示されてしまう不具合です。
ある処理が終わるのを待っている間に、同じ処理がもう一度始まってしまい、結果的にボタンが二重に作られていたのです。
直すこと自体は難しくありませんでした。
でも、この問題が「たまたま見つかった」ことに感謝しています。
もし今回の修正がなければ、気づかないまま放置されていたかもしれません。
何かを直しに行くと、別の何かにも気づける。
掃除をしていたら棚の裏にホコリがたまっていたのを見つけた、みたいな感覚です。
変化を受け入れて生きる

開発に限らず、私たちは「誰かが黙って変えてくる世界」に生きています。
制度が変わる。
ルールが変わる。
人の気持ちも変わる。
自分が何もしていなくても、周りは変わっていく。
それを嘆くのではなく、「変わったなら、こちらも合わせよう」と柔軟に動けること。
それが、この先も長く何かを続けていくために大切なことなのだと、日々の開発を通じて感じています。
「変化への備え」

外部サービスの仕様変更は避けられません。
避けられないなら、壊れたときにすぐ対応できる仕組みを持っておくことが大切です。
「仕方ない」ではなく、「じゃあ次は?」と前を向ける力。
コードが壊れたとき、「なんで壊れるんだ」と嘆く時間があるなら、「どう直そう」と考える方がずっと建設的です。
「壊れる前提」で構える

「壊れないようにする」よりも「壊れたときに困らないようにする」ほうが、ずっと気持ちが楽です。
直せるものは直す。
直せないものは作り直す。
大事なのは、壊れたあとに手を動かせるかどうか。
変化を恐れず、壊れたら直す。
その繰り返しの中に、少しずつ強くなっていく自分がいるのだと思います。

