a beginner, navigating the overwhelming amount of training resources
out there can be daunting. From books to blogs to on-line schools,
it's really hard to know where to focus and which ones are quality.
Being in a full-time training program, I actually didn't expect to need as many outside resources as I have. For me, it's really helpful to hear the same information explained or presented in different ways. Also, if you're going through a book or a more static tutorial, sometimes an animated video with interactive exercises can be a REALLY nice break for the brain. I'm not going to cover my favourite books since I have some other posts with reviews that I encourage you to check out.
On-Line Code Schools:
CodeSchool.com: Their format is one of my favourites and I will continue to use them as their courses are relevant and I can afford it. Each chapter of a course starts with an explanatory video, followed by small coding exercises done in the browser. If you get really stuck, you can ask for hints and even the solution. I prefer getting feedback to an “off-line” exercise (like a book might have you do), and really appreciate the hints when I get stuck. I've used some more static tutorials, and once I'm stuck, it's really hard to move forward. CodeSchool keeps track of your progress and their site is really nice. As you complete badges, you earn $5 off the monthly subscription price, which is a nice bonus. I've had to contact customer service, and they were just great. All in all, I've really enjoyed my experience here.
Tuts Plus: This site has more material than CodeSchool, and on more topics. While Tuts Plus has a wealth of information, I don't love the way it's organized. When searching for a topic, the top results are often the least relevant. At first, I wasn't sure what the difference between their 'courses' and their 'tutorials' was, and I found it confusing that it was hard to navigate to ALL courses/tutorials/articles/whatever on a given topic. To have it organized by topic would be really nice.
Michael Hartl's Rails Tutorial: If you're looking to learn Rails, this tutorial is a great place to start. I recommend knowing some Ruby first, or revisiting the tutorial again after learning some Ruby farther down the road. Michael walks you through every step of the process, even using Test Driven Development. He stops to explain important concepts where needed, but doesn't overwhelm. In contrast to some of the on-line code schools, with this tutorial you write the program in your files, the real deal. If possible, work through the tutorial with someone else, not necessarily pairing but someone who can help if you get stuck and vice versa. Make it a goal to complete a chapter per week so you can stay at the same pace and answer each other's questions. Since this tutorial is open source on Github, feel free to open an issue or submit a pull request if you find an error or something that's outdated, and get your feet wet with open source.
Test First: Learn Ruby: Another favourite “real code” tutorial is Learn Ruby from TestFirst.org. This is one of the few examples I could find of learning Ruby with TDD, and was suggested to me by Danny Garcia. Admittedly it's been a few weeks since I've used it since I've been swimming in this new fangled Rails world, and I should probably fit one lesson in per week to make sure I stick with it. This would be another great course to work through with another person.