My #100DaysOfCode experience during the pandemic
Tags: 100daysofcode, webdev, codenewbie, javascript
Published: 2020-07-26 08:32:04

I committed and completed the 100DaysofCode challenge by taking advantage of the COVID-19 pandemic. Here I share what I learned and think about this challenge.

### Learning how to code
To give a little bit of my coding life context, I first stumbled into programming back in 2017 after joining college. Before then, I had not interacted with a computer leave alone working with one. Instantly, I was amused to learn how computer programs, websites, and software come to life. I fell in love with Web Development in particular and would always squeeze a few minutes in my schedule to write some HTML and CSS whenever I could. However, there was a problem. I was not consistent! You see, programming is not the type of skill to sharpen over the weekend. It requires consistency. That is, setting aside some few minutes every day to practice: the main emphasis being, every single day. Also, one has to commit, be patient, and persistent to succeed.

### Committing to the challenge - Having a solid plan
Before trying again and finally succeeding this year, I had dared to commit to the challenge before, but I failed terribly. I only managed to go for two weeks. Back then, I had a million excuses. I had no plan, no self-drive, and ultimately no energy. Finally, after the COVID-19 pandemic hit, I decided to take advantage and commit, this time, with a solid plan and schedule. I noted down my overall goals, including the specific areas where I wanted to improve and curated a list of projects I wanted to complete.

 - [My Overall Plan](https://docs.google.com/document/d/1K7xI2CavJRLRp2QJrxyOQs1x8NriCCYcxA71x0BSQGg/edit?usp=sharing)

For anyone thinking about daring to try this challenge, this should be your first task. Have a solid plan. Having a daily schedule will help program your mind to always be ready for coding practice at a specific time of the day, every day!

### Documenting Progress
Every day, I logged my progress in a GitHub repo and shared it on Twitter. Well, technically, not every single day. I took a few breaks in between, but I made sure they are essential. In general, I believe that it is okay to relax and take a break, provided you have set your mind straight.

 - [Twitter thread](https://twitter.com/karugu_eric/status/1241388821473828865)

 - [GitHub Log](https://github.com/erickarugu32/100-days-of-code/blob/master/log.md)

### Time Management
I used a popular time management technique: the promodoro. The method involves breaking down your tasks into intervals with short and long breaks in between. Traditionally the "intervals" are 25 minutes long. The technique helps you focus during the set "intervals" and then allow your mind to internalize what you have learned or worked on over the break. It is a proven technique, and I would recommend it to everyone. Check out [this simple online promodoro tool](https://tomato-timer.com/) or [this one with some great additional features](https://pomofocus.io/) to help you stay focused and be productive.

### Finding Motivation
When it comes to motivation, it can be arduous to remain excited about learning. Learning becomes interesting if you are interested. I managed to beat around this impediment by working on small projects. While working on the small projects, I was always excited about adding a feature or improving on the overall look. I found myself learning a lot in this process without exerting too much pressure on myself in the long run. Overall, I always find this method more helpful rather than following tutorials or coding lessons. 

### Learning how to learn
In the programming world, scenarios are forever different, and learning how to learn fast and implement is an essential skill. Unfortunately, watching tutors code applications on youtube one after another will not help you as much. Speaking from personal experience, I think such tutorials are great being a supplement in your learning journey.

### Interacting with others
In the course of the coding challenge, I interacted with other developers who were attempting the coding challenge as well. I found this to be helpful in terms of inspiration and support. I met so many people on Twitter, Slack channels, discord channels, and LinkedIn, who were ready to help and collaborate along the journey.


## CONCLUSION

I believe the #100DaysOfCode challenge is exceptional for developers in all levels to learn and level-up their skills. In my case, I saw my software development skills improve. Consequently, I have developed other daily routines with ease in areas that I wish to improve myself. I would recommend checking out the following channels for anyone who wants to try the challenge but do not know how to start.

 - The [#100DaysOfCode Official Website](https://www.100daysofcode.com) 
 - The #100DaysOfCode hashtag on Twitter
 - The #100DaysOfCode Slack channels

This is my first article, comments are very much welcome.