Jeppe Rasmussen

Project Manager @ Microsoft


Jeppe

instagramtwittergithublinkedin

100 Days of Code Journey

On July 23rd I was not sure what I was getting into. I felt the need to see the progress I was making & needed some pressure to do some actual coding instead of just reading about creating stuff and indulging in startup porn.

I really wanted to share what I was doing, but hated that I had to show off how shitty my coding skills were. Turns out, people don't care, but are mostly supportive - who would have known?

idontcare

Why do the challenge?

"Every day that you consistently code, you’ll build momentum. That momentum will make it easier for you to learn more advanced topics. You won’t have to spend extra time trying to remember what you did previously. You can stay in the “flow” of coding"

- from the 100days of code website

Read on if you are considering the challenge or if you want to read my own analysis of the last 100 days :)

Comparing previous level to current

I started to learn Computer Science in January this year with the MOOC "Introduction to Computer Science" from Harvard. Highly frustrating, but also highly recommendable. After that I see in my github repository that I played a bit around with Python & Django, but besides that I do not remember what courses I was taking.

But since starting the 100 days I have a clear log of all the things I have been trying to learn and it works as great motivation to see where I was, compared to where I am today.

For example, in the beginning, I was very frustrated with making basic authentication & setting up projects.

Looking back, I see I was overly optimistic about my capabilities back then. Without knowing anything about storing sessions, connecting to an authentication service, how did I expect to make this work? Now I know enough to get this working (or at least know the middleware to make it work)

Tip: At some point during my journey I got frustrated that I would not remember simple function structures I had learned days before on freeCodeCamp. After that I focused more on slow learning, meaning that I would actually look up the functions I did not understand & search to understand the outcome of every line of code.


On my 9th day I started to read the documentation about the site generator for React, Gatsby. Reading that 90 days ago it was almost pure gibberish. Now I am happy to say that I kinda get it (at least to the point to make this website!)

I tried making an application with Gatsby that pulled data from Facebook to show you all the sneaky data they have on you.

.. But then I found ways to just reuse styling and take advantage of the amazing tools such as webflow & all the great css frameworks to make something that does not hurt ones eyes.


Tip: On days with low motivation watch step-by-step tutorials. On days with a busy schedule do freeCodeCamp challenges in the morning.


Achievements (for my level)

Understanding how to develop with APIs was always something I wanted to do. Having done several projects using APIs, I can now say that I feel comfortable with using basic apis.


Tip: At some point I was reading Deep Work by Cal Newport, which significantly increased my progress. Doing 3 hour sessions immersed into one subject at a time ment that I finally understood complex topics. Looking into something for just half will never enable me to grasp something completely. But struggling, researching & trying out things for 3 hours straight means that some dots finally start to connect.


This was a huge achievement for me

And it gave me the lust to create more. At this stage I was not certain how to do any of this..

But steadily the functionalities increased

And after many days of googling/watching tutorials/trying out I finally made it work

After that I found even faster ways to set it up with Firebase and to add even more "complicated" functionalities such as conditional rendering based on the Team you were in.

It is actually quite motivating to see how often I tweet about frustrations & days after then see the problem solved.

.. And now in the end I actually have a live (somehow) working application! It is not perfect, and not that valuable, but it has the basic capabilities that are the fundamentals for all apps.

Noticing change

On day 92 I noticed something. Instead of following tutorials for everything, I was actually starting to build things my own way. I was suddenly starting to structure projects in my own way & finding my own solutions instead of just following step-by-step guides.

Topics I had no clue about before, but that I kinda understand now

  1. React.
  2. Redux.
  3. Firebase.
  4. Azure DevOps.
  5. MERN: MongoDB, Express, React & Node.
  6. Authentication & cookies.
  7. APIs.
  8. Single Page Applications.
  9. Gatsby.
  10. Microsoft Graph, setting up an app for Microsoft Teams, logging in with Azure Active Directory. .. I also managed to get 2 front-end certificates from freeCodeCamp.

Conclusion

Doing 100 days of coding was not easy. Finding time to code after a full-time job that was draining a lot of energy was not always fun. It also meant saying no to a lot of fun stuff. The challenge did help to prioritize coding higher than many other things, and it helped me to do even a tiny bit - even on the days I did not feel like it. In the beginning I also skipped many days, but towards the end I hardly skipped any days.

Before the 100 days I did not know anything about authentication, fetching data from APIs, hooking up to a database or managing state of an application. I am still not mastering any of those topics, but for now I feel proud just to know that I can make these things work 🥳

Tags