Is Open Source Experience Overrated?

The problem with open source projects, as the recruiter sees it, is they have no intrinsic value. Because they are free (as in beer), no one can put a price on its value to the organization or to society as a whole.

When you say on your resume that you did X for an employer, what you are really saying is that X and the costs associated with you (ie, your salary and operational overhead) resulted in a net gain in value for the company. That is, X in dollars provided Y revenue (in dollars) where Y X. That differential (Y - X) is how much X is worth.

In the open source situation, X = $0 (zero dollars) and Y = $0, so Y - X is $0. In fact, if time=money, the time you invested in X costs money, but the return is zero, so the net revenue is negative. Not good. Recruiters may see open source as a money sink or, at best, worth nothing.

An employer wants to see that your contributions positively affected the bottom line. With open source projects, there’s no bottom line.

An employer wants to see that you were able to deliver a product on time, under pressure, to the satisfaction of the customer. With many open source projects, there’s no deadline and no customer.

If you’re going to use open source on your resume, you need to show real value for your work.

For me, contributing to an open source project is not really viable. I am not competent in any languages that open source projects are using, or maybe there’s some open source VB project lurking in the bowels of the Internet somewhere that I don’t know about. The obvious solution: learn another language. It can be done, but I can’t justify it. I don’t have any personal needs that can’t be fulfilled with VB or PHP. At work, all code is VBA running on top of other apps. We don’t write standalone software because we’re not a software company.

As a consolation, I started a blog last year where I post a function every week.

I’ve never contributed to any open source projects myself, but I still find this anecdote troubling.

I’ve always expected, as this anonymous emailer had, that open source work would be almost the very best way to create an impressive portfolio. As he wrote: a prospective employer could inspect it if she wanted to assess my technical competence. It’s an enormous real-world code sample available for review!

I agree with Jeff: I’m not sure I’d want to work at a place where a programmers’ prior body of work is treated as inconsequential.

if you aren’t convincing at least a small audience of programmers that your project is worthwhile enough to join – Then what are you really doing?

You’re solving your own problems, and making that solution available for free in case anybody else wants it. What’s wrong with that?

I think the problem is with the recruiters: Often those have no or only a little technical knowledge/experience in the field they are recruiting for (instead they know about recruiting, of course). So they don’t even think of checking out the sources of open source software. What matters mostly to them is what’s on the CV.

The mentioned coding tests are often checked by tech guys who have no idea about the person who took them. They just see the few lines of code, but no CV or any other background information - those tech guys would probably take a peek at the open source software, but are never informed about them.

So the open source experience seems not to matter.

Assuming a large open source project is contributed to by many people, how could a person go and check to see what you contributed anyway? Spelunk through the source control app looking at difs? That doesn’t seem remotely likely in 95% of the cases.

In the end, claiming to contribute to open source shows that you claim to have passion – which is a plus.

However, showing that you wrote some small utility app on the side, and bringing the app with you to the interview seems to work well. And the fact that it’s closed source, and you have the source there with you, would indicate that you did all of the work, making it very easy for the interviewer to quickly see what your work looks like. It’s always worked for me.

Sounds more like a presentation problem to me - Getting past the recruiters is more or less unrelated to any technical ability. Describe that time as working for a company that just happens to release stuff as open source (no need to show the code, recruiters don’t understand that) and you should make it past the filters to someone with enough technical knowledge to understand that open source experience is a good thing.

I’m sure that if you made a significant contribution to an open source project that the whole world uses, say Tomcat, then the recruiter would be mightily impressed.
From the recruiter’s perspective, it seems more important that you’re able to produce code that sells than code that works. And the two are simply not always the same.

I work for a company that values open source contribution highly when looking for job applicants. Like a previous commenter said, it shows a passion for writing software, self-motivation and gives us a pretty easy way to check if someone works well with others.

That said, having a body of open source work doesn’t mean you don’t need to take the coding test (or worse, don’t need to take the coding test seriously). I’d much rather see an applicant write code myself than have someone else tell me about code they’ve written.

In anon’s first example I am not sure why he is surprised. If he wrote an inefficient solution why did he point them at his open source projects? The coding test was probably more relevant for them and what they wanted.

If said OS projects were relevant to the technical aspects of the job then he does have a fair point. Even then, though, you have to consider that he might have spent hundreds of man hours creating that efficient code - and the code test helped prove to the company he was not able to program efficiently at their speed.

