The Best Way To Learn How To Code

The Wrong Approach

When I first started learning how to code, I found a few different tutorials and instructional videos. A Udemy course here, or a website there. But I soon noticed how hard it was to learn with these resources. These tools were teaching me the various rules of basic web development (e.g. how to set up an HTML file) but not offering very much space to practice on my own. One resource, freeCodeCamp, walked me through how to make a simple web app with HTML. They showed me different elements, one at a time. However, after I had finished, I realized that I could not remember the HTML elements that were in that walk-through at all. I could not recreate the app I had made maybe 20 minutes ago. Right around that time, I discovered this was the wrong approach. Of course, it took me a while to find the right approach.

The Right Approach

After I had been following along with tutorials and walk-throughs, I got to the point where I had the basics of both HTML and CSS down. I then discovered the #100daysofcode challenge. This challenge is a commitment to code for one hour or more per day for 100 days and to tweet about it every day. The main takeaway I got from looking into the #100daysofcode challenge was realizing just how project-based it was. The focus was to use the time you spent coding every day to make different projects--maybe projects you found online or creative ideas you came up with yourself. This was when I really started learning how to use HTML and CSS and I made my first website on my own.

My Failed #100daysofcode

I actually failed the #100daysofcode challenge. I started the challenge on January 1st, 2021. After getting COVID in January, I fell off the challenge slowly at first and then gave up way before 100 days had elapsed. Even though I fell short of 100 days, I had still built a project that I found quite interesting. I first made this website that compares major streaming services. I built it with HTML, Bootstrap, and a little bit of my own CSS to tweak what Bootstrap gave me. I liked how this site looked, but it was NOT optimized for mobile. Initially, I was okay with that but the more I thought about it, the more I wanted to make a mobile-friendly website. I rebuilt that website from the ground up and then deployed a version 2.0 where I wrote all the HTML, a solid majority of the CSS, and did not use Bootstrap at all. This process of building a project, and then rebuilding it taught me the most about web development that I had learned up to that point. I learned so many practicals that I had forgotten or had not even been covered in the other resources I had been using up to that point. The process of building a project gave me a lot of confidence as a programmer and helped to reinforce my hope of actually become a programmer in 2022.

One Caveat

You do have to start with some basics before you can build projects. Without my video resources that were more in the style of lectures, I would not have been able to make that project that came out of my (less than) #100daysofcode challenge. You need the basics before you are armed with enough knowledge tools to figure out how to put a project together.

Start Here

Bottom line; I highly recommend finding resources that are more project-based from the get-go. This is a good blend of both the basics plus application of what you are learning. For specific resources, I cannot recommend Angela Yu enough! She is a gifted teacher and is very focused on building projects while you are learning. She has you constantly applying what you've just learned and this ensures that you learn the concepts at a deeper level and have more practical tools straight away. If I could go back in time and tell myself one thing as I started my programing journey, it would be to start with Angela Yu's resources. I firmly believe that I would be much farther along in my coding journey if I had been learning with a focus on projects right off the bat.

Tim David

p.s.

I do not get any money if you pick up an Angela Yu course, I just firmly believe in her teaching philosophy and accredit much of my development as a developer directly to her.

Comments

Popular posts from this blog

Confronting Busyness

My Coding Journey: Part 2

My Coding Journey: Part 1