A few years ago I lost my job. It was my first job as a developer and I was concerned about my resume: years and years of illustration/animation work, with a bit of programming tacked on at the end. But I knew how much work I had put into becoming a developer, and how much more I was willing to put in.
When I started interviewing I realized I hadn't touched my personal GitHub in more than two years. In commercial art your portfolio is everything, and I was realizing GitHub is the equivalent. I was behind the 8-ball.
So, inspired a post about #100daysofcode, I made a commitment to myself. I kept it as small as possible: Every day I would make one commit every day, which only had to be 10 minutes of work. If I wanted to keep going after 10 minutes, I would.
It felt too easy, almost pointless. But I had tried and failed at habits in the past and I was experimenting. The feedback would be obvious, the little green squares filling up my commit history. Easy to check off, satisfying to watch over time. I've seen this referred to as The Seinfeld Strategy.
A few things I learned:
Every day I would gain momentum in the first ten minutes. Sometimes it would last 30 minutes, sometimes hours.
Sometimes it would kick off a great idea that I would work on for months, and here's where #3 comes in. I knew I would need things to work on every day. Coming up with ideas has always been hard for me, but now I had a way to start working before I had the idea, and the ideas flowed. It didn't have to be good, just enough to keep me busy for 10 minutes.
What's annoying me? What can I build that will solve it? What's the smallest project that will help me fill in one of my blind spots? I've never published a package before, what's that like?
I made a to-build list where I could throw ideas as soon as they came to me.
I had plenty of throwaway ideas that would only last me a day or two, but that's the thing about ideas: when you work on a lot of them, there will be a lot of throwaways, but every once in a while you'll get one that sticks. I don't think there are shortcuts, you need to wade through the mediocre ones to get the really great ones. So make it fun for yourself! Or at least easy. None of it is a waste.
Before long, I landed a great job with great people. I'm still committing every day, and now I look for other ways to make this model work. It takes some consistency, but if you make it easy and commit to it, you can start something big.