A short reflection on side projects, and how I do them.
The following is extracted from a tweet that got a bit too rambly, but got more views than usual, which made me think I should have it in my domain too. It contains some small edits though.
This is the very first GoReleaser release, a project that now has 13.9k stars on GitHub:
Honestly, it was pretty mid, and very different from what it is today.
For better or worse, my side projects usually are just me trying to scratch an itch I have… And the first releases are never supposed to be great - in fact, sometimes none of them are.
I iterate fast, until I get it to the point I intended and/or lose interest.
Over the years I created a couple hundreds of projects. The ones I enjoyed working on the most were the ones that started that way.
I believe this is the way - at least for side projects:
- pick a problem I have
- raw dog a solution for it
- make it OSS
- don’t worry about finding a cool name, getting stars, or whatever
- literally just do it
If it end up getting traction, congratulations to me: I now have even more work to do!
If not, I at least made my life a bit easier by solving a problem I had, practiced my skills, and probably learned a thing or two.
Also worth noting that failing is the norm here. Succeeding is a mix of good work, good timing, and a little bit of luck. Most of the hundreds of projects I’ve created are either trashed and/or abandoned - and IMHO that’s fine.
This ‘playbook’ of sorts is what seems to work for me. Pick a problem, raw dog it, open it up, rinse and repeat.
But I do wonder what other OSS maintainers’ processes are like.
Mine is an ‘organized chaos’ I guess 😂
Anyway, this started as a “look how old GoReleaser is” post and turned into a side projects reverie (good song name btw) (also now post title).
See ya!