Put It in the Next One


I was recently reading the book Spelunky by Derek Yu (part of the Boss Fight Books series), which is a 209 page look back on the history of his development of the game Spelunky. There are a lot of great lessons to be learned from that book, but there was a specific point made that really resonated to my core, addressing some serious productivity problems I face.

Yu writes “At some point in any project, you will look back on everything you’ve done and feel like you could do it all better… It’s easy, at this moment, to think that if you started over and did things the right way that the wasteland might not be a wasteland but a verdant plain you can stroll across to the finish line.”

For most of my college career, this is something I struggled with. When I was dozens of hours into a project, I would reach this exact point and elect to restart the project, because I knew I could do it better. And I was right, if I restarted I could do it better! Because as you create something, your ability to create that exact work increases, and it always will. If you restart a project a little bit into it, what is to stop you from doing the same? Again and again on the same project, until you run out of time and patience, and just abandon the project. The temptation to do this is unbelievably strong, but you have to resist, and the best way to resist is to repeat the mantra “I’ll put it in the next one.”

Working on a painting for hours and you think it’s ugly? Finish it and improve the next one. Writing some code that is getting more and more convoluted as you go, so that you’re eventually waist deep in spaghetti code with no real idea about its efficiency? Finish it up, keep track of your stumbling blocks, and then take what you learned and apply it to the next project! Every great game is built on a backbone of patchwork fixes. Robert Yang gives a great talk on the poetry and art of these hotfixes as they appear in Half Life (https://vimeo.com/82290241).

So when you’re working on anything, understand that you are learning as you go. Take that knowledge and pocket it, so that the next time you need it, you have pockets full of things you’ve learned, ready to be used in your next best thing.