Photo by Dan Gold on Unsplash

100 Days of Code - Parallels with El Penol de Guatape

by Timothy Hoang

Pharmacist to Javascript Developer

Tags: 100 days of code, El Penol de Guatape, Coding Everyday, Daily Logging

My article is on Medium. So check it out and give me a clap. :)


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.

El Penol de Guatape
El Penol de Guatape.

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.

Robot Restaurant Show
Now do you understand why I couldn't start this challenge in Japan? ;)

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.

Keeping a log doesn't have to be difficult, I started out on a slack channel. Later, I migrated to Twitter as I noticed I got more support from strangers on the internet. It might sound strange to be motivated by random people but it felt good to see that little red heart on your tweets. Perhaps, someone cares enough about you to push a button too? Haha. Anyways, it felt good and I kept going. Pretty soon, I posted every day even when I didn't have much to report. Traveling with layovers and red-eye flights that wears you out? I got you. In a new exciting country that you want to explore like Japan or Colombia? I get you. So I would just try my best to generate ideas for my projects and review what I learned. Don't let the situation define your learning. Except for a lack of WiFi connection, that will ruin your life (I'm kidding). Just carry a JavaScript book or code offline. How do you think developers work and travel so well? You best be starting this skill if you're becoming a travel developer. Wink Wink.

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.

1st Tweet of #100DaysOfCode
My 1st tweet with #100DaysOfCode.

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.

25th Tweet of #100DaysOfCode
My 25th tweet with #100DaysOfCode.

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.

Half-Way To The Top
Still alive, let's push on.

Days 51 through 75: Half-way, are we there yet!?

My Chingu-Voyage team project still didn't take off. Sad face. So on day 51, I started the continuation of the course with Richard with "Github and Collaboration" and finished on day 60. Now I felt like a Git/Github pro which will soon be put to the test when I joined another Chingu-Voyage team on day 57 to clone the popular Chrome Extension Momentum Dash. On day 60, I also decided to strip my portfolio site that I built in November 2016 to apply Flexbox, new knowledge, and version control. Through my time with the new Chingu-Voyage team, I did some animations & transitions for picture credits, implemented a google search function in the app, and applied more transitions to the to-do list and settings options. On day 63, I started the "JavaScript: The Tricky Stuff" as part of the Colt Steele course on Udemy. During this time, I also fell in love with Visual Studio Code, switched over to it, learned to implement the bash terminal inside, and also cleaned up a significant part of my Github profile.

75th Tweet of #100DaysOfCode
My 75th tweet with #100DaysOfCode.

Days 76 through 95 There's another mini tower to the top!? May I have permission to die?

I started "Practical JavaScript" with Gordon Zhu and continued on with my portfolio website. Day 78 was the day we finished our team app for Chingu-Voyage because that's when I wrote a Chrome Web Store description for my team. I finally finished Practical JavaScript on day 89. I also re-coded my quote machine app without Codepen on day 79. I decided that Codepen was too clunky and I wanted more practice with using Github to host my projects. Then, I went to an "Intro to React" workshop on day 87, which didn't turn out to be all that great but got me inspired to learn more. I also published my first blog article entitled "Learning Git and Github - Now Hating That I Love It" on day 89 which wasn't too difficult to write but I really got a kick out of revisiting my writing skills. After I finished my quote machine app, I started re-coding my weather app without Codepen on day 91 and still working on it today (day 95). Now I'm back in the states so I wanted to collaborate with my developer friend to host events for our local Free Code Camp group on day 91. I went to a CSS grids layout event with speaker Jesse Eldredge on day 93. That weekend, we had our first FCC meetup on day 94 which was really productive! That finally brings us to today, day 95. Phew!

95th Tweet of #100DaysOfCode
My 95th tweet with #100DaysOfCode.

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!


Bane's Permission Quote
I want to die.

I'm finally glad that 100 days of code are over but I'm going to continue with this momentum that I've built with it! My next plan? Hit 30 days of JavaScript with Wes Bos and doing Free Code Camp until I finish the front end certification. Although I won't tweet with #100daysofcode, you and I know that I will still be tweeting every day about my progress. I'm looking for another tag like that but only found #codedaily, #codeeveryday, or #code247. I'm sure I'll find some tag to add of course. The more important things will be the projects I'm working on of course. I'm hoping in the next 100 days, I will be applying to jobs and landing my first junior developer position also! I'm super excited about that!

As you can see, 100 days of code is a lot like El Penol de Guatape. There are many steps and days in your journey ahead but you must push onwards. As things get rough, remember that it makes you stronger and gets you one step closer to your goal. If you can climb with your friends and talk about the journey, it makes it go by even faster. Before you know it, you will have reached the top of the 740 steps and blessed with a breathtaking view of the landscape. I hope that you get to see Colombia in your lifetime as I did as there are much more beautiful things than a couple pictures can ever do proper justice with. Let me know if you're going!

The View At The Top
It was all worth it in the end.

What's the takeaway from this article? Don't stop coding and log about your coding daily. It builds strong habits, helps make friends, and develops your coding skills! Don't let something as silly as 100 days of code challenge make you stop there. Why shoot for the top of the ladder when you can shoot for the stars? I hope this article has motivated or inspired you to take action about logging your coding progress. If you picked up something like that, I feel like I've done some good here today. This is travelDev signing off and wishing you a great journey. Adios amigos!