Is Open Source Experience Overrated?

What crap excuses for not getting a job. The economy sucks and you’re not guaranteed to get anything. Don’t blame open source projects or say that they’re useless. I understand being frustrated, but its not fair (or factual) to say that open source contributions are ignored.

If you want a job its not enough to tell people they can go search for your work on the internet. You need to present it and market yourself better. No one is going to waste their time looking into your work when the next 3 people marketed their experience better.

My response, on my very new very rough blog:

http://angelbob.heroku.com/posts/39

Summarized: in the first case, the open source experience was as valuable as commercial experience. In the second case, he loses because the recruiter is looking for specific buzzwords with no understanding.

I think, if you are going to participate in an open source project, then that should reflect the sort of work that it is you really want to do.
ie. if you want to work in audio processing,or radio, or… ear things, then go and work with audacity. Then when the interviewers ask about it, they may know the sorts of software you are talking about.

If you are a clock in clock out type*, then maybe it doesn’t matter if you hammer away at excel for 8 hours a day, but if there is programming stuff you genuinely enjoy, look for a company that works in that field.

Im mucking around with papervision, looking at terrain generation, so I’m thinking of cartography, or surveying.

If we wait a bit, before we jump into jobs (hard, admittedly, in these days) then we should be able to find something that will have an employee who would value the dedication to working on a project that has a clear relation to the industry we work in. (Yes, we are in IT, but IT is in everything else. It’s not all spreadsheets and databases). If we can do this, then, as a bonus, we’ll get a job where we value our contribution

*i am, it’s ok.

If the interviewer cannot tick the boxes then they will not be interested, if you fail the test then no matter what you say, especially that they did not tell you what they were looking for, will not help

Interviewers look for relevant experience, and this may include OSS work if it is relevant to them, but if the interviewer is just ticking boxes then relevant experience may be defined very narrowly

A lot of OpenSource code is horrible because a lot of code is horrible, but please do not compare a 2 person OSS project that someone thought was cool, with a major company sponsored project that happens to be Opensource, I suspect a lot of commercial software has some horrendous code in it somewhere, and it causes bugs, but I can’t tell because I cannot see the code…

I think the original issue suffers from what I would call: Ticketpunchitis. As in, tell me what I need to do to get my card punched that will guarantee me a lucrative programming job. PhD: check, OSS: check, local UG: check. Why don’t I have a job yet???

What gets lost in the shuffle is that the most important thing is that you are a good programmer. How you got there is not really important.

If you boot the code exam then you can’t really complain about the unfairness of it all. Maybe you got the code exam because of the OSS experience and many others didn’t even get that far. And if the person evaluating your code was an idiot then you don’t want to work there anyway.

Myself, I would never even respond to a cattle call interview anyway. It wastes everyone’s time. I have a network of fellow coders who know what kind of work I do. There’s no better recommendation than a bunch of respected programmers who can vouch for you. Certainly, OSS can help build that network if you are choosy about which projects you work on.

Matt

I agree that some open source software may not be as well written as it could have been, but how often is it that any of us encounter a codebase that is really well written? I mean, we all joke day after day about how bad enterprise software can be, which is generally attributed to it being written behind closed doors without the scrutiny of an open source community. Maybe this guy/gal had a string of bad luck with companies that do have a clean code base and high standards to keep it that way. However, when I hear industry programming my brain does not imagine tight, clean code. I more think tight deadlines, and doing whatever it takes to please customers/management so the bills are paid.

