I started doing this with side projects a little while ago. The revelation for me was to create a monorepo out on GitHub and actually keep my hackaround projects under some reasonable form of source control and all in the same bucket.
What I started doing was rewriting my projects over and over trying to chase down the core first principles. I would take my previous iteration - MyProject12 - and create a fresh one - MyProject13. The idea would be to use the prior copy as a reference point for the new one, and to only use it for the little nuggets of value I think I still want to carry forward. I have VS solutions with every iteration of that project in it so I can quickly do a sln-wide search for something I discovered previously.
I repeated this process about 40-50 times for an application framework. Fast forward 3-4 years and we are now talking about setting up a license agreement between myself and my employer for purposes of using this IP in next generation products. It is incredibly nice to have permissive employment contracts so that I can freely explore my interests without fear of reproach. Seems this has very powerful win-win mechanics.
It may sound strange that this is what someone would do in their free time after work, but I actually do derive pleasure from indulging the fantasy of being allowed to rewrite code piles. If I were to take this tendency into my professional work, everyone would have quit by now. It seems to be a good outlet for me.
This is inspiring, thanks! I'm on a similar path and am about a year in. I now have a blog, app, and infra stack each in their own repos, each with their own deployment automations. I run a solo kanban board on Trello to help me prioritize what to work on next.
I don't know if the current project will turn into anything useful to others or not. But it feels satisfying to look at the list of little "done" cards and see how each of them has contributed to something tangible, while both the product and my skills are improving with each deployment.
When I'm ready for the next project, this year of work is reusable to launch something new super quickly. And the infra cost is close to zero while I work on it thanks to static site hosting and serverless tech. If it ever gets enough traffic to bill me I'll be happy to pay it because that will validate something useful is there.
My next step is to make it "good enough" to share it in the wild. That part is still scary. I'm almost there though.
What I started doing was rewriting my projects over and over trying to chase down the core first principles. I would take my previous iteration - MyProject12 - and create a fresh one - MyProject13. The idea would be to use the prior copy as a reference point for the new one, and to only use it for the little nuggets of value I think I still want to carry forward. I have VS solutions with every iteration of that project in it so I can quickly do a sln-wide search for something I discovered previously.
I repeated this process about 40-50 times for an application framework. Fast forward 3-4 years and we are now talking about setting up a license agreement between myself and my employer for purposes of using this IP in next generation products. It is incredibly nice to have permissive employment contracts so that I can freely explore my interests without fear of reproach. Seems this has very powerful win-win mechanics.
It may sound strange that this is what someone would do in their free time after work, but I actually do derive pleasure from indulging the fantasy of being allowed to rewrite code piles. If I were to take this tendency into my professional work, everyone would have quit by now. It seems to be a good outlet for me.