I think the reason he had problems elsewhere is because:

  • He expected being maintainer of OS projects would give him automatic credence to every company, which is, of course, never the case
  • He did the projects for gain not love. And potentially that comes across in his approach to them - putting off the companies

He seems surprised that such companies wanted commercial experience: apart from rockstart startups just about every company wants commercial experience and you have to convince them to take you if you dont already have it. Maintaining an OS project is singularly different to work committed projects.

Telling a recruiter What my experience of working in industry long ago did teach me was how to fill out a time sheet and estimate time for deliverables. But this experience would seem a bit dated now for recruiters. Just seems a silly silly idea. :stuck_out_tongue: it’s going to instantly put them off because your telling them that the validation they are looking for is worthless…

And, of course, he is ignoring the fact he might have put off interviewers in other ways that the commercial experience line was simply an excuse.

TBH I wouldnt employ him based on his story here. :slight_smile:

AKA OS projects are a great addition to any job application but are not the be all and end all :smiley:

Hi Jeff, its me again.

Perhaps that guy just really was not that great of a coder? I can write a bunch of crap, open source it, call myself chief architect of project X and it still doesnt improve the quality of the code. Also, I think it depends on the companies you apply to. Bragging to a .NET shop about all these open source projects youre on probably wont carry as much weight as a RoR shop. I know that is stereotyping, but I feel it is a point worth mentioning.

I have to agree that companies that don’t value your open source work are most likely not worth working for. They will be filled with mediocre programmers at best who are not interested in the craft but just the paycheck.

As a side note, I landed my current job precisely because of my work with an open source project.

First off, thanks Jeff. I have learned a lot from looking at this blog entry. It’s a bit of a dismay for me to see a lot of intelligent people spiralling into derivative rants rather than trying to look at the original letter. Kudos to the few people who were polite enough to at least use the same tone of conversation I might even expect them to use in person. I’d like to say that some time has elapsed since I first sent Jeff my original letter and thankfully I’m employed now. I now have the benefit of reflection and reluctantly felt I should say something on the postings for this thread.

I didn’t fail a coding test, I gave a solution which they thought was very inefficient. Admittedly I probably have a bit of test anxiety, which ironically goes back to a degree when I used to study for tests all the time. I was a stellar student in the first few years and I did so well studying to the test that the money I won bankrolled part of my schooling. But the strategy was a form of intellectual bulimia: read, purge, feel empty, look ‘great’. Losing those shining grades forced me to define my worth to a project in terms of what I could do. And so began a new era where I got used to demonstrating to people what I did in past projects.

I was undergoing something of a re-education when I first wrote Jeff and was reminded of the culture clash out there. If you wanted to impress an interviewers who are in areas of scientific computing, you could often demonstrate your past work and indeed many in that community got used to dealing with open source code. And I suppose over the years I’ve gotten too used to dealing with people who do open source work. I’m not saying they work in high profile open source companies but many of them do write good code - I’ve seen it. But I made a mistake by subconciously extending that ethos of development to the IT world in general. I just got used to it and should have better remembered my time in commercial settings from long ago. As for leaving it open that my code wasn’t necessarily the best in the world - yes - as one poster implied, that was a marketing mistake. My modesty was probably mistaken for a lack of confidence in my knowledge.

But over the years, I have felt that my ability to readily demonstrate technical ability has allowed me to become more confident in also admitting some ignorance. I thought that would provide currency in an interview but now looking back, that probably only suits a very specific audience.

Some of the contributors make a good point - it is the recession and it sucks for a lot of people. And I hope some of them would stop a moment and pause to consider or remember what unemployment can do to self esteem. On the interview trail I found it amazing just how few interviewers actually asked me about my past work. Many asked intelligent general questions which were valid whether I got them or not. But I did think they would have considered both coding tests and open source work. Contrary to what some people may think, doing a lot of good open source work does not mean you’re going to always provide the best solution or even pass an arbitrary test rated in an arbitrary way. I reasoned that you may recruit based on skills with syntax or code tightening techniques. They’re easy to demonstrate…they’re also easy for candidates to fake. But you’re going to pay someone based on their capability of making scalable software. This ability can be much harder to demonstrate, especially when you reference prior closed-source work. There I thought I could present an advantage but again, this was probably a mistake.