I guess my point is if corporate recruiters/managers are going to hold everyone to this high of standard they better be able to back it up. Personally I think we all do just as well as everyone else, we’ve just optimized in different ways, and could all probably stand to learn something from one another.

  1. recruiters don’t know jack about programming
  2. HR people don’t know jack about programming
  3. if someone gives you a coding test, you’d better take it seriously. I don’t care it you wrote Apache in binary on a PDA if you can’t solve a simple problem efficiently in a reasonable amout of time.
  4. disparaging comments about commercial experience do not win points with people that sign the checks, or with the people that recommend you to the people that sign the checks
  5. save the OS wank spiel for the technical interview with other programmers that are also OS wanks; 90% of OS, like everything else, sucks, so I work on OS projects may mean I invented Ruby or it may mean I waste a lot of time on dead-end projects on your dime - or both!
  6. if you want a commercial job, tell me how what you do will benefit the customers. I don’t care if your OS project feeds the homeless and clothes the naked and prevents global warming, if you can’t tell me how hiring you will improve my business or make my customers happy, then you’re useless to me.

I have to say that I think the real problem here is that a lot of IT recruiters are really, really bad at their job. I’ve been turned down for all kinds of spurious reasons. And every one I meet wants to pigeonhole me as a C programmer or a Java programmer or a database programmer. I try to emphasize that I’m all of those things and more, but some just don’t get it.

If someone failed at a phone screen and pointed me to their open source code to review, I wouldn’t for two separate reasons:

First, my company delivers closed source code. There could be issues of taint that our legal department is concerned about if I review a potentially competing/similar open source product. I’m not going to get legal clearance to review your code.

Second, you failed the phone screen. We get a lot of applicants and need some way to reduce to a manageable number. I’m not going to spend the better part of a day reviewing your contributions to some product, since I don’t see how that would invalidate the phone screen.

I guess you’re more inclined to doubt OSS, Jeff.

Your posts always have titles like Is open-source viable? and start like I’m a big advocate of open-source, but…

hi there,

An interviewer might NOT have the time to go through the source code publicly available. It might help to have small excerpts of your source code analyzed in your blog. Blogs go a long way in establishing your expertise. Did the anonymous open source guy have a blog ? Did he discuss the various algorithms that he/she used in the open source project ?

BR,
~A

It is too bad that the anonymous emailer had the experience he did. Personally, I think that it is par for our (immature) software development industry and nothing really to do with anonymous eamailer himself - dude, don’t take it personally, I have been through similar and much, much worse. I am 50 and still programming and the only advice I can offer the anonymous emailer is, don’t give up man, keep it up! Don’t get discouraged. Yes, I know our software development industry is one of the most wildly WTF misunderstood industries in the world, but as the saying goes, sometimes the dice rolls the other way, be patient. As far as open source is concerned, I spent a year writing an open source project and I really don’t care if it is useful for anyone other than myself, because that is who I wrote it for. So what? Hey anonymous emailer, have fun, life’s short!

I think programmers need to realize that getting hired for a job has little to do with your ability to write excellent code. Right or wrong, the hiring process at most companies involves a series of ‘tests’ you have to pass.

I was involved in the hiring process at the last company I worked for, so I got to see it from both sides. Here’s how it worked…

1.) The Resume Test
You send in a resume. They review it. If it’s not good, for whatever reason, that’s it. End of line.

2.) The Phone Interview
If your resume looked good, didn’t have to many glaringly obvious mistakes, and we thought you had a chance of being a decent developer - you got a phone call from HR. So, a non-technical lady would call you up and give you a phone interview. She’s non-technical and the questions were all non-technical. They just wanted to see if you could have a normal conversation without sounding like a retard. Bonus points if you had a decent story involving software.

3.) The Office Visit
Okay - so, you have a decent resume and can handle a 20-30 minute chat with a girl on the phone. So you get an office visit. Up until this point, nobody has even tried to assess your technical skills - and I’d say ~10% of candidates make it this far.

The office visit is, again, mostly about appearance. They want to make sure a customer isn’t going to be bothered by how you look, smell, talk, etc. This is also when they first start to sell you on the company. You get to see the game room, and the library, and the cubes and hear how great the place is. You’d also go out to lunch with other developers. Again, their opinions of you would be recorded later - but really, a decent liar shouldn’t have any trouble talking their way through an unofficial/non-technical lunch.

