Are you a Rails developer? Have you been one for a while? Do you ever think about how much institutional knowledge you take for granted? If you spend a few hours helping someone learn Rails for the first time, you quickly begin to appreciate the daunting mountain of knowledge, terminology and best practices that comes with being an experienced developer.
That’s what I discovered this past weekend. I was very fortunate to coach Rails Girls San Francisco, an amazing event where nearly 50 women came together to learn Rails. I don’t think I can summarize my experience better than with this tweet:
If you want to be inspired, spend time with people wanting to put all of Rails in their head in 5 hours #SFrailsgirls
— Chris Kelly (@amateurhuman) January 26, 2013
Rails Girls was founded in 2010 by Linda Liukas and Kaari Saarinen. The group’s first ever event was held in Helsinki and was attended by over 100 future developers. It’s since gone global, with events in Tokyo, Frankfurt, Dublin, Austin and more. The weekend events are free and open to women of all ages, and have one simple goal – to open up technology and make it more approachable to everyone.
Rails Girls San Francisco was organized by Elaine Greenberg, Ines Sombra, Jessica Allen, and Terence Lee. And financial support for the event came from Engine Yard, GitHub, New Relic, and Plivo. The weekend’s activities kicked off Friday night with an installation party, where participants could stop by and get help preparing their laptops for Rails development. (This often includes installing Rails, git and a text editor.) They also had a chance to meet other attendees and coaches before the big hack day that followed.
On Saturday, attendees came with awesome attitudes and hungry minds excited to build their first Rails app. The day started with an introduction to Ruby using tryruby.org. This was my first insight into the shear quantity of new information the attendees were going to encounter throughout the day – I’d forgotten how much I take for granted. They learned about Ruby syntax, control structures and even the object-oriented nature of Ruby. This was just the beginning though and the attendees were eager for more.
After the Ruby introduction, it was time for Rails. The participants were grouped by skill level and paired with a coach that would walk them through building an application for the remainder of the day. Many skilled developers volunteered their Saturday to be coaches and this kept the student / coach ratio very low. (2:1 in most cases.) The coaches gave very focused attention to the budding developers. They worked with the students starting at the very beginning of code, the terminal and browser. Throughout the day the students learned about Rails’ MVC structure, scaffolding, database migrations, and frontend development. In the end, the new developers had a functioning application that helped them track their ideas and upload related photos.
The event also included talks from coaches along with exercises that exposed the attendees to the wide world of the Ruby web development ecosystem. Diana Mounter gave a talk about designing for web applications, Andre Arko showed how Rubyists use Rubygems to take advantage of other people’s code, Jina Bolton presented Sass 101, and Julie Ann Horvath proved that hacking design directly in the browser is way better than using Photoshop. If learning Ruby and Rails wasn’t enough for information overload, then surely this whirlwind tour through the rest of the application stack would have done it. But the attendees kept smiling and asking for more!
While a few attendees had some experience with Ruby or Rails, for most of them it was their first look into programming as a hobby or a profession. Their willingness and effort to spend an entire day absorbing all of this information was inspirational. And their excitement and eagerness to continue building on their applications was a joy to be a part of.
Thanks to all of the event organizers, coaches, sponsors and (most of all) the attendees in creating such an amazing weekend. I can’t wait to participate in the next event!