The Foraker Labs team had a great time at this year’s Rocky Mountain Ruby Conference (#rockymtnruby). It was fantastic to see a full house at the Boulder Theatre for the two days of the conference, and we enjoyed hanging out with old friends from within the Boulder Ruby community, as well as getting a chance to meet a whole host of visitors from near and far. Here’s a brief overview of some of our favorite talks.
Thursday
The conference kicked off on Thursday in fine fashion with a musical tribute by Jim Weirich to our favorite programming language (“Ruby Coding High… Colorado”). Mike Gehard of LivingSocial followed that up with an opening talk on how to counteract the “fuziness” of a multi-tasking driven world by practicing focus, and ended up leading the entire auditorium in a brief, 3-minute meditation session (when in Boulder, eh?!).
Michael Feathers gave the conference keynote on the subject of “Code Blindess”. He argued that what we want is for organizations as a whole to make better decisions about software, and talked about some of the challenges with making awareness of code part of the organizational culture. He defined “code blindness” as lack of understanding within the organization of the real business value of code ranging from “total ignorance” to “integrated knowing” where the organization as a whole understands the value of the software they have as an essential differentiator. Michael argued that technical knowledge, especially in a technology-focused organization, should flow up and down throughout the company, and said that successful organizations make this happen by developing ways to monitor key vital signs
in their code.
Anthony Eden gave a talk on how “API Design Matters” where he argued that APIs are the end product of software development, internally and externally. “If you write software for a living, you design APIs for a living”. Good APIs should be consistent, clear, convenient (it should be easier to use the existing API than rolling your own code), concise, and complete. After a brief walk-through of the API for the Net::HTTP library (“the standard library from hell”), he showed us a couple of more user-friendly alternatives (e.g. Typheous, Faraday), and ended by reminding us that software developers are API designers.
After lunch Nick Sutterer gave us a solid refresher on REST, followed by Grant Blakeman teaching us techy types about “design thinking”. Advi Grimm proved that there were indeed things we did not know about Ruby exceptions, and Jim Weirich taught us quite a bit about the Ruby debugger (vs. “puts-driven development”).
Tim Clem’s talk (“Code First Ask Questions Later”) was easily the highlight of the afternoon. After a brief overview of how life as an engineer at GitHub really does not suck (no managers, no PTO, no set hours, no meetings, everyone gets paid the same, Hubot, shipping squirrel, et cetera) he talked about how GitHub’s success boils down to a “culture of shipping”, arguing that you have nothing to talk (or complain) about until you’ve dove in and built something — only then do you have the right to ask questions.
Then the bar opened, and we all reflected upon how having a bar inside the venue almost made up for the almost total lack of wireless connectivity. Almost.
The afternoon was closed out with two softer talks. Jay Zeshin talked about “Cognitive Psychology and the Zen of Code”, arguing that “you want to make it as easy as possible to allow your readers to pay attention. To spend their cognitive resources on the important things.” Word to that! Afterwards, Suzan Bond followed up with a complimentary talk about intuition and code, where she suggested that learning to listen to your gut is an essential skill, even for us programming types.
Friday
Between an “unconference” hackfest at Trada, the usual craziness at Boulder Ignite, and an epic GitHub drinkup, almost nobody was capable of making it out for the 7:00AM trail run on Friday morning. Marty said it was nice, though.
Deliciously delightful breakfast was again provided by The Cup. Then, Konstantin Haase started us off with a talk about “Real Time Rack”, and Rod Cope of OpenLogic walked us through his team’s trials and tribulations “Implementing Rails 3.1, Backbone.js, CoffeScript, and More” in a production environment.
Jeff Casimir of Jumpstart Lab gave perhaps the most inspiring talk of the entire conference (“There Are No Tests”). Jeff’s talk focused on what he called “rescue projects” — where new developers are called in to save a project that’s gone horribly off the rails — and how to run them successfully. Jeff argued that rescue projects are perhaps the most noble projects. “Life,” Jeff commented, “is not greenfield”, and fixing complex systems is much much harder than starting them. “If you want to be a programming superstar, do rescues”. He went on: “You have to have passion. You have to love code. You have to love people. You are dealing with a people problem. The software is only a symptom. You have to care about the people, the systems, and the change you can bring.” As far as advice on what specific changes we should prioritize, Jeff defended writing tests, but clarified why he felt tests were important: “Tests are not about validation. Tests are not about it ‘working’. Tests are about regression. Not ‘does it work today?’ Rather: ‘Will it work tomorrow?’”.
Gerred Dillon of QuickLeft gave a very thorough presentation on “Ruby Messaging Patterns”, in which he detailed his efforts at creating a highly available enterprise system using asynchronous methods and queues to add some flexibility to how objects get created and messages passed. Afterwards Charles Max Wood gave an entertaining talk on “Cloning Twitter: Rails + Cassandra” where we definitely learned a thing or two about this new “column-oriented” database.
Other business pulled most of the Foraker team away after lunch, so that was mostly that!
Foraker was proud, once again, to help sponsor Rocky Mountain Ruby Conference this year. We learned lots and had some great times with our fellow Rubists. Special thanks again to Marty Haught and Haught Codeworks for organizing a fantastic local event in our Boulder backyard!
Jeff Casimir
on September 13, 2011 said:
Thanks for sponsoring RMR and I’m glad you enjoyed my session. I was really happy with how it came together.
Ferenc Mihaly
on September 13, 2011 said:
Good to see API design popping up as a topic on more and more conferences. Even better to hear that the audience appreciate it too. Thanks for the update.