生き延びられたはずのクラッシュに、一週間を奪われた

かつて私は、たった一度のクラッシュで、ほぼ一週間分の作業を失ったことがある。そのクラッシュ自体が何か珍しい大惨事だったからではない。ありふれた、退屈な中断にすぎず、いつでも起こりうる類いのものだった。一週間を失ったのは、途中で何ひとつ保存していなかったからだ。だから、終わりまであと数分というところで襲ってきた中断が、何日もかけて積み上げた進捗を丸ごと捨て去ってしまった。そして、それを取り戻す術は一切なかった。ただ消えてしまった。しかもその進捗は、私が気づかないあいだ、ずっと「消えうる」状態のままだったのだ。

振り返ってみて何より痛いのは、それがどれほど完全に回避可能だったか、ということだ。クラッシュが私の作業を破壊したのではない。私の作業を「生き延びられるもの」にしなかった私の怠慢が、それを破壊したのだ。

いつか必ず終わる、という静かな楽観

私は、長時間走るプロセスを、まるで毎回かならず最初から最後まで、中断なくきれいに走り切るかのように作っていた。途中状態の保存もなし。途中から復旧する手段もなし。ただ起動して、走らせて、最後まで到達するだろうと当て込むだけ。その前提が本当に安全かと面と向かって問われたら、私は「いいえ」と答えただろう。だが、私は一度もそれを問わなかった。だからこそ、その前提の上に作り続けてしまったのだ。

これは、広く蔓延しているのに、ほとんど目に見えない種類の楽観である。ハッピーパスだけが唯一の道だと、こっそり前提してしまうのだ。すべてがうまくいく世界を想定して設計してしまう。なぜなら、作っているあいだ思い描いているのは、その世界だからだ。そしてそれを、実際の世界へと送り出す。実際の世界には他にもたくさんの道があり、その大半はもっと不愉快なものだ。

十分に長く走るものは、必ず中断される

ここに、私が計画に組み込むことを拒んでいた真実がある。十分に長く走るプロセスは、いずれ必ず中断される。クラッシュ。瞬間的な停電。メモリを使い果たすマシン。私自身のミス。待ってくれない再起動。具体的な原因はどうでもいい。原因は、数え上げられないほど多くある。

短い時間枠で見れば、中断は「リスク」だ。だが十分に長い地平で見れば、それはリスクであることをやめ、「確実な出来事」になる。長く走るものが中断されるかどうかは問題ではなく、ただ、いつ、どれくらいの頻度で中断されるかだけが問題なのだ。そう見えてしまえば、中断が起こらないかのように設計することの正体が露わになる。それは、起こることが保証された何かについて、意図的に間違っていようと計画しているのに等しい。

コストを決めるのは、クラッシュではなく、あなたが保存したものだ

これこそ、私のものの考え方そのものを組み替えた洞察だ。中断による損害は、そのほぼすべてが、自分の作業がどれだけ復旧可能だったかによって決まる ── 中断がどれほど深刻だったかではない。クラッシュは、めったに重要な変数ではない。重要なのは、その前にあなたが何をしておいたかだ。

まったく同じクラッシュが、まったく同じ瞬間に襲ってきても、最近進捗を保存していたなら五分の損で済み、何も保存していなかったなら五日を失う。中断はどちらの場合も同一だ。だが結果はとてつもなく異なり、その差はすべて、クラッシュが訪れるよりずっと前に、あなたが下した選択によって決まっていた。どれだけ失うかを決めるのはクラッシュではない。あなただ。あらかじめ、どれだけを復旧可能なものにしておく覚悟があったかを決めることによって。

チェックポイントは、被害妄想ではなく、算数だ

そう捉え直してみると、途中状態を定期的に保存することの妥当性は、過剰な用心には見えなくなり、ただの算数に見えてきた。中断は、時間とともに確実に起こる。起きたときのコストは、最後に保存してからどれだけ経ったかで上限が決まる。だから頻繁に保存することは、保証された出来事に対する安価な保険にすぎず、その保険料は、もう少しこまめに保存するだけで好きなだけ低く設定できる。

それをやらないのは、勇敢さでも、集中でも、速く動くことでもない。ただの計算間違いだ。確実に起こる何かに対する安価な保護を、いまのちょっとした手間と引き換えに断っているだけなのだ。私は、セーフティネットに時間を浪費しなかったことを自分で誇っていた ── そのあいだずっと、疑う余地さえない出来事に対して、巨大で無保険のリスクをひそかに抱えながら。

再起動ではなく、再開できるように設計する

しかし、定期的な保存のさらに先には、もう一段上のレベルがある。そして、最も重要だったのはそのレベルだった。より深い解決策は、長時間走る作業を、中断されたときに最初からやり直すのではなく、止まったところから 再開する ように作ることだ。

中断が頻繁な環境では、この区別がすべてを左右する。叩き落とされるたびにゼロからやり直すプロセスは、十分に劣悪な環境では、永遠に終わらないこともありうる ── 中断のたびにすべてが消え、稼働時間に対して中断が十分に頻繁なら、どれだけ懸命に働いても正味の進捗はゼロのままだ。対照的に、再開するプロセスは、つねに前へ進む。何度叩き落とされても、それでもいずれは到達する。なぜなら、中断ごとに失われるのは、最後の保存以降のわずかな分だけだからだ。再起動は、悪い方向に複利で効く脆さを持つ。再開は、良い方向に複利で効く頑健さを持つ。

ほぼあらゆる場面で通用する、同じ原理

これは、ある一つの長時間計算をはるかに超えて一般化する。時間とともに価値が積み上がり、意図的に保全しなければ失われる、ほぼあらゆる作業に当てはまる。パターンは同一だ。進捗が積み上がり、中断が訪れ、永続化されなかったものはすべて消える。

だから私が問うようになった質問は ── 時間がかかり、なおかつ大切な、あらゆるものについて ── もはやあの心地よい問いではない。「もし中断されたら?」と、仮定として腕一本ぶん遠ざけて持つような問いではない。それは、起こると決めてかかる、もっと身も蓋もない版だ。「これが中断されたとき、自分はどれだけ失うのか?」。早い段階でその問いを立てると、作るものが変わる。最初の問いは、希望することを許す。二番目の問いは、備えることを強いる。

より深い教訓 ── 中断は、予定された出来事である

結局のところ、私はすべてがうまくいく世界に向けて設計するのをやめ、物事が日常的にうまくいかなくなる世界に向けて設計しはじめた、ということに尽きる ── なぜなら、後者こそ実際に存在する世界であり、前者は、私が現実の代わりにこっそり置き換えていた心地よい思い込みにすぎなかったからだ。

レジリエンスとは、悲観主義ではない。私はそう理解するに至った。それは正確さだ。中断は、楽観的に割り引いてよい遠い仮定ではない。それは事実上、予定された出来事なのだ ── ただ、その日付を知らされないだけで。それが来るものとして作ることは、陰気でも臆病でもない。ただ、作るしかない唯一の世界について正直であるだけだ。私は一週間を失って学んだ。クラッシュが問題だったことなど、一度もなかったのだと。問題は、中断されることが保証された世界で、中断を生き延びる術を持たないものを、私が作ってしまったことにあった。

— シグナルなし、リターンなし、投資助言ではありません。