How Rails Helped Me Level Up

Pat Eyler is running a Rails-related blogging challenge, in cahoots with Apress. The topic How has Ruby on Rails made you a better programmer? was proposed by Jarkko Laine.

How could I resist such a fertile topic? (Psst! The answer is: I can’t!)

Among other factoids, Pat and Jarkko are both Slash7 readers and sometimes commenters—hi, guys!

So Much Better, Baby

Really, Rails has made me better in too many ways to list. But if I had to pick a top 4, it’d have to be…

  1. Made me happier in my work
  2. Introduced me to many ridiculously smart, incredibly nice people
  3. Got me hooked on learning advanced programming concepts
  4. Made me rich * (not yet)

#1: Less Drudgery, More Interesting Work == More Joy

When I was doing PHP for a living (which I was, in the time Before Rails (B.R.)), I spent a colossal amount of time reinventing the wheel. The SQL, the form validation, the error handling, repopulating forms, blah blah blah… there were OSS libraries out there, certainly, but they were peddlers of a false economy. You could get to 80% of the use case quite quickly, but the last 20% specific to your project would be a murderous hackfest.

Rails lets you get to the 80% of the use case quite quickly… and the pain for the last 20% rarely comes up. For the most part, Rails makes your life easier most of the time and then doesn’t make the rest of the time harder.

This means that instead of spending hours working on that crap, I get to focus on the meat of what makes each application different, and design, usability, and the other things that are actually worth starting fresh each time. Instead of figuring out how to re-invent the wheel this time, I get to spend extra time on doing my job as well as possible. I’m also less tempted by the false god of reusability, and so each thing I get to build is more “itself” than it might be if I had less time and less flexibility.

#2: Let’s Play Spot the Smart, Passionate Person. There! There! No, There! There too! Oh gosh, they’re EVERYWHERE!

The Ruby and Rails communities are composed of an amazing mixture of academics and amateurs, hobbyists and scientists, lifers and daytrippers. We’ve also got a culture of sharing—with MIT licenses—and one of helping others find their joy (new-agey but true).

I can’t tell you how many programming concepts I’ve learned simply by watching conversations go by… and I’ve gotten a lot of help along the way, as well. And been chided from time to time for being lax. And been told of new things I should know, or places where I’m going wrong. All these conversations and experiences have, for me, resulted in better practices, better knowledge, and more reverence for truly good code.

I’ve also given more to others than I ever had before, through writing, cheat sheets, and volunteering my time. It’s really true what they say about teaching being the best way to learn—not to mention a really gnarly positive reinforcement cycle.

And, lastly but not leastly, I feel like I’m bettered by being able to watch what the true innovators are doing. Their “toys” and “intellectual exercises” are changing the Ruby and Rails landscape today, and will probably be changing the rest of the world in 3-5 years. I feel so current.

#3: MVC. Design patterns. DDD. ORM. TDD. REST. DSL. Extractions. Pure OOP.

The list above constitutes a partial list of “stuff I’ve learned because of Rails.” I may have heard of it before, I may have read into it a little bit, I may even have had a passing acquaintance with the concepts.

But I never got excited about it or really got into it until Ruby and Rails, or Ruby/Rails people, brought me to the base of the mountain and said “Climb that.”

Rails and Ruby revived my intellectual curiosity about code, and Ruby changed the way I think about programming in a profound way. It’s led me to be a smarter, more capable, more effective human being.

And for that, I’m truly thankful.

#4: Made me rich!

OK, not yet. But being more smarter, more capable, and more effective can’t hurt the pursuit of material independence… can it?

OK, Your Turn!

I’m not in it for the prize, I think this kind of discussion helps everyone. “They” say that talking and writing about what you are thankful for makes you a happier person, and putting it out there may help others find what they’re looking for as well. It’s a win/win proposition.

So, go write up how Rails has made you a better programmer, post it to your blog, and let Pat know where to find it.

posted in: rails    |     9 comments