Spinning My Wheels

For as much time as I spent working on my Python chops, I didn’t feel like I was getting a deeper understanding of OOP and its principles. I’ve since switched to Ruby, and it’s much better–I think? We’ll see. When I did preliminary research prior to the language change, the creator of Ruby indicated that he wanted OOP to be built-in, unlike Python, where it feels like an afterthought. I’m not going to pretend like I know what I’m talking about, but I do see more emphasis on objects and how they can be used all day, e’eryday.

I’m still working on various things related to JavaScript. JavaScript and I still aren’t friends, because it feels like it’s the “Beyond” section of Bed, Bath, and Beyond–it’s not strictly typed, but there are types, and things change from out beneath me, and you can do everything, but you can’t really outside these given rules, and goodness, it’s still taking me a lot of time to understand things that I’ve been working on for what feels like a long time. In addition to basic JavaScript, I’ve been working a bunch on Angular.js and jQuery. Free Code Camp is also going to cover Node.js and Express.js, so those are on the horizon.

Am I getting better at anything at all? It honestly doesn’t feel like it, and I’m glad that FCC makes you do projects, otherwise I would really have nothing at all to show for the work I’ve put in over the past year and a half or so. I began this development journey back in spring 2014, and wow, it’s been a lot longer than I thought and I’m still not where I want to be. Will I ever get there? I don’t know. I got a Skillcrush handout, and the advice was to start before you’re ready.

So I will. I hope to land two jobs, however small, by the end of the year. More would be better, but I just need to begin somewhere, and like the Irish say, well-begun is half done.

What am I doing?

I’m doing a lot of stuff, and I’m feeling overwhelmed with the sheer amount of stuff that I have to learn. Here’s what is currently on my plate:

Coursera’s program is new, and I’m excited to have found an intermediate-level program. It seems that most of what I’ve found thus far is aimed at either complete rookies or experience programmers. I am neither. I might rip out all of my hair if I have to write any more GCD algorithms in any language, but I’m definitely not at the level where I can talk about lambda functions in my sleep, either.

Free Code Camp continues to go well. I’m at to-do item #243. Essentially, all I have left before starting the 800 hours of practical experience building an app for a non-profit is some stuff on AngularJS, Node.js/Express.js, MongoDB, and ten (smaller) projects that put together everything I’ve been working on. This program and its road map was a lifesaver when I got to the point where I felt like I was spinning my wheels, and it continues to point me in the right direction.

John Duckett’s books flesh out the material that I’ve covered in Free Code Camp. Most of the time, what I’m reading is review, but there are definitely things I did not know about (such as which tags are considered syntax markup and which ones were considered semantic markup, despite appearances indicating that the two were, functionally, identical). I’m sure the same material is available for free on the Internet somewhere, but a)I like having physical books as reference (yes, I am ancient), and b)the fact I haven’t come across this information despite several months of working on HTML tells me I might never have learned these things.

Python is my main squeeze (“I see what you did there,” sez my coworker), and I just completed Downey’s Think Python book this weekend. Think Complexity is a continuation of Think Python, so I’m eager to work on my intermediate-level scripting chops while learning a bit about complexity science and basic algorithms.

All in all, I am pleased with my progress, especially after feeling like I was doing the same thing over and over again and not getting anywhere (we all know the key to excellence is deliberate practice, and while I was practicing, it was neither deliberate, nor was it challenging enough for me to make any type of progress). It did seem like everything on the Internet was geared toward front-end developers, so with the discovery of the Coursera program, I’m looking forward to doing even more back-end-related things.

A Quick Update

I’m enjoying Free Code Camp. Due to my prior work in (attempting) to learn web dev, I completed 111 Waypoints (in keeping with the camp theme, exercises are called Waypoints) before slowing down. The Waypoints are now challenging me, and though I think my code could use some work, I am being challenged and am learning many new things. Yesterday, I completed five Waypoints, which covered objects and their properties and arrays.

I have yet to touch The Odin Project, and it remains to be seen if I ever will. I might extract the Ruby portions and complete those, but I’d really rather spend my time on Python.

Progress!

I was getting to the point where I wasn’t sure where to go next. I surveyed the vast landscape called “learning to program,” and the amount of knowledge that I didn’t have was absolutely daunting.

Enter Free Code Camp and The Odin Project. These are full FREE programs for learning.

Free Code Camp is modeled after the various dev bootcamps that are springing up everywhere. You spend about 800 hours learning and 800 hours working on projects that benefit nonprofit organizations. At the end, you’ll have learned, created a portfolio to show future employers, and done good in the world.

That is pretty nifty.

The Odin Project is an open-source curriculum that claims to be a “proven path to successfully learn web development so you don’t have to wonder if you’re doing the right stuff or wasting your time” [emphasis mine].

The fact that I haven’t found either until now makes me question my ability to use Google.

BUT! It doesn’t matter now, because I have found them, and that is exciting to me, especially given how I was feeling as I wrote my last blog post.

Yes, I realize I wrote about a specific incident, but I would be lying if I said a good part of that uncertainty was because I put my own curriculum together (the blind leading the blind, anyone?). I wasn’t sure if I was learning the right thing at the right time.

I’ve been working through Free Code Camp for the past two days due to its emphasis on JavaScript. I’ve heard good things about The Odin Project, and the emphasis of that program is on Ruby. I don’t know if I should even start it, since I think it’s better to do one thing well, rather than doing two things haphazardly. I may give it a shot in the next couple of days.

I’m really excited.