Build Great Spreadsheets Using the Unix Philosophy

Building great spreadsheets entails a lot of software-specific knowledge. For example, to create a solid Excel spreadsheet, it’s important to have at least a working knowledge of the capability of functions and macros. This series of posts, however, will not delve into that type of detail. Instead, we are going to take a step back and talk about spreadsheet philosophy.

Philosophically, it’s useful to think of building spreadsheets the same way a coder thinks of writing a computer program. Hardcore programmer concerns like debugging, documentation, maintenance, and speed are also concerns for preparers of big, important spreadsheets. A spreadsheet superstar should approach their trade in much the same way a coder does, by using the Unix Philosophy.

Unix is a famous computer operating system which provides the underpinning for many of the worlds most useful and reliable programs. The basic tenants of the Unix Philosophy are directly applicable to great spreadsheets. Here are a few Unix principles from the Wikipedia site that we will expand upon more in this blog:

  • Write simple parts connected by clean interfaces (modularity)
  • Store data in flat text files
  • Small is beautiful
  • Fail noisily

Don’t worry, we are going to give specific examples for each of these (and when we do, we’ll be sure to put hyperlinks in the list above). Regardless, even if you don’t care how the Unix Philosophy relates to spreadsheets, it’s great reading for anyone working on any type of process flow.