So for the last few months I’ve been taking part in the #100daysofcode challenge, which I first heard about here on the CodeNewbie podcast.
The idea of the challenge is to make coding a habit by doing at least an hour per day for 100 days. It seemed like the perfect thing for me. At the start of the challenge I’d been back from a 6 week holiday for about 3 weeks, but hadn’t really got back into the rhythm of things with coding. I was mildly panicking, since I only had 2 weeks left in my job before I left to start studying IT full time and I kept on thinking ‘What if I don’t love it anymore? What if it’s not for me? ‘
So I decided to give it a go, and – spoiler alert – I made it! So many things happened and changed in my life in those 100 days: I started work experience with two red kites, did my first tech talk at the BrisRuby meetup, was offered a full time internship starting in just a few weeks, I went to my first RailsCamp and was elected to the Ruby Australia committee, and I kept up with full time uni and some supply teaching at the same time.
Finding the time to code everyday was difficult, but definitely taught me a thing or two. Here are some of my tips and thoughts on the #100daysofcode challenge, and just for keeping active with your coding.
Choose a Project the Day Before
The days that I found the most difficult were the days where I didn’t know what to work on. I’ve moved around on a lot of different languages, frameworks and learning resources, and I had days where I was overwhelmed with too many choices, and other days where I felt like I had nothing to work on. I tried to fix this by ending each day with making the decision of what I’d work on the next day. Decision fatigue is definitely a thing, and this really helped me get started on days where it otherwise would have been too hard!
Try and Pick Things You Don’t ‘Have’ To Do
This last few months was very different from my first 6 months or so of learning to code, because suddenly coding was my ‘day job’. I had assignments, tutorials and work experience which all involved programming, and even though I loved them it still felt a bit like cheating to count them as my #100daysofcode hour. I had a few days where I counted writing programming assignments or writing Ruby/Rails at work experience as my ‘hour of code’, but I tried to avoid it wherever possible. I know that once I start working full time I still want to keep coding and learning outside of those hours, so hopefully this practice will help me keep up that habit.
Being Accountable Counts
Even though most of the people who saw my posts on twitter (where I posted about each of my 100 days) don’t know me in real life, I still felt very accountable to keeping up with them. There were definitely days where I forgot to post, but most of the time knowing that people would know if I quit was a really big motivator. If it’s your only motivator then you probably shouldn’t be doing #100daysofcode but it definitely helps to have it in the back of your mind.
I Still Love Coding
The main thing I took out of this challenge was a very deep sense of relief that I still love coding. While there may have been days when I didn’t feel like I had the mental energy to tackle anything particularly challenging, and some where life tried to get in the way, I don’t think there was a single day where I didn’t actually really want to code. I still find solving new problems exciting, I am still overwhelmed by how much there is out there to learn (and so many things on my to-learn list!) and I’m so glad I get to keep doing it!
I’ll be honest, it’s a bit of a relief to know I don’t have to keep posting (and irritating my non-tech twitter followers) every day, but I feel like I got everything out of #100daysofcode that I wanted. I learnt heaps, discovered some amazing new resources, and came out of it even more passionate about coding than when I started. If you haven’t jumped on the #100daysofcode bandwagon yet – what are you waiting for? There’s hundreds of books, online courses and websites where you can learn anything you want to, so get going!