I've got substantial J2EE experience, have worked with Grails, and am comfortable with several languages (Perl, PHP, Smalltalk). I've decided to try a new project using Ruby on Rails. For those who've decided to migrate to a new technology stack, how do you make the transition? Do you learn the details of Ruby first (I've done a few tutorials, and feel like I've got a decent enough grasp of the language to start doing some basic work) or do you do a full Ruby on Rails tutorial, and expand your knowledge from there. I'm leaning towards the latter approach because I feel like I can delve into details of the language as I encounter them. For those who work in Ruby on Rails, how did you learn, and which resources do you recommend?
closed as off-topic by durron597, user22815, user53019, user40980, Dan Pichelman May 19 '15 at 19:02
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions seeking career or education advice are off topic here. They are only meaningful to the asker and do not generate lasting value for the broader community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, Community, Community, Community, Dan Pichelman
The best way to learn a new language is simply to use it (reading tutorials won't make it 'click') and one way that I've been assured is fantastic is through writing tests. I'm yet to try this myself (and will do so this weekend) but give Ruby Koans a go and let me know how you get on :)
I learned Rails by going through the Agile Web Development with Rails book and immediately applied everything that I learned to a real web project. I ended up with a rather substantial application (mykidslibrary.com) and a deep understanding of the framework.
There's that saying that if you spend 10,000 hours at a task you'll become an expert. So I'd say "get coding!" If you've done the tutorial then write some code to scratch an itch or join an open source ruby on rails project.
If your employer is brave/trusts you - perhaps you can build a small but useful real world project as well.
A crucial part of any project is the purpose it is aimed to satisfy. If you are just reading about a language or copying some program, the purpose isn't there, and it's just like painting by numbers.
Choose a project of your own initiative (though you can get ideas from others), not a big one, and tackle that. That way all parts of your brain will be engaged, you'll have fun, and everything you learn will be grounded in a purpose.
Read the tutorial, then go and write a 1,000 lines of code in the language. That will not make you a master but after 1k lines you should have a pretty good feel for it.
And don't be afraid to make stupid mistakes, as long as you learn from them!