How I Think about Hobby Projects

I've done some thinking about hobby projects and how to organize them. I doodle around quite a lot, but I would be happier if there were some structure around the things I do outside my nine-to-five job.

Premises:

  • I run a one-person consulting company, only one that cares about my skill development is me
  • I consider all coding to be work, even the fun stuff.
  • Skills I can sell differ from skills I like to exercise. Hobby projects allow me to do fun stuff and build skills I can sell down the line.
  • Sometimes, I want to explore product concepts, even MVPs, for future companies, but my primary motivation is that I enjoy coding. No, scratch that, I love to program. It is the intersection of humanities, math, serving people, creativity, and having fun. Don't let anyone tell you otherwise.
  • I want to ship stuff (even if shipping meant just that I wrote some code and a blog post) and not this stuff to stress me out too much
  • I don't want too much process, but I like deadlines, measurable outcomes, and rules for abandoning projects.
  • As a software professional, I take pride that I can be thrown to any project and will provide value. I choose projects based on what I have yet to experience. While this is fun and works for my brain, I could use a solid go-to tech stack. I envy people who can bang the keyboard and build a reliable web app in a working day. One of my goals is to make sure that, over time, I have this go-to toolkit.

With these premises, I've come up with these rules:

  • Ship or abandon something monthly
  • Write a simple specification at the start to list things that I want to achieve (use case/problem to solve, what technologies and why I chose)
  • Write one starter blog post and one concluding blog post for a month
  • Keep up a backlog of ideas and things to learn, and review it often. Be conscious about adding stuff to the backlog. Also, let go of ideas that never seem to get done, write a blog post about the idea and move on.

I will evolve these rules over time. I practised this a bit in November with #NaNoGeMo (see NanoGenMo 2022 - Start). I use December to prepare for my first actual month of this process and to ensure my Obsidian operation and plugins are up to date.

The goal is to come up with a plan for January's project, understand the technologies I need, write a blog post about my Obsidian use, and be ready to publish a long blog post on January 1 on my January project.