Hacker News new | past | comments | ask | show | jobs | submit login

I was in your position 4 years ago. I had spent some time learning HTML/CSS + PHP and had thrown up a few websites here and there. I wanted to get into real web dev, and I decided Rails would pave that road.

I'm not one for books, but Ruby on Rails: Up and Running (http://oreilly.com/catalog/9780596101329/) was an incredible resource for new devs. I have since introduced two other people to Rails though that book and they loved it. One issue: it's old. If they haven't updated it for Rails 2+, don't go near it. You might want to try the Rails Guide instead (http://guides.rubyonrails.org/getting_started.html)

From there, I picked up Ruby for Rails (http://www.manning.com/black/). I read about 20% of this book. It was critical for me understanding the "magic" behind Rails and the weird syntax behind Ruby. I came from a somewhat CS background, so YMMV.

After that, I left the books behind. I just found problems and tried solving them with Ruby & Ruby on Rails. I did a few crappy webapps, some of the Facebook engineering puzzles, some of the Project Euler questions.

----- One word: PRACTICE. -----

At first, stay away from doing it perfect, just get something working and iterate. You don't need a full suite of tests, scale to 1M users, and super-clever meta-code (you dont need this ever). Every project you do you'll get better.

And when you get stuck, know where to go for help. The people who hang out in #ruby & #rubyonrails on freenode can be really helpful. To get the most out of this help, enter the room, state that you're new to Ruby/Rails, explicitly state your end goal (I want to see a list of customers on the screen), and include all your relevant code in a pastie. You may have to be patient, but the people there are super smart and super helpful.


Through a combination of self taught Ruby on Rails programming and putting myself in professional situations with room for programming growth, I have been incredibly successful. I'm positive you can too. Pracitce lots, always be learning, don't be afraid to ask for help. Best of luck.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact