Zachariaharticle

My time as a musician and aspiring polyglot should have taught me this, but only after reading an argument, which presented as its key example a CEO who would delete his project entirely after eight hours of work and start over from scratch, did I internalize it. Repetition is the key to learning.

Knowing how to finish

I’ve engaged in the NaNoWriMo contest many years not for practice writing, but for practice finishing novels. How many novels have I penned some 60k words for, but never concluded? How many stories have I begun whose endings I will never know? NaNoWriMo provided a good structure wherein I could get some practice ending my stories. Once I hit that 50k word mark, unless I really had a lot to fit in, it was time to end the story. It was never going to be perfect: it was an exercise, not a work. Only the masters can create enduring beauty through etudes.

Speaking of music, a few years back I challenged myself to some songwriting challenges. I limited myself to exactly one hour to write and produce/record a 60 second song. I often went at least slightly over the single hour, but I never permitted myself longer than the time between two meals, either way. The point was less about creating a song in an hour and more about putting an end to it. Deciding the form, and driving to the final harmonic resolution. Although, tbh, one of these challenges was a “single note” challenge, so harmonic resolution was pretty much impossible anyway, forcing me to find other ways to effect musical resolution. Creativity craves boundary, because without limitation there’s nothing to ingeniously overcome.

Those familiar with my GitHub or even articles here will also recognize that I have spent many weeks doing game jams. Sadly I rarely finish in time, but the point of including myself in these challenges is just that: the finishing. Not all of the features will be implemented in such a race: in one of my games the music was broken such that it would play straight through the entire soundtrack, even playing the themes for the happy ending and sad ending back to back regardless of what ending the player achieved (or if the player had even advanced past the opening text yet). Embarrassing! But it was complete. The ending could be seen. One could win or lose depending on one’s own actions and know what that result was even if the music was oddly inappropriate. That’s the point of a game. Making the sorts of choices about what needs to be fixed and what needs to be accomplished by a certain day or time is exactly the sort of practice one needs to reliably finish projects at home or at work.

So why start over, over and over?

Knowing how to begin

Beginning can take a hell of a long time. Gotta set up a database. Hosting a DB locally sucks, so chances are I’m gonna prefer a container or hosted service. How do I write the docker compose file again? Well if I start the project over and over again I’m going to get a lot of practice with that. How do I get the ORM (heaven forbid) generating type files and SQL migrations? Helps to practice this over and over again.

But all that work I spent building out the UX and defining my data types! Well during the testing phase the results of that work seemed to prove wrong anyway: the data was too granular here and not granular enough over there. I spent hours getting a select box working the way I wanted that, in the end, I decided I didn’t want or need in the application anyway. The repeated practice helps.

Fear of letting go

What is with the compulsion to hoard data and text? Don’t we all love Greenfield projects? Don’t we all love seeing a larger red than green number when looking at a commit summary?

Many years back I encountered an argument that asserted the propensity for attachment in different animals is derived from the strategic basis of our primary mode of creation: reproduction. Mammals tend to have fewer babies in an instance and over a lifetime, and thus make a much larger investment in their success. Consider fish who may hatch masses of offspring in a mating event and will often do very little to nurture them or even protect them from predation, even eating their young themselves if they happen to be in such a mood. There’s more where those came from, of course. But humans in particular tend to only have one baby per pregnancy, and these days a little less than two per woman, so we spend a lot of time making sure we get those two babies right.

So it makes some sense that any other experiment with creation would tend to end with a strong attachment to the product, no matter how imperfect or incomplete it may be. I’ll finish it someday. I’ll need a couple of those lines for another project. That’s just too good a plot twist to throw away. That beat would go well in a different song. My disk space feels limitless.

But I forget my organizational technique is based on an analogy for physical filing cabinets made hierarchical in the realm of bits, that my surfacing strategy is text matching in the best case, memory in the worst. It’s rare that I return to something I’ve set aside. I just don’t have the time or attention.

Can’t carry my data: I’ll have to carry my lessons

So restart your projects over and over again until you can bring them to completion in a week or a day or an hour. Hell if you can do the latter, you’ve probably got the makings of a product on your hands. And if not, at the very least you’ll be ready when the inspiration strikes to hammer it out before your passion abandons you.