The Virtual Internship: Take Control of Your Future by Becoming an Open Source Developer
by Brian W. Fitzpatrick, coauthor of Version Control with Subversion08/01/2005
Despite your fantastic grades and razor-sharp wit, when it comes to looking for a job fresh out of college, you're going to find yourself competing against a multitude of other students with similarly impressive credentials. In some cases, you'll be competing against people who have several years of experience and all you've got on your resume is your senior project and an internship fetching coffee at Random BigCo.
The one thing you're missing on your resume is experience, and most students are advised or required to complete an internship to gain this much-needed knowledge. Unfortunately, most of the experience students get in an internship is doing some of the most menial chores in their field.
O'Reilly Media and Greenplum Team Up to Unite the Global GeekforceO'Reilly Media launched the beta version of O'Reilly Connection at its 2005 Open Source Convention. O'Reilly Connection is a tech-centric jobs and networking site for developers and those who want to hire them. The service was conceived and created by Greenplum. |
If, however, you create your own "internship" by contributing to an open source community, you'll get invaluable real-world experience, advice, and criticism from talented programmers, and you'll be doing something you enjoy. More importantly, from a career perspective, you'll start building a publicly visible portfolio of your work that you can show to any prospective employer.
While the typical internship may tout the "exciting opportunity to work in your prospective field," once you get beyond the marketing hype, you'll typically find yourself doing grunt work that no full-time employee wants to do. It's definitely a great opportunity to start at the bottom and work your way nowhere fast in a system designed to provide an employer with cheap labor. You're given a narrow field of responsibilities and only in the extremely rare case are you given the opportunity to make any decisions--at least any decisions that matter.
You may think it's impressive that you interned at Random BigCo and worked in the same department as J. Tech Superstar, but when your resume winds up on someone's desk alongside a prospect who actually worked full-time at Random BigCo, guess which resume goes into the shredder?
When you contribute to an open source project, you may start off doing some of the same kind of menial chores that you would do in an internship. These may include reviewing documentation, comments, and source code, and submitting small patches to fix the inevitable typos and small mistakes that you'll find. This housekeeping not only familiarizes you with the project's policies and code, but helps you to gain the trust of the project's committers.
|
Brian W. Fitzpatrick This tutorial covers the details of using Subversion in open source development, including making the transition from CVS, Subversion's differences from CVS, and using Subversion features not found in CVS. Brian W. Fitzpatrick This talk reviews best practices for migrating to Subversion, based on case studies of teams that have already made the switch. O'Reilly Open Source Convention |
In an open source project, you can garner more responsibilities as fast as your abilities allow (and, of course, as fast as the project's committers allow). As you establish yourself, you'll go from working on small bugs to more complex bugs, and eventually to designing and writing features. The real beauty of this is that you're not labelled an "intern," and there's no bureaucracy preventing you from committing on the same level as people with 15 years of CS experience--you may find yourself working side by side with a whole flock of J. Tech Superstars! Unless you tell people that you're a student, odds are that they'll never know. As they say, "On the internet, nobody knows you're a dog."
Once you've chosen an open source project to contribute to, you can set your own terms; you can choose what you want to work on and skip the bits that don't interest you. You can work as much or as little as you want and at any time of the day (or, most likely, night) you want. Not only will you get a lot of great experience working on a team, but you'll get code review and criticism (some constructive, some not so much) from your peers. Where else can you get this kind of mentoring for free? In fact, it's not unheard of for an open source colleague to eventually become your employer--or at least provide you with a job lead or a reference.
As I pointed out in my last article, your work in open source will be on the internet, and any prospective employer with a search engine and a few spare minutes will be able to see the work you've done. But that's a good thing--your publicly visible open source work will go a long way to giving them detailed information on the kind of work you do and how you work on a team.
Working on an open source project not only provides you with an amazing opportunity to learn and work with great people, but to gain experience and have a public account of the work you've done and how you've done it. You'll find flexibility and opportunity for advancement that is rarely found in an internship--and the only coffee you'll be fetching is your own.
Thanks to Ben Collins-Sussman, C. Michael Pilato, and Justin Erenkrantz for reading drafts of this article.
Brian W. Fitzpatrick is a member of the Apache Software Foundation and currently works for Google. He has been involved with Subversion in one way or another since its inception in early 2000.
|
Related Reading Version Control with Subversion |
Return to ONLamp.com.
You must be logged in to the O'Reilly Network to post a talkback.
Showing messages 1 through 7 of 7.
-
Open Source projects as Internships- will they help your IT career?
2006-04-18 08:35:08 cmz@distributed-technology.com [Reply | View]
-
Good Stuff...
2005-08-15 09:45:41 Matthew Russell |
[Reply | View]
Thanks for writing this up.
I'd often wondered what other people thought about "open source credentials" -- that is, whether or not a person can possibly circumvent some of the issues with good ole boys club (politics) in getting hired by a big company by jumping into an OSS project and acquiring some extra credentials.
I guess working on an OSS project also demonstrates some level of ambition, the ability to communicate and play well with others, the gamut of software engineering skills, the ability to actually produce working software, and so forth. In my mind, these things would all be nice feathers to have in your hat when marketing yourself to a company, because they're key to any big project...but they're also essential skills you'd have to have if running your own consulting gig or developing your own small to medium sized projects.
-
not that easy
2005-08-03 04:19:52 jwenting [Reply | View]
Most OS projects are not worth being connected to (they're dead in the water, completely irrelevant, and/or not related at all to the line of work you're looking for) and most of the rest won't take on anyone who doesn't have that impressive CV.
And when you do find something that's actually working, interesting, and wants to take you on, chances are it will still not be around for long (at least not in any form that gives you exposure). -
re: not that easy
2005-08-07 01:00:56 dougaus [Reply | View]
jwenting, perhaps no one has responded thus far because no one will dignify this with a response. There are many Open Source projects it would be worth being connected to: probably any of Mozilla's , any of Apache's, any of GNU's, then theres PERL, PHP, Phython, Ruby, GNOME, KDE, Linux, BSD to name but a few. But the list goes on and on. The projects I have named are interesting, successful, very relevant, working and long-lived but there are many, many more -- they know who they are! As far as exposure goes, it seems pretty much based on your contribution which is probably as fair a means as possible.
-
OSCON
2005-08-01 18:46:25 jmason [Reply | View]
Good article, but it could do without the OSCON plug at the top; it's really quite irrelevant to the article. Maybe I've been working on the wrong open source projects, but OSCON attendance is not something that's easy to line up for contributors on most open source teams. -
OSCON
2005-08-03 11:47:41 Tara McGoldrick Walsh | [Reply | View]
Good point--thanks for feedback, and you're right, article stands best on its own.










As an HR professional I cannot emphasize enough how excited we get when we come across a CV with any mention of Open Source projects/technologies. If you have actually contributed to an Open Source project you will have made it past the 10-second resume scan and, (all other things being equal), will be getting a call or an email from a prospective employer.
Involvement in an Open Source project at any level says 3 very important things to IT Managers, HR professionals and IT Recruiters:
1-You are a team player and a contributor (demonstrable Esprit de corps goes a long way in landing a good job, the capacity to maintain belief in a goal is what involvement in one of these projects demonstrates to us).
2-You stay abreast of the latest/greatest/coolest trends in IT and COSI research (every IT manager's wish for their team members).
3-You truly love programming and technology (more important to IT management folks than you might expect).
An App Dev Manager at a prestigious firm recently said to me, "find me technologists with an Open source mentality", the above-mentioned points are what he meant by that.
Long live Open Source!