実際にStripe APIを使うプロジェクトでは、メインのフローよりもエッジケースを処理するコードの量のほうが多いのが特徴的です。ほとんどの人は、そこまでやりませんが、私がStripeのユーザーと話をしていると、このことが製品を気に入ってもらう大きな理由となっているのがよくわかります。
David SingletonBuilding a culture of excellence | David Singleton (CTO of Stripe)
実行 → 技術的なトレードオフ
実際にStripe APIを使うプロジェクトでは、メインのフローよりもエッジケースを処理するコードの量のほうが多いのが特徴的です。ほとんどの人は、そこまでやりませんが、私がStripeのユーザーと話をしていると、このことが製品を気に入ってもらう大きな理由となっているのがよくわかります。
現実世界にはエントロピーがあり、つらく、散らかっています。コンピューターは決定論的ですが、人間はそうではありません。そのため、そうした事態に対応できるよう、製品にある程度柔軟性とフェールセーフを持たせることが非常に重要になります。
私たちはバグをリストに溜め込むことはありません。バグが発見されたらすぐに修正しています。つまり、プロダクションエンジニアの仕事の一部として、そうしたバグ修正を行っているのです。
私たちは、スピーディな操作と極めて信頼性の高い安定性を同時に実現するよう設計しています。そのためには、大変な注意と配慮が必要です。多くのシステムを構築しなければなりません。