Making things, infinite games, and Fred Brooks

Caterina’s post “Make Things” is so awesome and spot-on. You should read it. Here’s a taste:

There are so many conferences these days, so many voluble, charismatic leaders, and so much noise. I talk to a lot of entrepreneurs in their 20s who are knowledgeable about the valuations various Y Combinator startups have attained, know the names of all the angel investors in the Valley, have in-depth knowledge of the Facebook diaspora and their doings, have opinions on various Zynga acquisitions, and know exactly how to get Andrew Mason on the line…it boggles the mind. These are good things to have in your tool kit. But I want to hear about things out there that they love. About loving the thing they’re building. There’s less of that.

I think part of what Caterina is saying is that pure focus on networking and IPOs and fundraising and valuations and acquisitions neglects the core sense of play that got most of us into this world in the first place.

This is something I was thinking about earlier this week, when I was talking with a team at Etsy about our mission and values and the importance of a sense of play came up. On that theme, I suggested that the folks in the room read James Carse’s Finite and Infinite Games: A Vision of Life as Play and Possibility (a book Caterina recommended to me years ago). I won’t summarize it here (that’s your second reading assignment of this post!) but you can cheat a little with Wikipedia:

In short, a finite game is played with the purpose of winning (thus ending the game), while an infinite game is played with the purpose of continuing the play.

The inside cover of the book gives you a little more flavor:

The rules of the finite game may not change; the rules of an infinite game must change.

Finite players play within boundaries; infinite players play with boundaries.

Finite players are serious; infinite games are playful.

A finite player plays to be powerful; an infinite player plays with strength.

A finite player consumes time; an infinite player generates time.

The finite player aims for eternal life; the infinite player aims for eternal birth.

(I see Etsy and the dynamics of the community that drive it as having strong characteristics of Carse’s “infinite game.” Running any good company is like an infinite game, which is why this Onion story is funny: “Corporation Reaches Goal, Shuts Down.” This may be the subject of another post.)

When I think about what motivates me and attracts me to companies and people in my life, it’s always been the same sense of joy in creation that Fred Brooks described so eloquently in The Mythical Man-Month, the joy that Caterina wants to hear from more entrepreneurs. Brooks’ book is primarily known for identifying and explaining the basic fallacies in project planning that give the book its name and a law named after Brooks. It’s rarely (if ever) credited as such, but I think it’s really a paean to creativity and the inherent problems encountered when trying to break what is essentially creative work and creative people into interchangeable functions and parts. It makes it all the more powerful that he wrote the excerpt below in 1974 (and led with it on page 7), long before most regular folks had even thought about computers, much less that making them work was even remotely creative (note the pinball machine and jukebox references!):

Why is programming fun? What delights may its practitioner expect as his reward?

First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God’s delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.

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. In this respect the programming system is not essentially different from the child’s first clay pencil holder “for Daddy’s office.”

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. The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate.

Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.

Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures…

Yet the program construct, unlike the poet’s words, is real in the sense that it moves and works, producing visible outputs separately from the construct itself. It prints results, draws pictures, produces sounds, moves arms. 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.

I, along with Anil, am optimistic that we can make this mindset the default.