Last weekend Paperless Post sent 6 ‘posters (our new name for members of the Paperless Post family — what do you think?) to the 2011 Gotham Ruby Conference, (GoRuCo) and I was happy to be one of them. I’m lucky to work for a company that understands the value of professional development and GoRuCo is widely considered one of the highest quality regional Ruby conferences, so I’m double lucky to have attended this year. This was my fourth year at GoRuCo and in many ways it was the strongest conference so far. There were a broad range of subjects and some great speakers this year — the team learned quite a bit, from obscure PostgresQL functionality to the underlying principles of the scientific method. Since talks of the videos and the slides will likely be published by GoRuCo soon, I won’t bother to recap all of them, but instead I’ll dive a little more deeply into two of my favorite talks from the day.
Sandi Metz (@sandimetz): “Less: The Path to Better Design”
Sandi Metz is a well known Rubyist and Object Oriented Design theorist who has graced GoRuCo with her presence in the past. In 2009 she gave a talk on SOLID design, and this talk was a follow-up to those theories. As anyone who has tried to write code one day and then maintain it the next day knows, writing maintainable code and trying to maintain code in general are some of the biggest challenges that face software engineers on a day-to-day basis. Metz’s theories on “Less” attempt to articulate what makes up design, and what we can do to evaluate our code to know if it meets best practices principles. She has designed a clever acronym for qualities that you can look for to determine if code is “good” or not. They spell TRUE:
- Transparent – the consequences of change are visible and predictable
- Reasonable – the cost of adding a new feature is proportional to its value
- Usable – if you wrote it, you can reuse it
- Exemplary – more code like this would be good for your app
These lessons ring very true with me, and I’m doing whatever I can to evangelize these points here at Paperless Post. Metz is an amazingly fluid and thoughtful presenter who makes it very clear that she cares about her subject. She obviously experienced the pains of unmaintainable software and the joys of well-written software; she wants our community to improve by focusing on design, and letting the truths of our underlying infrastructures reveal themselves. If Sandi is speaking in your area, go! Send your team! Learn from the best!
Evan Phoenix (@evanphx): “Rubinius For You”
Considering both talks are on opposite ends of the spectrum of the Ruby milieu – one being on designing APIs for a language and the other regarding language implementation – it was quite an experience to be able to hear two distinctive and involved speakers in one fun filled day. Congratulations to the GoRuCo 2011 team for another amazing conference. A team of ‘posters will certainly be in attendance next year — hopefully in even bigger numbers.