I was looking for neither sympathy nor diatribe from people who read the post that Jeff so kindly offered to put up for me. What I was hoping to find were people who could tell how their work in open source affected their job hunt. Did it help or didn’t it? I got some of that, but not nearly enough.

A year ago, I resisted the urge to get certified in technologies I’ve already long known. The original motivation was to simply encourage myself to adapt to new features as we all do. But increasingly I became concerned with the way interviews were conducted. Still, I concluded that for the sake of my own personal interest and sense of practical thinking, I would have preferred to spend that time working on OS projects instead.

If I had any doubts before about pursuing certifications, I have none now from reading some of the posts. I have a renewed urge to learn everything in the books, ignoring the Paredo principle that might be used to question the return of doing that. It is not because I haven’t done real programming. It is not because I haven’t made working applications that satisfy use cases. I have.

But if the norm for market-place recruiting continues to emphasise low-level coding details and assumes I am a black box programmer, then I have to begin studying for tests again to appear as a black box programmer. In some ways, studying to the tests again brings me full circle. It is reasonable because every interview is a test, isn’t it? This is not a new lesson I’ve learned, but a reminder. And I’ll thank all of you (especially the polite ones) for reminding me of that with sobering clarity. This is all I’ll say on my own post because I wish to remain Anonymous.

This guy sounds like either a mediocre programmer or someone who actually emdoes/em have very little practical experience (commercial or otherwise)–there are several tips to that in his email. The fact that his interview went poorly because emhe wrote inefficient code/em is a strong indicator, as is the admission, I don’t necessarily claim my open source code is the best in the world but it works. Whenever you hear a programmer say, I don’t claim it’s the best in the world…but it works! you should brace yourself for what’s in store when you dig in to the code. That’s the battle cry of the inexperienced and unmotivated programmer: but it works!

It sounds like he’s bemoaning open source as the issue rather than facing the fact that, well, maybe despite all those years of experience, he’s still inexperienced (or in the wrong line of work).

I’ve never heard open source experience described as anything other than a good way to learn and a means to differentiate yourself from others with the same level of relevant experience.

So being fresh out of school and having open source experience is going to give you a leg up on someone who is fresh out of school and has no open source experience, but it probably isn’t going to be as good as being fresh out of school with some internships in the field.

Working on open source software demonstrates (mostly) that you can generate working code, but that is hardly the only thing prospective employers are looking for. Can you work well in a team? Can you meet deadlines and/or estimate time well? Can you take customer requirements and feedback and turn them into specifications? None of these things are (necessarily) indicated by open source experience. Plus, a prospective employer is only going to see how well you can code if they have the time and inclination to actually read the code in question, which they probably don’t if they have a dozen other applicants who do have the relevant industry experience.

It is possible, if you’re involved in an exceptional open source project, that said project may in and of itself get you a job, but in the majority of cases open source experience is at best a bonus on a resume, and anyone who says differently is overrating it.

This anecdote troubles me as well, but I would still challenge the assumption that open source experience is overrated. For instance, if I was working for a web application development shop, and saw this on a resume:

Open Source Contributor - Mozilla Firefox - Jan 2007 to Present

  • Helped tune gecko rendering engine to be more web standards compliant
  • Optimized tracemonkey jit compilation times
  • Implemented pieces of the new HTML 5 video tag in Firefox 3.5

This would immediately peak me interest and up the applicants credibility.

It’s probably true that not every IT shop is going to value open source software, much less look into the breadth and depth of open source related experience a potential new hire might have.

In any case, I view participation in open source projects as a way of Sharpening the Saw (http://www.codinghorror.com/blog/archives/001236.html). Besides any altruistic intent, participating in certain open source projects is a great way of learning about little programming gems by being exposed to the work of those more skilled/experienced than oneself.

I challenge someone to provide a study demonstrating that open-source software is of lower quality than proprietary software. TheRealWTF site would suggest there is plenty of horrendous proprietary software as well.

All a question of scale, I think. If you’ve written and developed your own OS code with a small userbase, that says you have passion and interest, but says nothing (necessarily) about how well you work with others or the quality of your work. If you’ve contributed a less-than-trivial amount of code to apache, firefox, linux, etc. that says an awful lot more, IMHO.

BTW, I’d love to see the arguments against apache, the GNU toolset, or even Firefox having changed the world, at least within the context we’re discussing.

@Alex: Agreed. The vast majority of ‘commercial’ (in-house) software I’ve worked with has been inferior to that of the average OS project.