Coding Log — January 12th, 2018 — Day 25

Coding Time: Full Day

Here’s what I did today:

Continued FreeCodeCamp’s Basic JavaScript Track

I didn’t do a lot of this today. I had some major procrastination come over me. It’s one thing to get distracted, it’s a whole other thing to actively want to do something else.

Why? Because FreeCodeCamp’s Basic JavaScript course is teaching me nothing. I know all of it, but at the same time, I’m really not a fan of this type of in-browser code manipulation. For the parts of the code that I didn’t understand, it was just about editing the text to get it right. If this was the only resource I was following, I would easily forget the syntax for pushing arrays and making functions.

So, I’m going to stop.

Continued Trying to Zero In on a Path

I know I keep going back and forth with this. I’ve spent more time trying to bridge that gap between basic and intermediate JS than actually learning JS itself. I know.

However, I think there’s a lot to be said about taking the time to choose the right path. Especially after the experience from jumping from YDKJS to Watch & Code — I want to do something that feels right. I only want to do things that feel right. Even if that means I spend more time thinking about what to do than actually doing it.

I truly believe that once I overcome this hurdle, I will be unstoppable. Once you can build something, anything, using a dynamic programming language, it’s only a matter of time before you build a full-scale app on your own.

I did a lot more reading & thinking today. I read one article in particular that really hit the nail on the head.

Basically, there are 4 stages to learning JavaScript.

  • Stage 1: Learning Syntax
  • Stage 2: Building Your First Thing
  • Stage 3: You can Build Anything… With Time.
  • Stage 4: You can Actually Build Anything

I suggest you read the whole article.

Sidenote: I said “thing” in Stage 2 on purpose. Saying “Building your first app” adds too much gravitase and pressure to something that should be very small. More on this below.

Right now, I am clearly at the beginning of Stage 2. I need to build a very small thing. I’ve just been struggling with what that thing should be and how to go about it.

I tried with the Responsive Nav Bar. That was 600-1000 lines of code in vanilla JavaScript. I couldn’t understand a thing.

Decided on my first thing!

On the recommendation of someone in the CodeBuddies Slack chat, I went super small.

I actually looked up “tiny tiny JavaScript projects” and not a lot came up. Everything was sort of like the to-do list that we built in Watch & Code. As ugly as my to-do list is, that’s a full-page web application. That’s complicated. No, thanks.

They suggested building a carousel. Huh! That’s an option?

When they said that, it was like a lightbulb went off in my head. They gave me a basic list of components and I thought, “Yeah… I can do that… maybe. Sort of!” This is definitely something I can try to build instead of just being completely overwhelmed by how large even the smallest websites seem.

So now, I’m committed to building this.

There’s a few tutorials out on the web for dead simple carousels. I plan to try and build it on my own and once I hit a wall, I’ll consult a tutorial. I’m not focused on following a tutorial completely to try and get the best, perfect carousel. I refuse to copy/paste. I will simply use a tutorial to debug and get ideas.

Disclaimer: I’m not entirely committed to the idea of a carousel. This could change to an accordion or something else like that. It’s not a huge deal about which tiny web component I’m going to be making. The point is, my first thing I will build in JavaScript is going to be a tiny part of a website, not a full-blown website.

Tomorrow’s To-Do’s

Build the carousel! I’m committed to this being a 1.5 day project.

Day 1: Work until exhaustion. Day 2: Finishing touches/Deployment/Things I missed that a good night’s sleep will help.

There are still a few half-finished books & courses that I’ve committed to finishing that I’d like to list here for reference.

  • Kyle Simpson’s Introduction to JavaScript Programming (Video Course) - Short video course that corresponds to the first book in the YDKJS book series. It’s supposed to be easier to comprehend than the book.
  • The Web Developer Bootcamp (Udemy Video Course) - 43 hours of video content, so far gone entirely untouched… It’s giving me FOMO as I continue to wonder if it’s the magic sauce I’ve been missing this entire week. I just don’t have a gut feeling that another video course is the right course of action right now.
  • CS50x - Newly re-recorded for 2018! Someday.

I think that’s it? Of course, there’s a plethora of resources that everyone says I must read/finish — FreeCodeCamp lessons I tried and did not enjoy, Eloquent JavaScript which just seems hard and vague, You Don’t Know JS which also seems hard and vague, and JavaScript: The Weird Parts which is also supposed to be my magic pill for the gap between Stage 1 and Stage 2.

Will I ever get around to them? I don’t know. I don’t know if I’m that kind of person. Eventually, sure. But truly possibly on the nights and weekends after I’m already getting paid to code.

See you tomorrow for another day of wandering & whimsy!

Comments can be sent via email.

Subscribe via RSS Feed.