Tl;dr: I’m learning Rails in a week! And I’ll blog about it all along. Any tips?
So. Learning Rails.
As a recent graduate in CS, moving to a new country in two weeks and looking forward to expand my skills, Rails looks like a good fit: it’s in demand, it focuses on developer happiness, vibrant ecosystem yadda yadda. You probably already know this so let’s cut the marketing speak!
Methodology
My main aim is to get familiar with the Rails ecosystem, but also to learn better processes in the way. This includes a more thorough use of version control, testing, server provisioning and deployment.
I plan on using the following tools:
- Git (I already know a bit of git, but basically just add/commit/push to Github. We’ll see if I need more)
- Vagrant & Chef to provision the VM
- Capistrano to deploy
- Test::Unit
- Cucumber
- RailsForZombies as a very first introduction
The plan is to spend about 8 hours a day for 7 days, including a day off on Sunday and time off when Rugby World Cup matches are on the telly (I’m not a bot!).
I’m not yet settled on using the Pomodoro technique, we’ll see how things work out.
Goal
My objective at the end of this week is to create a small webapp that will give you a map showing the antipodes of something the user entered (a city, a country, etc). The logic behind this isn’t very complicated at first glance: plug into Google Maps and revert GPS coordinates? Which makes it a good learning project.
Caveat/Gotchas
I already know Ruby (not inside and out, but a fair bit of it), which will undoubtedly make the learning process easier. I also wrote a few websites using Sinatra, so I have a basic awareness of what Rack is, how HAML works, etc â it’s not as if I was beginning from zero.
Of course, I won’t have time to learn all there is to know about Rails in a mere seven days. :) But I have to get started somewhere, get something done, and I hope I’ll be able to reduce the number of unknown unknowns I have about Rails as much as possible in that timeframe.
I have listed more tools centered around ops than in Rails itself because I don’t know much about what will take time right now. That’s where I’m looking for your help: do you have pointers for things I should learn? Things I should absolutely do/absolutely not do? Feel free to post them here, on Hacker News, or fire me an email.
Learning begins tomorrow at 8!
I’m pretty much doing the exact same thing. Recent CS graduate, got a job working on a LAMP stack, and it’s terrible. Rails radically simplifies everything. Using RSpec+Spork an factories for tests, GitHub for version control and heroku for deployment. I’ve been following along with http://ruby.railstutorial.org/ and it’s teaching me so much great stuff, and not just for Rails. I can apply a lot of it to my current work as well, it’s great!
Good luck to you, and I look forward to reading some new posts!
-Andrew