A year has passed since the last post to this blog, and it has been one of the best years of my career.  I have worked with Ruby on Rails as a full-time independent software developer.  I have met some of the smartest and most interesting people in the software development community.  I have worked with powerful, intuitive, and downright amazing technologies.  I have spent my time writing code that solves real problems.  I haven’t written a line of Java in the last year, and I haven’t missed it for an instant.  The twelve years I spent as a Java devotee and fanboy were well-spent, mainly in that they prepared me for the next step.  Those twelve years prepared me to make the switch into a world so completely and utterly different in every way that I couldn’t possibly have anticipated it.  They prepared me for the world of Ruby on Rails.

What is it about Ruby, Rails, and their community that is so compelling?  Years ago, I would get excited about a new Hibernate or Spring release.  I couldn’t wait to convert my Ant scripts to Maven.  I knew Java, the JVM, and the associated technologies inside and out.  I could explain in great depth the different approaches to garbage collection.  What could change someone’s deeply held views about how to solve software problems in such a short period?  I now know the answer.  It’s simple:

There is a better way to solve all of these problems, and this better way is actually enjoyable.

As a software developer, you’ve almost certainly heard a lot about Ruby on Rails.  You may have even dabbled in it, generated some simple apps, or walked through a tutorial.  You might know someone who works with Rails and won’t shut the hell up about it how awesome it is every time you talk to them.  You may know a little or a lot about what Ruby and Rails are, but you haven’t seen any compelling reasons to uproot your career and learn something new.  This post is the first in a series explaining the reasons, tangible and intangible, why a switch from Java or any other language to Ruby and Rails is satisfying, rewarding, and enjoyable.

This series will consist of three posts, each covering an aspect of “the switch” in the order that you are likely to encounter them:

  • Rails:  Writing Web Applications, Not Reinventing the Wheel
  • Ruby:  An Elegant, Concise, and Beautiful Language
  • The Community: Brilliant People Doing Impossible Things

In the end, you’ll understand more than just the buzzwords associated with Ruby and Rails.  You’ll understand the implications of making “the switch” in a way that reading manuals and technical resources doesn’t convey.  You’ll understand why developers make the switch and why they rarely want to switch back.  Most importantly, you’ll understand the fierce loyalty that Ruby and Rails developers have for their language and their community.  You may even make “the switch.”