Need guidance to learn rails with the goal of getting a job & working with Ruby & Rails full time

I am learning Rails & Ruby right now with the ultimate goal of using these technologies full time. However, my current job is at a windows shop & I am not in a position to influence any decisions on what technologies to use. I have a limited understanding of web development. However, my database skills have improved significantly thanks to my role in my current job. Given this background, I was wondering what I need to achieve before starting to look for a job as a Rails developer.

Obviously learning Rails & fundamentals of Ruby as soon as possible is on the list. Learning the tools of the trade in terms of Git & RSpec & others is also something that is on my list. I wanted to get a sense of what are other things I could do to substitute for work experience? Participating in the community I think would be a great way to do it but I wanted to get a sense of the competency level that is a minimum to do this successfully. What are other action items that I need to pay attention to?

I would also really appreciate it if people could tell me what are the ways they found were the most effective in terms of learning Rails. How much of Ruby do you delve into before you build complex apps? How far can you go & get away with without focusing too much on Ruby?

Thank you very much. I am willing to invest the necessary time in learning the language and building a solid foundation. I just need a little guidance from the community to point me in the right direction.

Thank you very much for your guidance! It is very much appreciated!

Since you already have a full time job my advice would be to take your time and learn Ruby before learning Rails. Understanding Ruby goes a long way in understanding (and extending) Rails. Sure you can get away without understanding it, but you won't get as far and things won't make as much sense. I wouldn't recommend doing any Rails without first learning at least the basics of Ruby.

There are a lot of books out there, some online and free (google - humble ruby book, saphire ruby).

Once you've gotten some Ruby in you, build a simple app that you understand the business-cases for -- that way you can focus on the new Rails side without worrying about what it is you're trying to do. That should give you lots of jumping off points for other aspects of the rails world (testing, file attachments, authentication, etc. etc. etc.)

Since you can't influence your day job's technology, put everything you do into a Github account. This then becomes a testament to what you can -- and more importantly *have* -- done. I've noticed more and more job offers say "send your resume and link to your github account."

The other things I would recommend are to actively read this list and see if you can figure out the answers to the questions people are asking. You might not know, but the digging around in the Rails source can be enlightening all the same.

Browse the lighthouse tickets and see if you can't fix any, contribute to any of the gems/plugins you use -- even if it's just documentation.

Good luck!

-philip

I can't think of anything better than developing your own app. Go sign up for a github account and start writing some code. When you hit a wall with something, google around first and then ask questions to the group if you still have problems. Books and guides are great resources to help you along but nothing beats getting your hands dirty. When you finish your app, post it to opensourcerails.com and see what kind of feedback you get. Good luck.

Maybe have read a book is best choice:

<The Well-Grounded Rubyist >

i think -Philip is right make yours ruby fundamental clear ruby book is available in its own documentation pragmatic in ruby 1.8.something and 1.9 Something very good help documentation is available where is yours ruby installed check is out and read it make your simple application or programs.

I agree to all suggestions posted above. The best way to learn ROR, is get yourself well versed with Ruby, look in rails and try to find how rails uses ruby, to achieve various processes and functions, Get your hands on IRB and FXRI (just install ruby and type these commands all in small case to get in to it) and keep reading content posted by David & Pratik on there blogs also be in touch with Martin Fowler, to understand how thought works, does various developments.

and that is it, you are done.

Thanks everyone for your suggestion. I have basic ruby knowledge but not advanced stuff so I will try and build on that.

I'm further down the same road. :slight_smile: I'm currently interviewing for ROR jobs and C# ones. Currently employed but looking for a better fit.

I agree with others that you should just start coding and post your work up.

In interviewing, people want to see your work. You need running sites that demonstrate functional capability and design ability. That's what really helped me. I'm waiting on an offer for a ROR right now because of it. Expect to show code as well.

As for learning ROR, I would say, "Dive in". If you are new to web development then you have a lot to learn about. You've got to learn about tableless layouts, CSS, Javascript, HTML all in addition to Ruby and separately the Rails framework.

I agree that a solid understanding of Ruby is very helpful, however, don't let that slow you down from jumping in.

Use the web as a resource and here's my suggestions for getting started. This assumes you are already familiar with DB concepts and OOP in general.

* Start with a guide that walks you through a small project. The official ROR books are good at this. (Agile Development with Ruby on Rails) * Realize that Test Driven Development is where you have to be eventually. However, when you are just learning, that can be a lot to grasp before experimenting with code. Wait on that while getting familiar. * Spend some time really learning a few key Ruby concepts. They are all over in Rails. (I rank them in this order)   * Ruby blocks   * Hashes   * Arrays   * OOP in Ruby (Classes, methods, and attributes) * Using the book as a guide, you'll get familiar with the MVC pattern. * Learn deployments (Capistrano probably) * Assuming you are coming from an IDE perspective, I recommend trying Netbeans (free) and RubyMine (trial, then pay). Once I got over some snags in RubyMine, I happily paid for it because it is just so much better than anything else I've tried. I used Netbeans for a couple years first.

As for good ROR resources, I recommend...

* Railscasts - excellent resource * Ruby5 podcast - news and items to investigate. Exposure to new ideas * RailsEnvy podcast - news and items to investigate. Exposure to new ideas * RailsGuides - Walk-through specific concepts and shows best practices * ruby-toolbox - Figure out what most people are using * http://railslab.newrelic.com/scaling-rails - Scaling Rails podcast series - learn about designing for performance and how to troubleshoot performance

Jump in! Enjoy the adventure!

-Mark E.

I would add to this excellent list: get extremely comfortable working in the console, since Ruby is an interpreted language you can learn/confirm most everything in the console. You'll see Ryan use it a lot in his RailsCasts, so watch how he uses it as much as watching the subject he's covering.