A Few Weeks Ago

Oops, I wrote this on the train a few weeks ago and never got around to posting it. It was about finishing as much as I’m going to do of Code School for now, and I haven’t done much learning on my own since so I guess I don’t have much to add! Here’s what I wrote:

Well, I didn’t finish every single class on Code School but I did a whole lot of them and I’m taking a break now. Take a look at my “report card.”

Screen Shot 2014-06-29 at 10.12.00 PM

I feel like those circles don’t quite do it justice! The Ruby and JavaScript circles are made up of ~11 slices for individual classes and each class has ~6 levels sometimes with multiple videos and many challenges per video. So yeah – that was a lot of work! Time well spent definitely. As I’ve said before, I’ve been continually impressed by the quality of Code School and would highly recommend it to anyone. I stopped short of doing the iOS classes (those are the empty pie) and will save those for another time, and I also still have a couple of electives left. So sometime in the future I’ll re-activate my subscription and do those classes plus do whatever new classes have been added between now and then of which there will definitely be a few. But for now, onward to other things!

Advertisements

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. :-)

Back!

I’ve been meaning to get back to blogging for awhile. Now I will finally do it – over 3 months since my last entry… So a quick update: a few weeks after Coding Dojo ended, I ended up back at the educational research company I was at before Coding Dojo, but in a split role half in my old job and half in their web development group. It worked out very nicely, and I’m so excited to actually be working as a web developer. I continue to devote a lot of my free time to learning more, and that’s where I want the focus of the blog to mostly be. My “coding road” continues…

Overall, I feel like there’s just so so so much out there. So many different topics, so many great materials available, it’s just a matter of picking what to work on and finding the time to work on it. I have an incredibly long list of things I want to do, and I’m just trying to take them one step at a time without getting too overwhelmed by all of the zillions of things I want to learn. For now my focus has largely been on Rails since that’s what my job mostly is and is what I would want to focus on anyway for now. Which is somewhat notable in and of itself. People had always asked me where specifically I wanted to focus before and during Coding Dojo, and I never had an answer because at that point I was interested in learning some about a bunch of different topics and then seeing what most drew me in. At Coding Dojo we spent so much time early on on PHP that I started building confidence there and getting used to that, and then starting Rails back then was a weird, new thing. But little by little I’ve gotten really into Rails and understanding “The Rails Way” and also the Ruby language itself, and now I kind of don’t want to touch PHP anymore (which generally is a fairly popular sentiment). :-) Though I still am very grateful to have learned PHP first because I think if I went straight to Rails, I wouldn’t understand a lot of what Rails makes happen for you.

So the first big thing I did after Coding Dojo was to go through Michael Hartl’s Ruby on Rails tutorial. Everyone had told me it was a great resource, and it definitely was. It’s pretty long, and it walks you all the way through creating a Twitter-ish web app. It was the right level for me – it may be a bit too much for someone brand new to Rails – but it solidified my knowledge in certain areas and taught me lots of new things, or at least made me familiar with new Rails topics that I didn’t know much about before. The best part for me was that it creates the entire app using test-driven-development writing tests in Rspec and goes over the general philosophy and workflow of testing first, which was new to me but is very important. And a highlight for me was that in the middle of my working my way through the tutorial, I got to see Michael Hartl speak at a Learn2Code conference, so that was pretty neat – to actually see in real life the person who I’d been listening to for hours on end.

Then the next thing I’ve been doing is working my way through some of the Ruby/Rails classes on Code School, and yet again, I’m pretty blown away by the quality. Code School is more game-like than say Udacity, and each course has around 6 levels with a video per level and then challenges after the video to test what you’ve learned. The courses have themes to them like a whole sequence of Rails for Zombies courses that are zombie themed and Ruby Bits which is old-school video game themed. And each course has a little jingle that starts off each video in the course, which is pretty fun. Again the level of the material is pretty right on for me, and some of the content in the later courses looks maybe a little advanced for me but it’s good to gain familiarity with those complex topics, even if I don’t fully understand them the first time through. I’ve been through a few courses up til now and have a whole bunch more I want to do, and I’ve learned a lot of new things or again solidified existing knowledge, and it’s been fun doing it. I’m definitely pretty impressed with Code School.

So that’s all for now. I’ll try to get back in the habit of blogging semi-frequently. Definitely not as much as when I was at Coding Dojo, but hopefully more often than every 3 months… :-)

Ninja!

stickers

I guess I am officially done with Coding Dojo…  :-)

All I was searching for was me…
Ben Howard, Keep Your Head Up

Done!

Hard to believe but I’m done with Coding Dojo.  The past 10 weeks have been a total whirlwind and it’s really flown by.  But I’ve learned so so much, it’s amazing.  Although there are definitely aspects of Coding Dojo that are not ideal or that could be improved, the most important thing is that I’m coming out of it having learned so much.  And overall one of my big takeaways is that their curriculum, as in the topics taught and the order in which they are taught, is really good.  I’m glad to have covered such a wide variety of topics, and looking back now, it all makes so much sense in that each topic builds on the topics that came before.  The experience building a project was also really valuable, and I learned a whole other set of things through that process.  In the end, I felt really good about my project for the amount of time I had, and it was fun to show it at Demo Day.  I’m sad that Coding Dojo is over, and it’ll be so different not to be going there every day and seeing everyone and continuing to learn in that intensive, immersive environment.  But I’m so excited to keep learning and keep building things.  I have a long list of things I want to do, between getting more experience learning Rails, learning other technologies that I didn’t learn at Coding Dojo, continuing to add to my Math Canvas project, and building new projects.  Overall, I’m just so excited to have found something that I love so much.  Who knows exactly what my future holds, but one way or another I know I want to continue down this “coding road.”  And we will see where it leads…  :-)

Day 44 – Project cont.

2nd to last day!  Tomorrow is Demo Day!

I still have a very long list of changes I could make to my project, and I’ll keep making changes until I run out of time (and then of course can still work on it afterwards).  But…  Here it is!:

http://mathcanvas.herokuapp.com/

mathcanvaslogo

Feel free to add some drawings.  :-)