This week Tom and I finished up Michael Hartl’s Ruby on Rails tutorial. About a week before Code Academy had started Neal (one of CA’s co-founders) strongly recommended that we try and tackle this 500+ page book and during the 12 weeks of class he consistently asked us if we finished it. Well, although most of us took a stab at it during class, we were often too busy learning and working on other projects and only a couple of people actually finished it (Alfonso and Alex jump to mind). Hence, we formed the “Holidays with Hartl” study group to finally tackle the beast so Neal would stop asking if we finished it (and maybe to help ward off the Code Academy withdrawls). So, here’s my two pennies worth…

The Hartl tutorial is like a round-the-world trip in a supersonic jet. It will take you on a loooong journey at a very fast pace and at the end you might step out of your plane only to realize you’re on the same runway you started at. For someone who is new to programming or Rails, it might be just a little too much information a little too fast, but there will definitely be some knowledge gained on your journey and it’s a first-class flyover that gives you a solid glimpse of what lies ahead. Hartl hits on a lot of different concepts: MVC architecture, RESTful routing, validations, associations, CSS, TDD, Rspec, Github and even deployment via Heroku. Now I can definitely understand why people do the Tutorial several times, because there is so much to pick up on.

However, for those of us that waited to do the tutorial until after class, it was mostly a solid review of things that Jeff taught us so well (seriously, he’s the best). What made it all worth it though was the heavy exposure to Rspec and Test Driven Development (TDD). During the 12 weeks of Code Academy we just didn’t have enough hours of class time to learn much testing, but Hartl pretty much doesn’t do anything without writing a test for it in Rspec first. (Confession: for two days after the tutorial- which took us 6 full days- I was thinking about every action I took in “describe”-“it”- “do” statements. Describe morning routine… it “should brush my teeth” do…). And not only did we learn a lot about the syntax and structuring of tests, but we really got to see the value of TDD and how spending time writing tests can create a more solid piece of software and save that much more time in the long run.

This week I’ll be helping some of my fellow alumni out with their projects, re-writing some of my own application and tackling some apprenticeship/internship projects…and you can sure as hell bet I’ll be writing some tests.