What Art School Taught Me About Building Software, Part 2: Being Done

In art, it is hard to know when you are done. After all, what does it mean to be done creating something when you can just keep on creating more of it? Artists, like software engineers, do not finish, but only decide to be done when their work is in balance.

Most of the artists I know make sketches before moving into their final medium, whether that is paint or sculpture. Sure, some geniuses seem to just sit down at their canvases and knock out great paintings, but that isn’t common. Composing a piece of art is truly about selecting good ideas that go together.

Adding every idea to one piece of art is not composing, it is mayhem.

Software with too many ideas is ugly and impossible to complete. But, when you start with the best idea, and work to finish it quickly, you have something to be proud of.

If there are too many ideas to fit in one piece, artists make collections, and in software we have more means to modularization than I care to recall. By creating small manageable compositions, we can put the pieces together and create a composition, in art, and in software. The user[1] experiences the totality of the creation and the creator manages their ideas.

Sometimes ideas are singular, and stand on their own. These are the ideas most likely to be done. These are the ideas that stay at version n forever. The version of software to be most proud of is the final version, that lasts forever, because it fully encapsulates a singular idea and no more. The same is true of art, the strongest art truly represents an idea perfectly forever.

Optimize for done.

[1] I’m all for referring to museum-goers as art users