Month in Review: January

Alright, we’ve officially completed Month 2 of this journey.

This month, I spent 16 of 31 days learning to code.

That’s around the same amount as last month. I don’t really have any excuses or regrets here. As much as I tell myself I’m learning to code full-time, I do have a lot on my plate right now.

February is officially the first month that I’d say I’m mostly ready to start learning full-time. I don’t know how true that’ll end up being, but I’ll definitely try.

The approximate amount of hours I spent coding is 104 hours.

My goal is to code for 1000 hours before I start applying for jobs.

With last month’s total of 95 hours and this month’s total of 104 hours, I’m at a grand total of 199 hours.

At this rate, it’ll take 8 more months before I’m ready to start applying for jobs.

I would hope it doesn’t take that long. Every full-time month is 200 hours, so maybe if I successfully go at it full-time from now on, I’ll be done by the end of May.

Regardless, I think I’ve used these past 2 months very efficiently.

What I Wanted to Accomplish This Month

This month really zig-zagged. It’s hard to even compare where I started to where I am now.

The basic goal was that I wanted to be “halfway done” with JavaScript.

The method by which I was going to go about that was to go through the You Don’t Know JS books.

After that, I wanted to learn DOM Manipulation (I didn’t even know what this meant at this time), complete the FCC Basic Algorithm Challenges, and end by making my first real web app.

What I Actually Accomplished

Finished the first half of You Don’t Know JS: Up & Going

This was a mess. More importantly, I learned that learning to program against my nature is just setting myself up for failure.

My nature is very project-based.

Secondary to that, I thought I preferred books to videos. But the truth of the state of programming education is that a 5 minute video has the potential to contain so much more information than 5 pages of a book.

If I was still a fast reader, I would probably still prefer books. I get very distracted through videos, but in total, it still takes me less time than reading a book.

I spent a significant amount of time, conciously or subconciously, thinking about the best way for me to learn to code. I really took my time to invest only in resources that felt right. JavaScript Roadmap helped a lot with this once I actually found it. If something didn’t feel right, I stopped immediately. Every choice I made this month was extremely concious.

Completed Watch & Code

This was really good. I highly recommend it for anyone.

However, it’s important to note why it was good.

I don’t think Watch & Code covers all JavaScript fundamentals in the best way. I understood everything we were presented with, but we were only presented with a few things – things that only served the purpose of building the to-do list app.

The real gold in this course is thinking through how to actually build something. The most boring part of the course for me (Gordon listing the requirements every new section) ended up making the bridge between knowing concepts in theory to putting them in practice much shorter than it would’ve otherwise been.

I just wish Gordon did more code-alongs like this. I can’t stand watching any other code along after this. He completely spoiled me.

(Almost) Finished My Website

There’s no such thing as a finished website, but I officially made the design consistent between the blog and the index page. There’s also a working RSS feed, finally.

There’s still a bunch of small bugs – including the arrows between the pages, the footer on pages that are shorter than the screen, and the navigation bar on mobile.

There’s other actual changes I want to make as well, like maybe starting writing real articles and presenting them on the front page. Or you know, most importantly, getting off of a buggy system like Jekyll.

Oh yeah, and Kevin’s website somehow broke last month. I did not fix that yet, but that’s another “website change.”

I’ve been managing my website for 4 years now. It’s never done. There’s always more to do.

Started The Web Developer Bootcamp

I have many mixed feelings about this. I wonder if I had started with this, would I be further along than I am right now?

I love the explanations for concepts. I love the little exercises in between. Mostly, I love the thoroughness of the topics covered compared to Watch & Code.

I hate everything else about it. I hate that they’re videos. I hate the code-alongs that don’t follow the real iterative pattern that Watch & Code does. I hate the hand-holding.

I’m mostly using it as a reference point. I’ll either review JavaScript concepts through it or just use it for project ideas. Colt presents something we’re going to code together and goes through every feature of the app. Those are my requirements, as per Watch & Code.

After that, bye Colt. I’m making this on my own.

It’s worth my $11, but I don’t think I’d get much by going through it linearly.

Here’s my map of the front-end section of the course. (We’ll get to the back-end when we get to the back-end.)

The parts that are crossed out are parts I am choosing to skip entirely because I either know them (HTML/CSS) or I don’t care about them (jQuery).

  • Introduction to this Course 7/7
  • Introduction to Front End Development 4/4
  • Introduction to HTML 5/13
  • Intermediate HTML 0/13
  • Introduction to CSS 0/13
  • Intermediate CSS 0/16
  • Bootstrap 0/15
  • Introduction to JavaScript 6/12
  • Javascript Basics: Control Flow 0/17
  • Javascript Basics: Functions 0/10
  • Javascript Basics: Arrays 1/12
  • Javascript Basics: Objects 0/7
  • DOM Manipulation 13/13
  • Advanced DOM Manipulation 8/8
  • Color Game Project 2/10
  • Intro to jQuery 0/9
  • Advanced jQuery 0/5
  • Todo List Projects 0/11
  • Project: Patatap Clone 0 / 9

