On January 2, 2016, I started a personal goal of doing at least 30 minutes of coding every day for 1000 days. I hit that goal in September 2018, and then kept on going. Below is my contributions graph, courtesy of github-contributions.now.sh.
It has been quite the adventure. I didn't go into an office every day, I ended up working from some pretty odd places. I wrote a bunch of Archetype's handling for recursive defaults from a fishing lodge in the panhandle of Alaska. I had a major breakthrough for monogram on a train ride from Wonju to Seoul in South Korea, after losing my cell phone to a torrential downpour while hiking in Chiaksan. I cleaned up a lot of deprecation warnings for Mongoose from a penthouse balcony overlooking the Mediterranean in Nice. I didn't like France though, I much preferred working from a villa in Montenegro.
Why the 1000 day goal? I found myself with more responsibilities - Mongoose was growing rapidly, and I was about to join a growing early stage startup that needed a top notch backend engineer. I had a knack for coding from a young age, and, while I wasn't exactly coasting on raw talent, I also knew I had gotten away with not giving the craft my all. To match the opportunity I had, I needed to crank my commitment level up to 11.
You have free time every day
You might find this surprising: I'm not "hard working" in the way that makes headlines. I don't start practicing at 5am like Kobe Bryant did. I'm usually starting up around 8am or 9am. I'm no night owl, I like to be asleep by 11. And I don't check email after 8pm. No hustle porn here.
However, we all have 20-30 minutes here and there over the course of the day, and what we choose to do with that time adds up. Do you choose to work on your craft, do you choose to scroll through Instagram, or do you choose to catch an extra TV show on Netflix? I made the choice to put that little extra effort into being a better coder and a better writer.
And little choices add up. Herculean efforts make the headlines, but the real results come from small habits and steady progress that most don't notice.
Having a purpose is good for you
It's easy to fall into bad habits when you have nothing to do - drinking too much, staying up too late, and binging League of Legends too often. Idle hands are the devil's workshop.
Conversely, being committed to coding every day made me rethink everything else. It made me more committed to maintaining my health, eating right, exercising, and saving money.
However, having a purpose doesn't necessarily turn you into a monk either. Far from it. I enjoy an easy day now and then. Usually I spend weekend afternoons sitting on the beach reading a good book. And there's no shortage of time for going out for drinks with friends. Leisure feels better after you've made some progress toward your goal that day.
Love what you do
I work at my local WeWork, so I'm constantly bombarded with WeWork's "do what you love" slogan. "Do what you love" is some of the worst life advice you can ever give someone. It implies a certain passivity, where you wait for something that you "love" and then start working on it. Then you fall out of love with it when things get a little hard, and you move on to something else.
Things are more two-sided than that. Your purpose doesn't just magically appear and immediately make your life all sunshine and rainbows. Its more of a feedback loop - effort yields results, which makes you want to put in more effort.
Whatever you're working on now, putting your heart and soul into it gives you the best chance for success. And if that success comes, you might find yourself honestly "doing what you love", or at least closer than you would have gotten by reading motivational listicles.
Will my GitHub streak continue? I'm not sure. My priorities and responsibilities are shifting again. I'm looking to work in batches more - isolating individual days for certain projects and other days for fun, as opposed to doing a little bit every day. But whatever the future brings, I'm going to be putting my best into what I'm doing, and making the most of those small quiet gaps in otherwise busy days.