I've been spending a bit more time than usual in the past two or so weeks on my side projects. For those that know me personally, I used to really enjoy spending time working on open source projects in my free time. However, over the past 9 or so months I have been feeling a bit burnt out on the code and couldn't muster the energy to open VSCode to work on some projects.
As of late however that energy is beginning to come back to me bit by bit. It might be because I am writing far less code at work than I used to many months ago, or it might just be that I am working my way out of the boredom.
With this revitalization of my side projects, I have found that I can no longer ship projects. Back in college I was able to sit down for a solid three day weekend and just churn out working websites (sure the code was pretty bad, but the features worked!). Now days I can barely ship something usable, let alone something complete that I would feel comfortable announcing to the world.
I think the key reason that has held me back from shipping new features or projects is what I like to call The Rabbit Hole. Its the tendency for a developer to go deeper and depper in the meta of trying to solve their issue at hand.
For example, I started off by wanting to implement a simple todo application that has some pretty neat features, however as I began work I realized I wanted to work on a customized component library so the application UI was really nice. So I started work on my own component library as a separate project. As that work began I realized I needed to work on building out some tooling for the monorepo that I keep the code within so I started yet another project to help me automate tasks around the repo (this monorepo now has well over 20 packages now).
Its now 3 months later and I still don't have a working todo application, but that original project has expanding its scope so far that I am building a general hub site that tracks todos, health, financials, habits, and a general calendar.
Insert famous scream painting.png 😱
This is The Rabbit Hole, a deep and complex waste of time preventing me from actually shipping.