Optimized for People
Reflections on WindyCityRails
by Blake Thomas
September 21st, 2012
Windy City Rails opened Thursday morning with an improv session wherein a large crowd of caffeine swilling, somewhat bleary but engaged attendees attempt to flummox a professional improv group, The Chicago Improv Commission, by shouting esoteric jargon when prompted for input. This shouldn’t be a surprise; of course we’d try to hack their process. One commonality here is that we like to see how things work, and many have learned that the easiest way to get there is to first see how things break.
Enova was one of only two Ruby Level sponsors of Windy City Rails 2012, the other being Groupon — and like Groupon we’re one of the largest employers of Rubyists in Chicago and possibly the country. Being that we were sponsoring the conference, we took the opportunity to have a large presence, with more than twenty Enovans in attendance, including our CTO, Fred Lee. Enova’s history and position in the Rails community means that there were a lot of faces we’ve seen before: people we’ve met at Chicago Ruby Hack Nights hosted at our downtown office; attendees and presenters we’ve met at RailsConf, RubyConf, PGCon, and other conferences; and folks we’ve worked with in prior incarnations.
In the midst of a familiar coterie there was plenty of newness as accompaniment. Previous years saw Windy City Rails as a one day affair hosted near the loop, but this year the conference underwent a pair of significant changes. Sessions were spread across two days and the conference was held at the South Shore Cultural Center, gorgeous new digs for a newly expanded conference.
However different the environs and the schedule, thematically, the conference felt similar to previous years. However, perhaps owing to the new venue, I found myself ruminating more than usual on how those themes related to us as professionals. Specifically, how the nature and content of the presentations at this conference could be seen as characteristic of the Chicago Ruby community.
Enthusiast vs. Professional
Several presentations highlighted the difference between an older rendition of professionalism as a strictly suit and tie affair and what I think is best called the “new professionalism,” most notable for its emphasis on enthusiasm, irreverence, and substance over stodgy formality. For “Let’s Make Testing Fun Again,” Noel Rappin shared a few guiding principles for testing that we could use to reclaim the immediate feedback and gratification successful testing could provide, almost, a gamification of work. Aaron Kalin attempted to break down barriers for “Choose Your Own Adventure!” by encouraging attendees to tell their table-mates to the left or right something surprising about themselves and proceeded to let the crowd, using democracy by shouting match, to choose among twelve mini-presentations. Presentations and people like Noel and Aaron have, over time, led me to conclude that the new professional is the premier enthusiast.
Developer vs. Programmer
A developer is more than just a programmer; he thinks critically about how we build the things we build. I’m reminded of what Alberto Savoia has said about pretotyping, “Make sure you are building the right it before you build it right.” Ryan Singer’s Thursday presentation “The Essentials of Product Development” was entirely about how we best define, describe, and determine what the product we’re building actually is. On Friday one of my favorite Lightning talks (quick, five minute presentations for the uninitiated) “Code Like a Chef: Work Clean” gave us a great analogy for how our methods and choices feed into a desirable result.
Learner vs. Expert
I don’t want to minimize the importance of technical ability and programming skill. Being a good developer necessarily encompasses the technical. If Bryan Liles’s discussion of mastering the shell served as a sort of curious nerdy aside, complete with exuberant humor and unabashed endorsement of zsh, then talks like “The RSpec Toolkit” (David Chelimsky) and “Use Rails for Your Next Client-Side App” (Yehuda Katz) brought the focus back to the core pursuits of our community. I took a particular interest of several of the lightning talks given the first day: “PgPower: Postgres for Power Users” and “It’s About Time” (an examination of some peculiarities of the Time module), all of which brought home the of the profound degree of knowledge required to do the job well.
It’s my belief that the criticality of self-directed, lifelong learning cannot be overstated. As several presenters noted, our chosen profession urges us to be polyglots, people fluent in multiple languages. However, to become a polyglot and maintain that depth and breadth of knowledge necessitates a fluidity of learning that has become emblematic of accomplished Rails developers. Presentations by Doc Norton and Jeff Cohen (“Being an Excellent Software Developer” and “Cultures of Effective Learning,” respectively) brought this to the forefront.
Humanist vs. Technician
What makes Rubyists and the Chicago Rails community so unique? From what I’ve seen, it is our dedication to not just elemental technical mastery, but the emphasis of a wider foundation of thinking and learning. Ultimately, it seems like the community embraces the idea that we’re in it for more than just the code. “Frustration Driven Development,” “Development and Philosophy,” and “Coding Without Electricity, Trials and tribulations of being a tech guy in Myanmar (Burma)” in particular brought home the idea that it would be a fallacy to think of Windy City Rails as a conference about Ruby on Rails. However nuanced the point may seem, Windy City Rails is more aptly characterized as a conference for Ruby on Rails developers.
Rails has been described as (by DHH, I think) “optimized for developer happiness.” It’s worth reminding ourselves that however we classify ourselves (developers, technologists, engineers, etc.) we are first and foremost people and secondly people who are invested in developing good software.
Gotta Get Down on Friday
This last point was brought home to me as I was leaving Friday afternoon. I joined a handful of my peers who were engaged in conversation with Yehuda Katz about his current and past projects, recent and upcoming changes in Rails, and the joys and frustrations of Rails development. As we walked away, the last thing I heard said (it may have been Yehuda asking, I don’t remember) before Yehuda settled into the front seat of my friend’s car was, “Anyone want to go get a drink?”
Whatever else we are, we’re enthusiastic people learning about, talking about, and doing what we’re enthusiastic about in and out of the office. Even on Friday.