Spent the day at RIT (thanks to Karlie and Todd Robinson and their family for graciously hosting me!) working with Steve Jacobs and Remy DeCausemaker on POSSE (we're on for June 14-18 with Chris Tyler coming down from Toronto to be one of our instructors) and RIT's teaching-open-source-fu. As part of this, Remy and I spent the evening at Computer Science House (CSH) talking with students about how Getting An Open Source Job/Internship/Co-op Works. It was one of the best such sessions I have been to; Remy and I are both recent-enough grads to remember our student-brains and bridge a little bit of our current world (FOSS) back to our old one (school).

It was done completely off-the-cuff, but I now have a 10-slide set of slides that I think will replicate the important parts sitting as pages in my notebook. At some point I should transcribe and post them. Nagging me may help accelerate this process. ;-) This, however, was the most important section (in my mind). Here's what we're taught as kids. Or at least what I was taught as a kid.

In My Parents' World - How to Do Stuff (answer: "Get A Job according to these Complex Procedures")

  1. Be interested in something
  2. Study (very, very, very) hard
  3. Get (very, very, very) good grades
  4. Make a resume
  5. Buy suit
  6. Apply to jobs
  7. Get introduced to recruiter
  8. Get interviewed
  9. Get hired
  10. Do Stuff

Except that the "Do Stuff" might be... well, entry-level job, filing stuff, doing thankless gruntwork waiting 'till you could move up the ladder and really Do Stuff, you know...

In The FOSS World - How to Do Stuff (answer: "Do Stuff")

  1. Be interested in something
  2. Do Stuff
  3. Get hired

So here's the thing: to your employer (according to my parents' world), steps 2-8 in the first list are filters for the "getting hired" step. Hypothetically, your future boss can use things like grades, cover letters, etc. to figure out who's going to add value to the project. And... all right, maybe they kinda work. And that's about as good as you can get when Getting Hired is a prerequisite to Doing Stuff - they have to hire you before they give you access to the lab, the mailing list, the hardware, the code, and so forth.

But in FOSS-land, Getting Hired is not a prerequisite to Doing Stuff. In fact, it's the other way around. Doing Stuff is the filter. Your future boss is waiting for you to give him/her an excuse to hire you. Not only hire you, but hire you to do something you're already so interested in that you're doing it for fun in your free time, and do it better. And this is not restricted to open source companies - banks need sysadmins, hospitals need programmers, robotics labs need UI designers... if you ask the question "could open source benefit this place?" and the answer is yes (and it should basically always be yes), then seriously consider offering to be the one to Bring It There.

Now, folks who've been around open source for a while will think this is obvious. But to me a couple years ago, coming squarely from the mindset I was taught as a kid, this blew my mind. In FOSS-land, we toss around "oh, just Do Something" as if it were the most obvious thing in the world - but it isn't. See, steps 2-8 in the first list serve as a filter for potential employers, but they also serve as scaffolding to first-time jobhunters. You've never been through this process before, where do you start, how do you figure out what people value? Well, you make a resume according to these recommendations...

So if we're replacing and reordering a whole chunk o' steps with an extremely nonspecific instruction to "Do Something," we'd better elaborate a little more on what that is and how you start going about it.

That's what the rest of the evening was about.