Really not a completionist, huh?

Made tinyjs

This was my magnum opus for the month. I went from spending several hours trying to get JavaScript to print my name to building a Score Keeper app that combines logic, CSS manipulation, and HTML manipulation.

After making the Score Keeper, I decided I was ready for full-scale apps that deserve their own GitHub repositories complete with their own subdomains.

I still might want to build a carousel. This page isn’t retired yet. It’ll still be my space for experimentation and tiny apps.

Started the Color Game Project

I really wanted to finish this in January so that I could end it with a bang, but things get in the way. I’ll finish it tomorrow or the day after at the latest, though.

It’s a full-page app. It’s coded entirely on my own. The idea is from The Web Developer Bootcamp, but that doesn’t matter.

The little that you see on the live page right now is already a huge accomplishment for me, pushing my knowledge of JavaScript to new levels.

Bought a Chromebook

Nothing much to say here. I really couldn’t stand to sit at my desk all day. I needed variety. I caved.

My first model was apparently defective, so I’m currently still setting my second attempt back up to run Linux again.

What I Didn’t Get to Accomplish

What I wanted to accomplish at the end of the month was very different than what I wanted to accomplish at the beginning of the month. Even then, I fell behind on plenty of stuff.

Obviously, I didn’t finish the Color Game Project like I wanted to.

Beyond that, there’s plenty of things:

  1. I wanted to at least attempt the FreeCodeCamp Basic Algorithm Challenges. I didn’t even see the first one.
  2. I wanted to finish all of the front-end section of The Web Developer Bootcamp. I just really couldn’t sit through video with concepts I was already familiar with, no matter how short they were.
  3. I wanted to build 6 real components for tinyjs before I moved on to real apps. As it is, I think I only have about 2.5. Project #1 is barely an app, but was hard for me, so it counts. #3 and #5 are glorified experiments.
  4. I wanted to read the first 2 books of You Don’t Know JS: Up & Going and Scope & Closures. I barely even started this.

How many of those were me not having enough time and how many of those were me just plain not having interest? Hmm… I could make an argument either way for all 4.

The part about tinyjs worries me the most. Am I moving too fast? Am I skipping fundamentals? Am I being too ambitious considering the relatively low amount of hours I’ve put in so far?

If I can start doing bigger apps, does it mean I necessarily should?

What I Want to Accomplish in February

I posted this list just a few days ago. It’s only lightly modified in that I made it even longer.

  1. Color Game App
  2. You Don’t Know JS: Up & Going
  3. You Don’t Know JS: Scope & Closures
  4. JavaScript30 (one video a day)
  5. FreeCodeCamp’s Intermediate Front-End Projects
  6. FreeCodeCamp’s sections on Object-Oriented & Functional Programming and on JSON APIs & AJAX
  7. Udacity’s AJAX courses (Intro to AJAX, JavaScript Promises, and Asynchronous Requests)
  8. JavaScript: Understanding the Weird Parts
  9. FreeCodeCamp’s Advanced Front-End Projects
  10. BONUS: ES6 for Everyone - Wes Bos
  11. BONUS: Udacity’s Object-Oriented Programming
  12. My Pet Project in JavaScript!!!

I’m 98% confident that this will bleed into March. I’ll probably finish the first 6 in February, and then do the advanced JS stuff (AJAX, Weird Parts, ES6, OOP, and the second stream of projects) in March.

Then onto React, then onto Node, then onto SQL or MongoDB – I still really haven’t decided which, then onto Algorithms & interview prep.

Such a long road ahead.

I hope you’ll continue to join me along it! It’s been a lot more fun than I thought it would be considering that I’m learning to code for entirely utilitarian reasons.

I think it’s a pretty big deal to go from knowing absolutely nothing about dynamic programming to understanding the basics enough to being able to build a very basic game in a month.

On a conceptual level, that’s amazing progress. I’m sure other people get it faster. I’m sure other people are able to invest a lot more time. I’m sure there’s even people who get both of those advantages.

But, I think I’m pretty good at it so far. There hasn’t been a problem I haven’t been able to solve so far. I don’t think I ask for help all that often (3x total, only 1 of them was a real problem I could not figure out at all). I think my problem-solving skills are really strong. I think I’ve made a few ambitious projects.

I don’t know. I’m satisfied. Maybe I have no right to be. Maybe I have every right to be.

I'll end with the emoji I can't stop using. ¯\_(ツ)_/¯

Comments can be sent via email.

Subscribe via RSS Feed.