・パンチカードは時間がかかるし面倒だ。だから、キーボードを使ってアセンブリ言語を入力するようになった。
・アセンブリ言語は記述が遅く、難しい。そこで私たちはC言語を開発し、コンパイラにアセンブリ言語を生成させるようにした。
・メモリ管理は難しく、不安定であることが判明した。そこで、メモリ管理をJavaに任せることにした。
・フロッピーディスクやCDを郵送してアップデートを配信するのは時間がかかりすぎたため、ソフトウェアアップデートを作成し、ネイティブ開発ではなくウェブ開発へと徐々に移行していきました。
・サーバーを立ち上げるには数週間かかることがあります。そこで私たちはAWSやサーバーレスといったものを開発しました。
・ソフトウェア開発のスピードが速すぎて、従来の手動による品質保証では追いつかなくなったため、より自動化されたテストスイートに移行しました。
・人々の調整は面倒だ。だから私たちはアジャイル、スクラム、カンバンを開発した。
・おっと、1日に複数回出荷するのはリスクが高すぎます。そこで、CI/CD、フィーチャーフラグ、および可観測性を構築しました。
結局のところ、かつては100人ものエンジニアがかりで立ち上げていたものが、今ではインターネットカフェにいる10代の若者が1時間でできるようになったのだ。驚くべきことだ。