Make Many Things Better, Not Just One Perfect

Even though I have severe dietary restrictions, I love cooking. Whether I’m making pho, sausage pizza, sardine sphagetti or thai curry, I always spend time after the act of creation noting all the things I can improve for the next batch. Those around me frequently scold me, saying that I should just enjoy what I’ve created.

Look Forward

Though I have my own response to these cooking comments, (if I don’t make notes now, I’ll forget…), I realize that this reaction is a strategy and a mentality. There are some people that consistently focus on the destinations they reach and there are some that focus on the journeys they make to get there.

I distinctly fall into the second category. This post is not for those that live in the first category. As well, the title of this post is not about appreciating what you’ve accomplished. It underscores my feelings about what it means to live in the second category.

Journey to Being Better

Alan Watts, a famous philosopher in the 1970’s, wrote a lecture about the journey of life and the focus of improving oneself in music.

In this lecture, he notes that the most wonderful part of life is in appreciating the journey towards getting better.

This might be one of the most direct representations of why I don’t celebrate what I make. I value the journey to create (or maintain) as opposed to the destination of “finishing something”. This extends to software engineering as well.

Release, Don't Finish

I don’t like the finality people use when they talk about “finishing a project”. One of the many things I have learned when it comes to taking on software projects is that, in the words of Pixar’s John Lasseter,

We never finish a project, we just release it

There are two aspects of this that resonate with me.

First, there is likely no such thing as the perfect software. You will spend untold amounts of time tacking on new features and removing bugs from old ones. If you think you’ll ever be finished with a software project, it is unlikely.

Second, if you care about your software journey, you are likely looking forward to doing additional work on that project (especially considering that 75% of the work of a software developer is maintaining and not greenfield projects).

There are those of us that may never be happy with the software we make, but the journey of creation and care will always make us happy.