Ending the #100DaysOfCode Challenge

I decided to the end the #100DaysOfCode challenge officially. Those who follow the GitHub repo for the project, could see I made it up to Day 95.  I haven’t been able to keep up with a daily blogging schedule to keep you all updated, but I did share notes on the challenge about what I worked on for each day via the #100DaysOfCode page.  I wanted to do one last post about the challenge, what I did, what I learned, what I completed, and overall what went wrong that made me what to end it.

The Pros

Overall, this challenge has been the best thing for me in being held accountable to learning new things outside of work.  Here is what I completed since starting the challenge back in January:

Books Completed

  • “JavaScript and jQuery” by Jon Duckett
  • “You Don’t Know JS: Scope & Closures” by the folks at Getify

Modules and Tutorials Completed

  • DevTips jQuery in 15 (test demo available)
  • JavaScript track – Codecademy (87% of this was done before the challenge, I completed the remaining portions)
  • AngularJS track – Codecademy
  • Intro to jQuery – EdX
  • Learn AngularJS for Beginners – Udemy
  • HTML5 and CSS track – Free Code Camp (I didn’t know at the time I could skip tracks, I completed this as a prerequisite for the JavaScript track)
  • Responsive Design track – Free Code Camp (ditto)
  • jQuery track – Free Code Camp
  • JavaScript basics track – Free Code Camp

MOOCs Completed

  • Responsive Web Design – 94.0%, Coursera
  • Interactivity with JavaScript – 99.2%, Coursera
  • Front-end Frameworks: AngularJS – 100%, Coursera
  • Multiplatform Mobile App Development with Web Technologies – 100%, Coursera

Projects Completed

  • Tribute Page – for Free Code Camp, built with HTML and CSS
  • Portfolio Page – for Free Code Camp, built with Bootstrap 3
  • Bootstrappin’ Portfolio – 5 page portfolio site built with Bootstrap 3
  • Personal Template – biographical landing page built with Bootstrap 4
  • Creative Template – landing page for creatives built with Bootstrap 4
  • TaskList – built with Bootstrap 3, JavaScript, and Handlebars.js
  • Animal Exhibit – built with Bootstrap 3, JavaScript, and Handlebars.js
  • BBC site clone – landing page of the BBC Tech News page, built with HTML and CSS
  • Book App – built with AngularJS (I decided to continue building this beyond a one-page SPA)
  • conFusion Restaurant App* – built with AngularJS
  • conFusion Restaurant Mobile App* – built with AngularJS, Ionic, and Cordova for Android and iOS
  • Prince Tribute quote generator – built with HTML, CSS, and JavaScript
* Due to Coursera’s honor code which I accepted as a scholarship recipient, I’m not allowed to share the complete code for these projects nor launch them as my own. They have not been added to the GitHub repo for this reason.

Languages, Libraries, and Frameworks Learned

  • Bootstrap 4 – proficient, it’s not too much different from v. 3
  • Jasmine – basics
  • jQuery – basics
  • JavaScript – intermediate
  • AngularJS – advanced
  • Meteor – basics
  • Handlebars.js – basics
  • Ionic and Cordova – advanced
  • Node.js – basics

Verified Certificates Received

  • 1 from University of London & Goldsmiths
  • 1 from University of Michigan
  • 2 from The Hong Kong University of Science and Technology

With the challenge, I finished tutorials that I had in my queue, received scholarships to complete MOOCs for web developer certificates, and contributed hundreds of lines of code on GitHub for projects I truly enjoyed developing.  Unintentionally, I also became more efficient at writing tutorials for this blog. As what I was learning grew complex, my posts got longer.

The Cons

The biggest setback for me was when I got promoted at the organization I work for during the first 30 days of the challenge.  As part of my promotion, I was put in charge of our organization’s new site launch and app.  It was a great opportunity   With the promotion came longer work days, more training outside of office hours, and more travel.  I also took on two freelance gigs outside of my day job to do some design work for clients.  Working 50-60+ hours a week during February and March, plus doing course work for my web development specialization didn’t exactly make me excited to contribute code to this challenge on most days.  I started skipping days which lead to me losing track all together.

Still, I was too stubborn too quit. So, I took the biggest hit with my blogging.  When I started the challenge, I blogged everyday.  Once February hit, I had to group days to provide be breaks in between posts. During the last stretch, I only contributed 3-5 posts.  Blogging about what I was learning became more difficult because I had to spend time organizing material and writing in a way that makes since for newbs as well as advanced learners.  A typical blog post for me grew to more than 500 words, with me sometimes having to create series just so that I could cover a subject more thoroughly.

Once I started skipping days, this challenge that should have only taken 100 days, lasted over 4 months. Once May hit, I threw in the towel…for my sanity.

What I Learned About Myself

This challenge revealed a lot about my learning style and what I feel are the best ways for me to accomplish certain goals.  This include the following

  1. Taking courses that don’t provide any type of technical support outside a user-generated forums (and Stack Overflow links) are not for me.  Not having on-call support while working on course projects is very frustrating.  This has continued to be a hurdle for me, so I have decided to hire a mentor who has experience in building MEAN stack web apps when I start my capstone project this Summer.  If I have to pay for on-call, one-on-one, high-ranking expertise to help me out whenever I need it, then so be it.
  2. As I said previously in another posts, books should be my primary introduction to any new language, library, or framework I pick up.  I like tutorials, but they don’t really teach me much other than how to follow directions.  I retain information so much better if I’m reading material.
  3. I need to become comfortable reading official documentation for any web tools I want to use.  For example, I’m thankful for Cordova for providing a guide to deploy Ionic apps for iOS and Android, but I had to go over that doc way too many times then I care to admit before I could successfully get my conFusion app to successfully launch in the emulator provided.  I’m too quick to find a shortcut when I don’t feel the docs are articulate enough.  While this is not a problem, I need to read the docs and follow the directions as written first before trying anything else.
  4. There is no future in me writing tutorials on a regular basis…at all. I appreciate all my readers, but if I find it difficult to explain a subject in 300 words or less, don’t expect a post about it in this space.

In all, I feel good about wrapping up this project now.  If you have enjoyed my posts thus far, please consider following Our Code on Twitter.  I just launched this account a week ago to engage more with readers.  Follow me, mention a blog post, and I’ll be sure to follow back.

Thanks for riding with me on this challenge!