100 Days of Code: A Deep Dive Into My Half Way Progress and Thoughts — Gemechu Taye

Gemechu Taye
8 min readMar 22, 2022
Image by https://www.pexels.com/photo/modern-convenient-workplace-with-laptop-and-notebook-7856679/

Fifty days ago, I started the popular #100DaysOfCode challenge. It challenges participants to publicly commit to coding a minimum of an hour a day for 100 days. For those who have not heard about this yet, #100DaysOfCode is a challenge started by Alexander Kallaway for people interested in programming. He wrote a great article describing it here. The challenge has become famous for developers of all experience levels.

The main reason I decided to start the #100DaysOfCode challenge was to grow my skills as a developer. As a second-year college student, college does not prepare you for the competitive global market. I know how important it is to constantly learn and keep on top of new techniques and technologies. This challenge seemed like the perfect way to make learning fun! To complete this challenge, I set out a plan at the beginning to learn some new technologies and build some new projects.

I began with five primary goals in mind:

  • Learn some new technologies.
  • Have some new projects or ideas to show at the end of the 100 Days.
  • Help encourage and inspire others on the same journey.
  • Help build an online presence by participating in the challenge on Twitter/LinkedIn and starting a blog.
  • Have some fun!
image by https://in.pinterest.com/

Being halfway through the challenge now puts me in a place where I can begin to evaluate my Progress on the above goals. It also gives me a chance to plan for the next 50 days.

From Monday, 31 January 2022 to Tuesday, 22 March 2022, there are 50 days.

That’s one month and 22 days. So, weekly wise, I’ll discuss the significant accomplishments and milestones from the first 50 days of my 100-day coding challenge.

Image by https://unsplash.com/photos/zni0zgb3bkQ

Week 1 (Day 1–7)

A business digital card based on the Scrimba React course. It is my first solo React project. It was bootstrapped with Create React App and made using HTML, CSS, JavaScript, and Reactjs. (Solo Project)

Programming languages that are covered — Bootstrap, Javascript and Reactjs

Week 2 (Day 8–14)

My first JavaScript game was Blackjack, the iconic Casino game loved by millions.

Programming languages that are covered — Bootstrap, Javascript and Reactjs

Week 3 (Day 15–21)

Metric/Imperial unit conversion accepts inputs from the user and does calculations, and displays the results.

Programming languages that are covered — Javascript

Week 4 (Day 21–27)

Built a command-line Java calculator and practiced the basics of Java syntaxes.

Programming languages that are covered — JAVA

Week 5 (Day 28–35)

A custom payment gateway by Integrating PayPal Checkout for online payments. (Solo project)

Programming languages that are covered — Javascript and PayPal JS SDK.

Week 6 (Day 36–42)

This week, I extensively practiced various techniques and features of the JavaScript language in real action. That includes Javascript Events, DOM Selectors, DOM Manipulation, Date and Time, and JSON Parsing.

Programming languages that are covered — Javascript and JSON

Week 7 (Day 43–49)

How to consume a RESTful API in React and Build a fronted page that makes a network request in my browser when retrieving or modifying information. (Solo Project)

Programming languages that covered — JavaScript, Bootstrap, RESTful API, JSON, and Reactjs

Week 8 (Day 50 — Onward)

Today, I’m in week 8 of the 2nd day, and this week, I’m doing an extensive practice of various CSS grid and Flexbox techniques. As well as, I’m building my first Chrome Extension using Javascript. It’s a capstone project and a neat Chrome Extension for tracking sales leads. The extension allows you to save inputs (such as links) and tabs, and there is also a delete button if you don’t want to keep them. (I’m halfway through, and it’s going well.)

Programming languages that are covered — HTML, CSS, and Javascript.

What I have learned so far:

  • ReactJS — I began the challenge to learn new technologies. ReactJs had been on my radar for a long time, so I finally took the plunge! There are a lot of great resources, and I have had great success with some Scrimba courses. I picked up the free lessons from their website.
  • RESTful API — I learned this after completing my first ReactJs tutorials. I love how well this works retrieving or modifying information and will explore it more in the future.
  • CSS Grid, Flexbox layouts — These layout options have also been on my radar for a long time. With responsive web design being so important, knowing how to use and apply CSS Grid and Flexbox. I followed some great courses from Wes Bos (cssgrid.io, flexbox.io) to learn how to apply them in real-world projects.
  • ES6 New Features — With ES6 and ES7 becoming the new standards for JavaScript, I took a few sessions to go over some of the new concepts introduced in these revisions. My favorite new functionality has to be async / await, which is fantastic! If you haven’t looked into this yet, I strongly recommend it. In my opinion, it’s a game-changer.
  • PayPal JS SDK — I wanted to learn how to implement a website that accepts payments without using API, so I found PayPal JavaScript SDK. It allows easy integration of PayPal Buttons and PayPal Checkout into my site.
  • JSON — I wanted to learn how to implement a readable structured data format to transmit data between a server and web application. So JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It can easily use JSON to store and organize my site content created from the user’s input or CMS. It was derived from the ECMAScript Programming Language Standard. Hopefully, I will explore it more in the future.
  • Java — I was meant to be ready for my college exam after I started the challenge, and as I’m attending a JAVA class, I committed a week to learn Java syntax. I’m hoping to add one more week to understand it from the ground better.
