A Retrospective into 100 Days of Code

A Retrospective into 100 Days of Code

The story begins with a single goal in mind, fill up the GitHub calendar with a lot of green dots and surpass the # of contributions that I made in the year 2016-17.

I was feeling reluctant before taking this challenge, as I knew that I cannot maintain such a long streak (based on my past experiences :p). So I decided to do a POC before jumping into the challenge. It served two purposes, first was, it developed a different kind of confidence inside me and second, it increased the number of green dots on my calendar, which was my initial goal.

For this POC, I started looking for some easy challenges out there and I found Javascript30 Challenge by wesbos. This thing was a perfect fit to test my consistency. So, I started Javascript30 on 13th March.

For an initial couple of days, I was very excited and charged up to knock off the daily challenges, so I used to finish off my office at around 6.00-6.30 and jump on to my laptop to see what's in my plate today. However, on day 3 of this challenge, I was not able to finish my office till 6:30 and I had to extend it till 9:00. I was mentally exhausted that day and was not in a mood to open my laptop to do something. I was lying on my bed and after a quarter of an hour, a thought just beamed into my mind, "If you can't even maintain a streak of 3 days of code, how will you manage to get that 100 Days milestone! Do you even love coding? or is it just to decorate your Instagram bio?". This thought made me get off my bed and directed me towards my workstation. When I reached there, I felt like it was a matter of moving my a** from the bed to the chair. I still had enough energy left in me to complete the challenge. Anyways, It took me 30-45 minutes to knock off day 3.

After getting that done, I looked at the bigger picture of it. It was pretty clear to me that "solving a challenge" is not an issue here. The issue is to manage my routine in such a way that I have a dedicated time slot for this. So that no matter what happens during the day or in the office, I will sit for an hour and complete the challenge.

So now, along with the two initial goals, I added another one to the list, to Define a "followable" routine for myself. So I did that. I blocked exactly one hour for my Javascript30 challenge and planned the rest of the day as well.

This routine thing worked like a charm and I was able to cruise through the challenge. It was day 7 when I got stuck on a problem. That challenge demanded to use something that I had never encountered in my career. On that day, I realised that there is an ocean and I know only a few drops of it. In the end, I had to sit down for some extra time and read about the new(for me) Web API that was required for the challenge. I read that and completed the challenge. This incident added another goal to my list, "Explore and Learn things that you rarely or probably will never encounter during your regular office work." With all these goals and planning on my list, now I was feeling completely prepared to take up the #100DaysOfCode challenge. I finished the Javascript30 course on the expected date (12th April), gave myself a break for a couple of days and then started with the real challenge, 100 DAYS OF CODE.

I started looking for some websites or books where I can find 100 challenges that I can do during this period. Luckily, after doing tens of searches on Google, I found an e-book having 100 project ideas using Javascript and it's frameworks. I downloaded that, read that and found it as a perfect fit for my purpose. I had to get this list of challenges in advance because I knew, I'll be having only 1 hour per day, and I should attune my focus on coding only during that time, instead of thinking of a project or a utility or something that I can build.

This is how my "100 Days of Code" journey started. The goals and plans that I had devised, worked perfectly. On some days, It took me more than 2 hours to complete the challenge while on other days, it took less than 30 mins to knock things off; On some days, I had to spend a lot of time reading about things while on other days, I had to refer existing solutions on GitHub to unblock myself. Despite having a defined schedule, I had to adjust things on some days. I had pushed code on GitHub at 4 in the morning on day 65 when I had to travel back to my native place, knowing that I won't be getting time there. From day 72 till day 85, I had to code on some other laptop because mine was crashed. These things taught me to not give up whatever the situation is. There's always a way to get things done.

There were some other factors as well that helped me during my challenge. First of all, "Progress Tracker". Why is this required? The answer is, it helps you keep track of what you're doing and more to it, A progress tracker will always give you a sense of progress and allow you to celebrate your small wins each day. I considered each day as a small win (There's a pretty good article on Power of Small Wins by HBR). This thing not only pleases you but also motivates you to do something even bigger the next day. My choice of progress tracker was a bit weird. I chose an app called XMind, which is traditionally a mind mapping tool to visualise your ideas, I used it to track my daily progress.

Another factor that helped me was "Making a social commitment". A few years ago, I read an article whose TL;DR was, "If you want to accomplish something, make a social commitment about it. It will increase your chances of completing that thing." Following this thing, I chose Instagram and Twitter as my social commitment platforms. Every day when I completed my challenge, I used to post a story on Instagram and a tweet on twitter. Doing this didn't enhance my programming skills, but they made sure to generate thought in the back of my mind that I have to be consistent because so many people are watching me (even if they're not). This also worked as a feedback loop. I still remember on day 35, a random guy on twitter replied to my tweet and said, instead of recording videos of my laptop screen, I should consider screen recording. That felt like a legit suggestion which I included in my routine. Also, some people constantly encouraged me, appreciated my work and told me not to give up.

Combination of all these things is the outcome of my 100 Days of Code journey.

I still feel that the moment on Day 3 where I got up from the bed and completed the challenge, was the turning point. All it takes is a moment that decides whether you'll be able to do something or not.