Archive | May 2014

Code School, cont.

Monthly update I guess. I’ve been working my way through all of the classes on Code School which has certainly been keeping me busy learning-wise. I started by just wanting to go through the Ruby and Rails courses, but I liked them so much and there aren’t so so many that it’d be crazy to try to do them all – so I decided to try to do them all. :-) At this point I’m maybe somewhere around 2/3 through. They have 5 tracks: Ruby/Rails, HTML & CSS, JavaScript, iOS, and electives. I’ve done all of the Ruby & Rails classes, all of the HTML & CSS ones, some of the JavaScript ones, and the half of the electives that have to to with Git. It’s been pretty time consuming, but I definitely feel like it’s time very well spent. The quality of the videos is really good, the jingles and themes are fun as I mentioned in my last post, and doing the challenges after the videos provides enough hands-on practice to help make sure you’re actually understanding something. There’s actually a pretty wide range in the difficulty level for me. Some of the courses cover things that felt way over my head, especially some of the advanced Ruby and Rails ones – though it’s still good to get introduced to these advanced topics. And some of them mostly covered things I already know, though it can never hurt to get a familiar topic introduced a different way, and for example even the intro to CSS course taught me a whole set of basic things that I totally didn’t know before. At first I wasn’t wanting to go beyond Rails and associated topics, and, for example, I’d been holding off on spending any time on JavaScript just because it’s a totally different path. But I figured if I can make my way throguh the Code School courses in the JavaScript and iOS tracks then at least I’ll have a good sense of what they entail and then can decide if I want to dive deeper, but at least I’ll know more what other people are talking about. For example with JavaScript, I did the class on Node.js, so at least now I know the basics of what Node can do, and by the end I’ll have gone over a bunch of other topics that fall in that same category of things I hear about all the time but only have a vague sense of what they do such as Angular, Backbone, and Ember. And iOS actually is something I think I’m really interested in, it’s just such a different thing that I’ve been holding off entirely, but I’m looking forward to getting a good introduction. I guess I’m saving that for last. In general though, I’m feeling pretty good with focusing on Ruby and Rails and feel like for now that’s a good focus for me. Maybe it’s also that it’s just what I’m comfortable with now, but coding in Ruby feels really good to me, whereas the little I’ve done with JavaScript has felt a little uncomfortable, needing all the curly braces and semicolons and parantheses to call functions and just generally different syntax. But I’m sure it’s also just a matter of familiarity.

I’ve also really been learning a lot at work, which is good to acknowledge. One of the biggest things has been learning Rspec to write tests for my code. It’s still very new to me and there are whole philosophies about how to test, how much to test, etc. But even in just this one project I’ve been doing I feel like I’m starting to sort of “get it” in terms of how to go about everything and it kind of just makes sense! Also thanks to some great help from some people I work with. Also I’ve definitely gotten much more comfortable working with Git and especially as part of a team. And even little things like I needed to use vim the other day just for something basic but so I figured it out. Things like that that I always knew I’d need to do at some point – but it takes actually *needing* to do it to take the time to figure it out – and then it turns out to be not so hard! That’s definitely a big thing that I keep realizing. So many things before I do them seem super daunting – like how am I really going to figure out Rspec and write tests for all this code or Vim is scary and can I really use it on live code without breaking something or can I really undo something in Git without totally messing something up for everyone? But in the end it just takes facing it and it never ends up as scary as it initally seemed. And it’s all about getting this experience I suppose.

It is a little crazy to take a step back and realize that just a year ago I’d never even written a line of code and now it’s like my entire life. It was around a year ago that I was starting this first Intro to Computer Science course on Coursera that ended up being frustrating to me because it was more just an overview of principles and used the professor’s own simplified version of JavaScript vs. introducing the material using a real language. But I’ve definitely come a very long way since then. :-)