Two months ago on 10/29/2013 I signed up for a paid account at Team Treehouse. Since I actually spent money I consider this my web development “birthday”.
I’ve learned a ton, particularly about
- Unix command line
I’ve developed both on my desktop (Windows = sloooow) and also used a cloud-based development environment, Nitrous.io.
I would call myself an “Intermediate Beginner” at this stage. My knowledge and feel for Rails and the MVC model are growing daily. I don’t have to fumble around looking for the locations of files and I can troubleshoot my errors.
If my Github profile is any indicator of my progress then I think building 10 Rails apps is pretty good.
If I knew then what I know now and could go back in time and do it over again the only thing I’d do differently is make the “Getting Started with Rails” tutorial the first tutorial I did, and then build that app about 5-10 times in a row. There is simply no substitute for putting fingers on the keyboard and coding.
Another thing about the Getting Started tutorial that I like compared to Michael Hartl’s tutorial is the complete lack of TDD (Test Driven Development). Hartl’s tutorial is a comprehensive tutorial aimed at beginning and intermediate level users, so the focus on TDD is appropriate in that context. For the complete novice user (e.g., me) I think that the TDD elements are a major hurdle and a possibly a roadblock to learning Rails effectively.
While building the tutorial’s showpiece, the sample_app, I found myself asking “Why am I doing this? Why am I running this test?” I understand the role of testing in app development, however for a novice who is just learning the very basics of Rails development I think TDD may lead to massive amounts of frustration as it did in my case. I suspended development of the sample_app project and instead did the “Getting Started” tutorial 5 times in a row, which gave me a lot of confidence. When I came back to sample_app the TDD parts of the tutorial made sense and the frustration with the TDD process was gone.
I’m really looking forward to building more apps. My immediate goals are to complete Hartl’s tutorial and to complete Team Treehouse’s “Rails Developer” track by the 1/29/2014.