Reflections on the First #100DaysOfCode

Reflections on the First #100DaysOfCode

business-1839876_640.jpg

FULL DISCLOSURE: While I coded everyday for the first 100 days of 2020, I did not
document each day on Twitter. As you can attest, the last few months have been really
crazy. I will try to do so during the next 100 days.

Today is April 18th, 2020, which is the 109th day of the year. Therefore, we have passed
the first #100DaysOfCode, a large community of people who want to code more consistently.

The rules are simple:

  1. Code for at least 1 hour everyday for 100 days
  2. Tweet your progress with #100DaysOfCode

I'll admit that I personally didn't tweet my progress everyday. However, I think what really
mattered was that by the end, I was coding for well over an hour every day the last 100 days.
I learned a ton in just 100 days. There were a lot of exciting things that happened that
I believe dramatically improved:

  • my ability to ask good,thoughtful questions
  • my googling skills
  • my social skills (yes, really)
  • my coding style
  • how I look at my code when debugging
  • how I interact with my computer

In the following sections, I'm going to talk about a few of the major events that happened for
me during the first #100DaysOfCode in 2020!

 

react-1-282599.png

Progress in React.js

Heading into 2020, I was working diligently with freeCodeCamp's React coursework and
attempting to build my own project (separate from curriculum/ course work). React
holds a special place in my heart because it was among the first frameworks I tried out.
Since I was already proficient in Javascript, it seemed like a natural next step.

I decided I wanted to build a bookfinder app that would display search results by fetching
from the Goodreads API through a backend. This would be a nice challenge, I thought,
because I'd never build anything with a backend or used data fetched from an API. It was quite
the challenge!

I'd started the project in late 2019 but had a bad habit of walking away from it for days at a time.
As you can expect, I was sabotaging myself by not staying focused and sticking with the project
during the tough times. But as soon as 2020 came along, I challenged myself to work on it
everyday and be willing to learn whatever was necessary to complete the project. Not only
did I finish it, but I learned some awesome things including:

  • NodeJS *npm
  • environment variables

I'd almost discovered the amazing Postman along the way! This was terrific for testing API calls
and inspecting the returned JSON data.

 

flatironschool.png

Flatiron School

By January 2020, I had been teaching myself how to program for the better part of a year. Though
I'm proud of the progress I made, I came to the realization that I still felt lost most of the time. It ' seemed like every problem, every error, every bug I faced monopolized all my time and the
experience of learning to program was becoming less fun and exciting. I lacked structure. But I
knew that if I had it, then maybe I still had a chance.

After much research and deliberation with friends and family, I decided to enroll at the Flatiron School
for Software Engineering. I chose this specific bootcamp because it stood out to me as the most
reputable and their online software engineering program appealed to me the most.

I know that bootcamps are still somewhat controversial and there definitely are fringe bootcamps
with predatory business models. That's why I was really careful to do my research, read reviews on
Course Report (good and bad) and reach out to alumni for feedback. In the weeks leading up to the first day at Flatiron, I had completed all their bootcamp prep work so that I would start as strongly as possible.
As I'm writing this post, I am in my 7th week and I am learning so much in so little time. It's both
exciting and stressful, depending on the day. But so far, I am happy with my choice.

 

YpwbTgOZ.png

First Project Review

One aspect of web development that I wanted so much was participating in code reviews. Sure,
I've had classmates look at my code to help me fix one or two bugs. But this was the first time I
had ever had one of my projects reviewed by a seasoned developer. I recently wrote about this
experience
and you should definitely check it out!

In a nutshell, I was so humbled to have such a valuable experience as it made me feel a lot more
confident both in my code and as a developer, in general.

 

Lessons I Learned

Looking back, I didn't learn React as carefully as I should have and it showed when I was building
a full-stack book finder app. Although I was familiar with the basics, like JSX syntax, components,
props, state, etc, I wasn't at all familiar with Promises, async/await or how to fetch API data and
update the state. I had to learn those as I went, referring to online resources and seeking help
from forums like Stack Overflow.

That, along with my time at Flatiron, have taught me to be more cognizant of what questions
are the right questions and which ones aren't. That's more than half the battle of being
a great programmer; you have to ask good questions and be excited learn.

Another thing I learned from the first #100DaysOfCode is that I shouldn't put too much pressure
on myself. This is because, while having expectations is good, I will start to get anxious and
begin making careless mistakes, get imposter syndrome, etc.

 

My Advice For Others

The Pomodoro Technique

In the beginning, when I struggled to remain consistent, I would only be up for 1 hour of code in a
given day. But instead of working the whole hour in one go, I'd split it into two highly-focused
30-minute sessions (with a short break in between). This is my version of the Pomodoro Technique , which is a productivity hack. Traditionally,
the technique involves 25 minutes of work and a 5-minute break. But do whatever feels most comfortable for you.

It's OK To Say "I Don't Know"

Being honest with yourself and admitting you don't know this concept or that concept will get you
far in life, but especially in programming. This means having the courage to go on to a forum like
Stack Overflow and ask for help on whatever you're stuck on. Of course, definitely make the effort
to troubleshoot and debug the problem yourself, but after about 20 minutes of no success, it might
be time to reach out to the community for guidance.

It's a big community out there, and there are tons of people who are more than willing to help you. :D

Become a Member of the Community

I'm still working to be more present in the developer community by doing a bit of the following:

  • Engage with other developers on social media such as Twitter or LinkedIn
  • Maintain of blog that documents your coding journey
  • Ask for and give help on forums ( freeCodeCamp's forum and Stack Overflow are my favorites)

I'm proud of how I used my first #100DaysOfCode and I'm excited for how the next 100 days will
unfold. Perhaps I'll write it then, which is exactly 3 months from now: July 18th, 2020!

Until then, Happy Coding

Resources

Bookfinder App - Github repo #100DaysOfCode Official Website

freeCodeCamp Forum

The Pomodoro Technique Stack Overflow