Image by https://unsplash.com/photos/EUXD3xC6T30

What I have worked on for the first 50 days:

  • Scrimba — The front-end Developer Career Path | During each learning step, there are challenges, a solo project, and a capstone project. This career path will turn you into a hireable front-end developer as fast as possible. I advise you to get this, and the price is reasonable for the content. $10/month (In Progress)
  • A new landing page for my portfolio (static HTML for now).
  • I am starting a blog (this is my 1st post!).
  • Working with clients — After starting this challenge, I had two clients: one who required me to learn about PayPal JS SDK because my customer required a payment gateway, and the other needed me to work with RESTful API to access endpoints JSON files from a server. It was nice to be a part of those projects, but it’s tricky to figure out when you don’t have any ideas for something you haven’t tried before or don’t have outstanding senior people around you, but it’s fun and valuable to learn something new. My primary goal for the next 50 days will be to avoid working with clients, and once I’ve accomplished that, this challenge will be appropriate. My decisions are still being made, but stay tuned because I’ll take it if I get a decent offer.
image by https://unsplash.com/photos/uz99fpQScpg

Key takeaways going into the second half:

For me, the key takeaways from completing the first 50 days of the#100DaysOfCode challenge are these:

Learning new skills is a lot of fun — After Joining college and starting to learn computer science, we mostly do theoretical stuff and study to get a good mark, and I’m not driven to “coding for fun” and pursue my passions. I see this as a problem, and so far, this challenge has given me a new appetite to learn, which I am pleased about. Looking back over everything I’ve learned and done over the first half of this challenge is great, and I’m looking forward to the second half!

Daily updates are challenging but rewarding going into it — I thought #100DaysOfCode would be easier to keep up with. I’ve missed a few days here and there due to class activities and Hult Prize commitments (about Hult prize blog posts to follow — stay tuned!). Carving out an hour every day for the challenge, while worthwhile, is not always easy! After the first few weeks, though, this almost becomes a habit, making things easier.

The #100DaysOfCode Community is excellent — There is a vibrant and supportive community behind this challenge, which is great to see and be involved in. I love looking up the hashtag each evening and seeing how other users are getting on with the challenge and what they are working on.

Image by https://www.istockphoto.com/

Goals for the next 50 days:

  • Complete the Payment gateway page I’m working on.
  • Complete The Frontend Developer Career Path of Scrimba course that includes (HTML, CSS, JavaScript, React, APIs, Web architecture, Responsive design, Web design, UI Design, Figma Design, Git, and Coding interviews) As I already stated, it is a paid course that costs $10.
  • Post at least once every fortnight to this blog.
  • Continue learning and working with ReactJs.
  • Begin learning GraphQl as an alternative to REST.
  • Keep on taking college classes in SQL, Database Management System, Principles of Operating System, and Computer Networks.
  • Build out my portfolio site, from a landing page to an entire website.
  • Continue to have fun learning and hopefully inspire others along this path.

I would highly recommend the challenge to anyone reading who hasn’t heard of it or is on the fence. I know 100 days sounds like a lot, but it can be built up to, and there are many positives to learning how to code. The rules don’t have to be set in stone and can be adjusted, and the most important thing is to try to build a new habit and have fun doing it! If you decide you want to start the challenge, searching #100DaysOfCode on Twitter/LinkedIn will serve as some inspiration to get started.

Gemechu Taye — The picture was taken by Shamshad

I’m Gemechu Taye, a Software Engineer (Frontend Development). And I’m currently in my second year of computer science. I write about web2, career advice, and startups.

To stay updated on future posts, subscribe to my newsletter below:

DM’s are always open on Twitter.

Connect on LinkedIn here.

Look in on my Github repo here.

Check out my social media reference landing here. Cheers!

--

--