4.) The Final Interview
If you were liked, didn’t do anything stupid, then - you get invited back for the ‘Final Interview’. The final interview was scary - you’d find yourself alone, in a room, with one of the seven partner’s that owned the company. These guys were the best-of-the-best in terms of programming skills. They’d sit you down and ask you to explain ‘something’ of a technical nature. They’d ask as many questions as it took - mostly large open-ended questions, until they felt as though they knew if you were good enough to hire. If you weren’t - they’d thank you for your time and say they’d be in touch. If you were…

5.) The Final, Final Step.
At this point, the partner wants you to come on board - but…he wants to make sure you want to come on board. He’ll go through the Pro’s and Con’s of the company. Why consulting is different from contract work is different from a corporate gig. Do you really want to work at this type of place…or are you just looking for a pay check.

My point is - 95% of people who applied for a position at the company ended up never making it to step #4 - where their technical skills really mattered. Up until that point - 95% of applicants got rejected because they lacked people skills, were d-bags, or just didn’t impress. Some of the people who got rejected were probably very, very good programmers - but the position required MORE than being a good programmer.

Some people really want to live in a bubble - they want to receive an e-mail with clearly defined requirements and hammer out code all day long. That’s it. And those jobs exist - but not all positions for software developers are those types of jobs.

An open source project, typically means, you work from home, producing code at your own pace, to add to a project that, ultimately, has no good measure of success. I can make an open source project that sucks, does nothing, and throw it up on my resume. I think it’s little surprise that it doesn’t carry much weight. If it makes your technical skills better, that should be reflective in the results of the coding test they give you, or your answers to technical questions. Unless it’s an open source project people have heard of (and HR has heard of maybe one) - it just doesn’t carry much weight.

Jeff

I value experience in Open Source software, however I think that this experience is not and should not be mistaken for actual work experience that is considered valid to employers (even though I disagree with this notion).

Contributing to an OSS project teaches a developer valuable skills, making them a better developer which will ultimately make them more valuable in the job market. The thing to remember is that your contribution is for the benefit of you and the community, if it helps you land a job then great but don’t count on it.

I wrote an in-depth article on preparing for technical job interview, it can be viewed at http://www.mknopf.com/articles/preparing-for-technical-job-interviews.html

Michael

Maybe this guy sucks…just a thought

  1. recruiters don’t know jack about programming
  2. HR people don’t know jack about programming

    irrelevant on April 16, 2009 10:30 AM

And despite this fact these morons have a large amount of power and influence to filter programming job candidates. I believe that experienced programmers should always make the call on which developers get hired. The craptastic code that we’ve all seen before happens the most where experienced developers don’t have as much influence as they should in the hiring process. Sigh

My thought is that the people interviewing him really weren’t that much of programmers themselves, or at least narrow minded ones.

If the guy failed the first test, then how is the recruiter to know that the OSS code he has written is even his? He could have plagiarised it from another project, or heck, someone else could have written it.

I don’t blame the recruiter from moving on.

Programmers should never make the call on which developers get hired.

Many programmers live in their own world and are Fachidioten :wink:

+1 on Thomi’s and Noah’s comments.

I interview people and examine their coding skills all the time. The questions I ask are in general simple to grasp and have efficient (generally linear) solutions. The efficient solutions are not the most obvious (only about 4 in 100 applicants get it immediately) but it’s reasonably easy to start with a correct and simple solution and then optimise it into the most efficient solution. So, when an applicant writes a correct and inefficient solution, we discuss it and I ask if they can go faster. They think again, and (often) come up with a faster way.

It’s that exact discussion with the candidate that forms the basis of the hire decision. I want to know how they think. Just coming away from the interview with a single binary digit (did they write an optimal solution?) is a terrible waste of an hour, for both participants.

As far as the coding test taken by the anonymous developer goes, if the interviewer gives a test but does not indicate what the criteria are for evaluating the result, is it any surprise they don’t get what they want? After all, if I ask you to develop code without telling you what my non-functional requirements are, should I be surprised that you didn’t meet them? No.