For the last four years I’ve set informal goals to become a better Ruby developer. They looked something like this:
- 2008: Contribute to an open source project
- 2009: Make it to a Ruby conference
- 2010: Maintain some sort of popular open source project
- 2011: Speak at a conference
All of these seemed daunting at first. And then I did them. Now I wonder why I didn’t do all of them earlier. I want you to experience that same progression, regardless of what goal you might have. It’s easy to improve yourself.
2008 was before GitHub really started picking up momentum, and as someone
feeling somewhat new to Ruby and to open source in general, figuring out which
project to contribute to and how to do it was fairly challenging. Eventually I
made a few different contributions (one of which was for
restful_authentication to my future coworker, Rick
Olson, who unceremoniously shot down my patch and made
me whimper in a corner for a few weeks). But I got my other contributions in.
Being young, dealing with scheduling, and the lack of a company sponsoring my travels meant heading to a technical conference felt a little out of reach. But I made it to RailsConf 2009.
In 2010 I found myself with a couple different open source projects taking off: both in developer activity (forks of my dotfiles) and in end-user activity (usage of boom). I learned more about what versioning a project meant. And releases. And encouraging contributions. It was initially intimidating, but now it feels so second-nature.
In 2011, I sent a talk submission to RailsConf. I felt silly: I hadn’t given a talk before, and choosing the largest Ruby conference seemed an intimidating first step. It was accepted, and I gave my talk in May. Now I have four other talks scheduled for the rest of 2011 so far, including some international conferences.
I felt a little embarrassed putting my timeline at the top of this post. Everything on that list seems so trivial now that I’ve done it. Of course it’s easy to contribute to a project. To attend a conference. To prepare a talk.
But they all felt daunting before I did them.
A big part of my job involves talking to a lot of software developers, from Ruby to Cocoa to young to old to stern to playful. And I usually find myself encouraging people to give a talk. To write blog posts. To publish more open source.
I’ll look at them and see the same feeling I felt. It’s not a feeling of incompetence. It’s a feeling of a lack of belonging. That they’re not ready to be indoctrinated into the special Club of People Who Are Ready.
Being Ready is only accomplished after you’ve done something. Before you’ve done something, it’s daunting. After you’ve done something, it’s easy.
So do something.