Page title

Section title

137: Software Design with John Ousterhout

To build anew or to rebuild? Many developers have a knee-jerk reaction to start building existing software systems from scratch because they think that is the easiest way forward.

Today, we talk with John Ousterhout. John is the Bosack Lerner Professor of Computer Science at Stanford University. His current research focuses on new software stack layers to allow data center applications to take advantage of communication and storage technologies with microsecond-scale latencies. He is the author of the book "A Philosophy of Software Design", co-creator of the Raft consensus algorithm, and creator of the Tcl scripting language and the Tk toolkit. He tells us about the software designs of legacy systems, why incremental changes of legacy systems are inevitable, and how to resist the impulse of rewriting large software systems from scratch. 

When you finish listening to the episode, connect with John on Twitter, read his book, and join his discussion group on software design

Mentioned in this episode:

John on Twitter at

John’s profile at Stanford University at

A Philosophy of Software design at

Raft Consensus Algorithm at

TCL/Tk at

John’s Software Design Discussion Group at 


Section title

Legacy Code Rocks

Legacy Code Rocks explores the world of modernizing existing software applications.


© 2024 Corgibytes, LLC Content licensed under Creative Commons CC BY-SA.