Day 50: Reflecting at the Halfway Point
What I've learned so far from the #100DaysOfCode Challenge
I started the #100DaysOfCode Challenge on August 5, 2022. Today is Day 50 of that challenge - well, technically it's the 51st day because I started my first entry as Day 0. As this marks the halfway point of the challenge I'm taking this opportunity to reflect on where I've been and where I want to go for the rest of the challenge.
I've also been able to get more comfortable with GitHub. I've been creating and updating repositories with files from this challenge and projects - like my Tetris app. I still need to learn Git, but the GitHub desktop app has made syncing with GitHub a breeze. Moreover, it's helped to lower the bar for entry and given me an opportunity to see how GitHub works and the benefits to using it. Prior to this, GitHub felt like nebulous place programmers go to share their work. Now I'm not sure how I'd get along with it out.
I've also been continuing to design and build out my portfolio website. I originally built it as part of freeCodeCamp's Responsive Web Design course, but throughout this challenge I've been able to tinker with the site. This has kept my HTML/CSS skills active, but also has allowed me to expand on other web design skills, like accessibility.
Of course even with these triumphs there have certainly been tribulations that have tested both my coding skills and my commitment to the challenge (and to learning programming in general). Considering I've made it to Day 50 and I'm still 'alive' is a testament to my perseverance.
I'm still struggling with some concepts and methods like callback functions, arrow
=> functions, and how to properly use methods like
map, but I'm confident my skills in these areas will grow with time and practice.
Ultimately, the biggest thing I struggle with is knowing what to use and when. This is especially true when it comes to algorithm scripting. Again, I think this will come with practice (which I definitely need more of), but also with patience. There have been more than one occasion where I've gotten frustrated and felt like giving up (I'm grateful I didn't though).
To help deal with these tribulations I have started a list called "Identified Weaknesses" where I list out things I struggle with or don't fully understand. Then I carve out some time each week to have a dedicated practice session toward understanding those weaknesses and (hopefully) turn them into a strength.
Complete fCC Coursework
Obviously, in the next 50 days of this challenge I want to complete my freeCodeCamp coursework and obtain another certification. I'd also like to progress to the next freeCodeCamp course - which focuses on front-end libraries - round out my skills as a front-end developer.
Fix the Tetris App Glitch
Build More Projects
Be Intentional with Rest Days
Lastly, I'd like to plan out my rest days in advance and with the intention to step away from coding. So far I've only taken rest days when I've felt like it or when my body forced me to. This stratagem seems both ill-advised and unsustainable. From now on, I think I'll plan to take a weekend off everyone two weeks and work on non-coding projects and hobbies.
In addition to these breaks, I want to be more intentional with how I study by setting clearer goals for my study sessions. For example, being more strict about completing challenges within a time frame (e.g., one hour) - especially during the work week. Sometimes I've stayed up too late or neglected other tasks because I was too dedicated to studying. I'd like for my sessions to be more balanced. I already know I can make use of a timer to employ the Pomodoro technique when I study, now I just have to be better about not extending the study session longer than needed.
Things to Remember
As I complete the second half of this 100-day challenge these are the things I want to remember:
I'm more than eager to switch careers, but I need to remember that learning takes time. Ironically, as a teacher, you'd think I'd know this, but the experience of being a teacher is different than that of a learner. This journey has been humbling, if nothing else.
Ask for Help
I'm getting better at this, but in the beginning I was shy about asking for help. I wanted to solve everything on my own, but that's not how the world works. The world - all of human civilization - is built upon collaboration. That means asking for helping when I need. Using the fCC Discord has been helpful here; I've already gotten help on previous problems and made a few friends.
Coding isn't everything
It's not the end of the world if I don't code. I know I need to continue to practice my skills, but I can't act like the world is going to explode if I don't code. There are other priorities that require my attention too.
Those are the triumphs, tribulations, and lessons I've learned from my first 50 days of the #100DaysOfCode Challenge. I'm looking forward to what comes next in the second half of the challenge and writing this post has helped me identify the direction I need to work toward. If you'd like to see my log entry for Day 50's study session, you can find in my GitHub repository for the #100DaysOfCode challenge.
Thanks for reading. If you'd like to continue sharing this journey with me, consider connecting with me: