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.
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.
Thanks everyone for your suggestion. I have basic ruby knowledge but
not advanced stuff so I will try and build on that.
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 F., to understand how thought works, does
various developments.
and that is it, you are done.
I’m further down the same road. 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.
Sent from my iPhone