5 Misc. Rails Tips

Just a quick note before I start - This has been written mainly as an entry to the Railscast's contest for epic loot. With that said, I'm hoping they're some generally helpful tips.

Tip #1 - Join the community

The most important part of Rails is the community - the fantastic little groups thats pop up focused on individual niches. You've probably seen WorkingWithRails and the like but my suggestion is that as a Rails / Ruby-based developer, it's usually in your best interested to partake in the community. And even more so, not just the communities for your specific niche - read up about alternatives (e.g. Merb), hang out in irc rooms and most of all participate. For Rubyists, I recommend the following:

  • User Groups: Join your local user groups; In Perth we have AWIA / Port80 (which is Web Developers in General) and RORO - both of which are an invaluable source of knowledge and a great bunch of people. Also, most will put on talks or events of some kind (RORO over east has Railscamps which are damned awesome looking) and so you'll also get plenty of opportunities to network and to learn more.
  • Forums / Mailing Lists: I'm not into forums as much as I used to but both Forms (e.g. RailsForum) and Mailing Lists (e.g. the official Ruby On Rails one etc) are a fantastic place to both read news and to keep up to date. An even better way of building your knowledge is to be on the bleeding edge and Mailing Lists in particular (along with IRC) are the perfect places to find out what people are making.
  • IRC: I can't stress this enough - Hanging out on IRC is a great way to meet people in your community, to find out what is happening and to just learn. Freenode seems to be the hip place these days and I suggest checking out #rubyonrails, #merb, #datamapper, #roro (if you're Australian) and #offrails - The last one is less formal than the others but is in general a small community of usually-rails-based developers.
  • Twitter: Lastly, Twitter is the new irc. My only suggestion here is to sign up if you haven't a follow a few different Ruby / Rails developers. There is a lot of noise but there is also a lot of new stuff.

Tip #2 - Have a testing server

When I say testing server, I don't mean one dedicated to running unit tests; I mean one for you to test out little ideas - even if there is a possibility they could bork your environment. VM's are ideal for this and VirtualBox is both free, easy and available on most major platforms. It can be as simple as downloading VirtualBox, an Ubuntu ISO and then setting it up like a real environment - all safely nestled away on your development box if you'd like.

If you want to go a bit further and you have a spare box sitting around, setup Vmware Server or Xen and a few different vm's with different environments - In particular, a Continuous Integration box may come in handy and I've always like the idea of having my own gem server which builds gems for the edge versions of Merb, Rails and the Like so my system is always up to date. It shouldn't take more than a day or two to setup and if you don't have much server experience, it's the perfect excuse to learn.

Tip #3 - Check out new technology

Try and stay on the cutting edge of things - e.g. become one of the early adopters of a technology (e.g. Merb / Git are examples of that a while ago - they're pretty much mainstream now). The technology / project you choose may not become mainstream but you'll learn a hell of a lot you likely wouldn't of before - I learnt a lot about ruby by reading through the source of early versions of Merb.

Also, contributing back to new technologies is usually a good way of getting to know people (see above) and it's also another way of getting respect among other developers.

Tip #4 - Have a pet application

Even if you're only doing Rails for work, I suggest having a little pet application at home to experiment with stuff. It may not be used by others but it's an excellent way of trying out new things, building your skills and honestly, who knows - you could have the next github on your hands.

More seriously, by building a pet application you get to not only focus on something at your own pace but it also lets you put into practice things that may only be applicable in certain circumstances in the real world as well as having the freedom to test out plugins etc as you see fit.

Tip #4 / #5 - Do RailsRumble

This one is more specific than the others but it's for a reason - I highly suggest taking part in the next RailsRumble when the times comes around. It's not only a bloody good time but if you get a team together it's an excellent environment in which to show off your development skills.

The main reason I'm suggesting this is because it ties together everything I've already suggested - It lets you work in a real world situation (e.g. time based), it lets your form invaluable connections (I only now frequent #offrails because of RailsRumble) and there's even some nice motivation for taking part.


Well, there you have it - My main 5 tips for Rails developers; All of them intended more at being a better developer than developing better (if that makes sense)

Posted by in Programming and it's been tagged as rails, ror, programming & railscasts. There are currently zero comments.