I'm sitting here at day 95 of my 100 days of code challenge. You might be wondering why I'm writing about 100 days of code and selling you short 5 days. Frankly, I've learned what I needed already in order to write this article for you so don't worry! Haha. Besides, I'm pretty much coding every day from this point onwards which is what both of us should do. You can go ahead and take that message home and just skip reading this article altogether. The important thing is I want you to code daily and if you get anything from my article, that's my only wish. There, now do you still feel like you got short-changed? I just gave you the biggest nugget. Okay, still interested? Let's continue...
The "#100DaysOfCode" challenge was created by Alexander Kallaway. The criteria are simple: code 1 hour every day and tweet your progress using the hashtag. There's another aspect, which I just discovered when I was researched this article, to fork the repository and keep your own journal. I have not done this obviously but it was still a good experience without it nonetheless. One of the criteria I didn't follow was "that time spent doing tutorials and online courses does not count towards the hour". A part of me was dependent on online courses to learn complex new ideas. I get that the challenge wants you to use that knowledge from online courses and spend an additional hour to build projects, but frankly, anything related to coding is good for you right? I didn't want to worry too much about it. You can find more information about this amazing concept at the website or the original article that started this idea.
Let me tell you why I coincided El Penol de Guatape with my coding journey. I had the grand opportunity of living in Colombia, South America for months during my work hiatus. Yes, I was a bum but I was a bum learning to code though! In Colombia, there are many beautiful, exotic places to visit like Parque Tayrona, Comuna Trece, Palomino, Cerro El Volador, Cerro Quitasol, Parapente Medellin, and much, much more. If you ever want to go to Colombia for its evergreen spring weather, cheap cost of living, and beautiful places to see, just hit me up. I've lived there for nearly half a year so I would know a thing or two.
Anyways, El Penol de Guatape was one of these wonderful places I visited and it is a monster-size rock to freaking climb. Count 740 steps to the summit of the rock and catch yellow painted numbers along the way to remind of your grueling ascent. I can attest that 100 days of code wasn't as physically challenging but it was almost as mentally challenge over a longer period of time. That depends however on how you defined your challenges every day though. Mines was to simply code for a minimum of 1 hour daily. Trust me, those daily errands are guaranteed to tug and pull at you along the way. How did I keep myself in-gear and speeding along? Read onwards, my coding friend.
Keeping a log is easy-peazy
One thing I did during my journey was to write 2 or 3 sentences daily about my coding progress. It started out on a slack channel when I was a part of a Chingu team. This team was going to be my enforcer to code every day but the problem was that I joined the team half-way through and didn't roll on a project. However, they had a daily-log section in the slack channel and I steadily plugged away my daily progress even though I wasn't actually coding with anyone on there. I didn't even start tweeting about coding every day until much later. Actually, I started tweeting right before I returned to Colombia from Japan since my friends went home and there were no more distractions. I started, slowly but surely, with bite-size bits of coding each day to start gaining momentum.
I started with coding for 15 minutes every day and tweeting my progress. Don't feel that 15 minutes is small because we are building momentum in the beginning. A little every day goes a long way, bud, so keep going! Notice on my first day I started with 15 minutes but ended up doing an hour! Throughout the days following, I noticed I started getting reactions from members in the slack channel and that motivated me even more to keep logging every day and coding. Sometimes, people would interject to ask about my projects and the tools I used so that kept me on point too.
Things I did during my 100 days
Let's get to the meat of the article, what did I actually do during my 100 days of code? I'm going to break it up here for notable moments of each 25-days. I even had to take a break from my vlogging at the time also to focus on coding, not that I miss it too much since I vlogged for 90 days straight. I know I'm a little bit of a focus-nut but maybe that's why I'm good at 100 days of code, wouldn't you say? With bags unpacked from Japan, I was determined to go harder on the challenge now.
Days 1 through 25: Let's start climbing El Penol!
I was working on the "Basic Algorithm Scripting" and "JSON APIs and Ajax" section of the Free Code Camp curriculum. On about day 12, I started working on the "Intermediate Front End Development Projects". At about day 15, I built a quote machine app with hard-coded quotes but then also made an API version of the app. Then, I started building the weather app with Dark Sky API support after that and finished around day 22. The weather app was pretty difficult since you have to adapt many APIs to Codepen which gave me a lot of grief at the time. Then on day 23, I signed up for "What the Flexbox" course with Wes Bos.
Days 26 through 50: We made it a quarter way!
I continued with the Flexbox course and finished about day 27. During this time, I was also applying for Chingu-Voyage's Build-To-Learn cohort. I was excited since I would be able to collaborate with people now and not coding alone! Also on day 27, I decided to reinforce my Flexbox learning and signed up for "Flexbox Zombies" with David Geddes. I remembered I played that game for like 4 hours or more a day and finished "Flexbox Zombies" around day 30. Around day 31, I started to prepare for my Chingu-Voyage Team. Uneventfully, there were some troubles with my team lead so the project never took off but I continued on with learning CSS grids through Rachel Andrew's website on day 33. I watched a lot of talks and played around with the technology. However, version control crept its ugly head again so I decided to handle it and started Udacity's "Git and Github" on day 39 and finished on day 43. That's when I found a superior, modern Git course called "Version Control with Git" with Richard Kalehoff on day 45 and finished day 49. Read more about this experience in the article Learning Git and Github - Now Hating That I Love It that I wrote.
Days 51 through 75: Half-way, are we there yet!?
Days 76 through 95 There's another mini tower to the top!? May I have permission to die?
Why and how you should log daily
So am I saying you should code for 100 days and log it just so you can write an article like me? I certainly hope not. You should write an article if you want to. The reason you should log is that it is an amazing habit builder. When I was in pharmacy school and doing various self-improvement projects, I was taught that if you can do something for 30 days, or even better 90 days, you build an indestructible habit. It makes you feel guilty for skipping out on your task. For an organized strong-type like me, I rely on structure, predictability, and repeatability to learn. Yup, I'm just a big dumb ape on this rock that needs a couple hits to the head to get things through! Haha.
You also make good friends along the way since they give you a like, comment, or help you with your journey if you share it publicly. Decide to start with a small notebook, twitter, facebook, or a slack channel like I did! When you finish you have something to look back on after the journey which has nice "yearbook" feels, catch my drift? We, humans, are also a very forgetful creature so recounting the things we did yesterday will help us get us focused for today. Since you're human, let me remind you on how you get started.
Level one is to start logging your journey every day with 1 or 2 sentences about whatever you're doing whether it's 100 days of code, 100 pounds to lose, or 100 books to read. This will reinforce that guilt factor into you so that you don't start popping on Netflix. Even if you do only 5, 10, or 15 minutes worth, that's better than nothing at all. Also, through my years of learning, when you start something it is mighty difficult to get the ball rolling. However, once you got something started, it's really hard to want to stop. At least that's how it feels for me anyways and I hope it's the same for you. Ever notice how hard it is to push a car at rest but once you get it rolling, it takes less effort? It's kind of like that.
Level two is to start logging your journey publicly for all the world and your mother to see. You would not want to certainly disappoint your mother right? This adds another level of accountability beyond the guilt factor. That factor would be pride. This cardinal sin of 7 will hopefully make you want to save face by not being humiliated in front of others (although it won't ever get that far). If you're more of the competitive type, you might want to be ahead or beat your friends in the race. That's a good motivator too. There might be a million reasons to start sharing your public journey but have your pick and just do it Nike-style!