The 100 days of code challenge was a challenge designed to help people learn - mostly beginners - learn coding. They then document their work and progress on a daily basis on various social media platforms. Doing this helps keep them accountable and serves as motivation for when they feel like quitting.
I started the challenge when I wanted to start learning React and in the initial stages, things went smoothly. I couldn't spare as much time as possible because of work but I did what I could to make it work. After watching a crash course to learn the basics, I watched a freecodecamp tutorial where a social media app was built using React, Redux, and Firebase.
As time when on, it became a kind of a millstone around my neck. Even when I'm tired of work and need to rest, I'll remember that I need to post an update on Twitter and I'll force myself to do it. Some days that I have free time, I might work on for example 3 features but instead of posting about it at once, I'll post it on 3 different days so I could have extra breathing space to rest a bit.
The main essence of the challenge became lost on me. The pressure to appear like a "serious" developer on social media meant more to me than the actual learning of a new tool. I thought about it and felt the need to take a break for some time. I decided to not continue again.
Making that decision meant that I could continue the tutorial at my own pace and actually learn. I eventually finished it about 3 months after I started, and I felt confident enough with my React skills to start applying for jobs. I did get two offers at that time: the first was for a fullstack (MERN) role and the other was just Frontend. I didn't take any of them because they didn't fit what I was looking for. I needed an opportunity to keep working on my React skills and luckily for me, something soon came up.
About 3 weeks ago, I saw a tweet about the Townhall Project looking for volunteers. I saw that they use React and Firebase and I notified them of my interest. It was an excellent opportunity for me to improve myself by working on a real-world project. And at the same time doing something that actually matters to humanity.
I was drafted in to work on the admin end of their website. I started less than 2 weeks ago and I have been able to work on 2 issues. The first one was the addition of a new feature and the second was a bug fix. Both of my PRs have been accepted.
Working on the new feature was less stressful since I was the one building it from the scratch. The bug fix, however, was a whole 'nother level. It was like trying to solve a complicated jigsaw puzzle. It took a long time before I could even piece together all the files related to that bug. The fix itself then took less than an hour.
It's been a novel experience for me and I have learned a lot. Especially with regards to Redux. I've had to learn about the Redux-logic middleware, Reselect, and creating container and presentational components; the UI library being used, Ant design. The architecture of the app - in terms of files and folder structure - is another thing that'll stick with me for life.
It's my first year as a developer and this is going to be the second open source project I will be contributing to. I have previously made one to the socket.io docs. I hope to be able to contribute to many more as my career progresses. Hopefully, Major League Hacking will grant me more opportunities.