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 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.
Completed Watch & Code
This was really good. I highly recommend it for anyone.
However, it’s important to note why it was good.
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.
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
- 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?
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.
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:
- I wanted to at least attempt the FreeCodeCamp Basic Algorithm Challenges. I didn’t even see the first one.
- 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.
- 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.
- 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.
- Color Game App
- You Don’t Know JS: Up & Going
- You Don’t Know JS: Scope & Closures
- FreeCodeCamp’s Intermediate Front-End Projects
- FreeCodeCamp’s sections on Object-Oriented & Functional Programming and on JSON APIs & AJAX
- FreeCodeCamp’s Advanced Front-End Projects
- BONUS: ES6 for Everyone - Wes Bos
- BONUS: Udacity’s Object-Oriented Programming
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. ¯\_(ツ)_/¯