I was listening to a podcast this morning and they talked briefly about how so many of us start way more projects than we finish. It got me thinking. How do you even know if a project is finished? And does it even matter if we don't "finish" what we start? The answer is that it depends1.
What does it even mean when we say "I want to finish this app?" So many things we make cannot ever be finished2. Software is constantly needing to be updated and changed. Even buildings need maintenance and renovations. Books mostly don't change after they are published, but there are different editions that fix typos and things like that. I think we need to stop talking about finishing things. Might just be semantics, but it is probably better to be more specific—publish the novel, release version 1.2, get the certificate of occupancy for the house. This perspective has given me a chance to go into new projects with clearer and more realistic expectations.
I am constantly starting new projects. I have created countless new
Xcode projects, ran
npm init hundreds of times, and even
started a couple books and screenplays3. Most do not survive beyond its initial creation. Of my dozens of
Xcode projects, 2 have ended up on the App Store. Out of the bazillion
websites I've started, I think 3 are live. I used to feel really bad
about starting all these and not "finishing". I felt like a
bad software developer because I did not have all these side projects
generating passive income for me4. Secretly, I was hoping each project I started would let me quit my
job and retire early.
Now, my attitude is to start projects to learn. Once I feel like I have learned what I wanted to from a project, I can abandon it without losing any sleep at night. This keeps the stakes low, and also gives me a low pressure environment to see if a project has legs. If it does, then I can adjust my intentions and push the project a bit further.
It is unhelpful to expect ourselves to "finish" every project we start. Experiment and explore instead. Everything we learn and everything we start builds on each other. All that knowledge and experience will come in handy when it really matters.
Now go start a bunch of stuff and see what sticks.
I've been thinking about all this in the context of personal projects. Things change when other people are involved. If you're driving your friend to the airport, you should probably finish that and drop them off. If you started building a bench and you promised your spouse that you would finish it, you probably should. Unless abandoning the project and just buying a bench would make everyone happier. But that gets into a whole area of morals and ethics I don't want to dive into right now. ↩︎
This sentence originally read: "I don't think anything can ever be finished." Then I thought about running. If you complete a race, that is done, finished. You cannot go back and change that race after it is complete. So I guess I'm talking about things we make, and not really things we do. If that makes sense... ↩︎
Who hasn't? ↩︎
Sure would be nice though! ↩︎