Nothing beats coding amidst a backdrop of mountains with snowcapped peaks, especially when it's done alongside some of the greatest and friendliest Ruby developers in the country.
I spent last weekend at MountainWest RubyConf with the goal of learning from some bright Rubyists and to present my new UXDD (User Experience Driven Development) presentation. This would be my first time presenting at a Ruby conference and though I was wrought with nerves, the inviting MWRC environment helped to put me at ease.
To my relief, my presentation was well-received. As many of you know, I came to Intridea as a designer and have gotten into development over the years as a way to bridge the gap between the design and development worlds. I was definitely nervous about giving a design-focused presentation to a group of Ruby developers who were infinitely more expert than I could ever claim to be; but I was humble and I think they appreciated that. The more time I spend in this community the more I discover how accepting it is and how ready people are to help you succeed.
I attended tons of presentations and there seemed to be a couple overarching themes between most of them:
- ActiveRecord and Rails Models: How do we organize the models correctly? The general practice is to move functionality from your controllers to your models, but when you follow that practice strictly it can create problems on larger projects. As someone at MWRC said, "the model gets too big to even get in through the door." So there was a lot of talk about breaking down functionality even further by taking all that functionality you throw in your models and breaking it out into even smaller bits of functionality, into classes or modules. Mike Gehard, David Brady, Jack Danger, and Mitchell Hashimoto all touched on the subject of how to refactor and maintain your model health in their presentations.
- Ruby in the future: How should we be structuring our apps? What needs to happen to build "RESTful" or "REST-like" apps in the future? How should Rails be used as an API to serve a front-end client? Should Rails even be used to serve up an API?
My two favorite talks were from Jamis Buck and Evan Light.
Jamis, who is someone I've always looked up to in the Ruby community, gave a fantastic presentation, "It's the Little Things", in which he highlighted a bunch of great "little things" that make Ruby so awesome. He's a fantastic speaker and was able to capture and engage everyone throughout his talk. He really had the group smiling when he referred to Ruby as "pixie dust".
Evan is another one of those people who I've seen in the Twitterverse for a long time, so being able to meet him and see him present was a treat. He gave a candid talk on "Frustration Driven Development" in which he talked about the advantages of getting angry, and how all of life's experiences can drive you to write great code. He was entertaining and his slides really convey his message, so check them out if you're interested!
All of the talks had a very human element for me. It was my first opportunity to meet many of the people who I previously only knew via their online presence. Now they're not just Twitter or Github handles to me - they're actually awesome people, doing really great work and making time to share it and talk about it with people like me. The Logan.rb group, based out of Logan, UT was a good example of some of the great people I met. They were extremely welcoming to me; I enjoyed meeting, eating, and hanging out with those guys.
MountainWest was such a fantastic event that I'm already committed to going back next year. Not only was the conference great, but Moab was beautiful too. I made sure to set aside some time to explore the area on my bike before I headed back to Baltimore.
This definitely won't be my last Ruby conference, and I'm thankful to the diversity of people who continue to make the community immersive and helpful.