Faith, Creation, and Programming

As a programmer, my greatest creative outlet is writing code. While searching deep inside an interconnected web of bits and logic to hunt down that perpetual last bug may seem to someone from the outside to be anything but creative, there is a unique type of creativity that is found in writing software. A new sense of awe and joy is found in the deeply felt human experience of curiosity, exploration, and creation when we see those things not as uniquely human and ephemeral but as things which can make us one with nature, the universe, each other, and God.

This approach to creativity is beautifully described in one of my favorite quotes* from Frederick P. Brooks’ book, The Mythical Man Month, when he asks, “Why is programming fun? What delights may its practitioner expect as his reward?”:

First is the sheer joy of making things ... I think this delight must be an image of God’s delight in making things ...

Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful ...

Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning ...

Fourth is the joy of always learning, which springs from the non repeating nature of the task ...

Finally, there is the delight of working in such a tractable medium ... [The programmer] builds his castles in the air, from air, creating by exertion of the imagination.

... The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.

Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.

Summarizing, these reasons can be restated as the following:

  1. The joy of creation
  2. The joy of service
  3. The joy of seeing your creation in action
  4. The joy of learning
  5. The joy of having free and limitless creative medium
Brooks goes on to describe the “creative longings built deep within us”. Citing Dorothy Sayer’s book, The Mind of the Maker, he recognizes creativity as having three separate stages:

  1. The idea
  2. The implementation
  3. The interaction
Framing the process and deep in-built joys of creativity this way sheds light on both the benevolence and creation arguments in the New God Argument: that a posthuman, creative civilization would seek out independent agents to interact with and enjoy their creations in order for themselves to more fully realize the joy and purpose of their created worlds/universes/simulations.

What is particularly interesting about programming is that the creative process occurs in the abstract only. Yes, the program is stored on disk in the form of magnetic variations, but even this is invisible to the human eye and is not the purpose for which the program is created. A program is not the series of characters typed by the programmer. Rather the substance of a program is thought itself, concept described. Working this close to raw thought not just at the beginning of the creative process but all throughout the program’s creation, requires a high level of concentration and mental exertion but likewise delivers a high level of satisfaction and joy.

Mormon narratives around divine creation provide a fascinating parallel to Brooks’ insights here. In my next post I’ll go into what these parallels are and how Mormonism provides a compelling conception of creativity’s role in the universe.


* - I’m clipping Frederick Brooks’ wonderful quote quite a lot here for brevity. The full quote can be read here: