Using F/OSS and Unpaid Experience to Find a Job?
andphi asks: "How has volunteer F/OSS experience helped or hindered Slashdot readers in finding paid programming jobs?
I have been involved with a F/OSS game engine development project (Adonthell) for a few years now. I've become the primary story and plot developer for the project. I hardly even look at the code, though I do try to follow the traffic on the developer's list. I've learned C++, VB6, Perl, IA32 Assembler, and exposed myself to a great many other languages (JavaScript, HTML, XML, SQL, C, awk, sed, bash, etc.). But I wonder, what can I do to sell myself using my post-graduate project involvement?"
Getting a First Post on Slashdot !!
It's a VisualBasic.NET world if you want to get paid.
You should consider getting involved in something other than game development. I'm not saying that game development is not intense and complicated code, but I think for most employers, it's just going to be a marginally interesting aside.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
I've worked on some free/OSS projects which I've used in job interviews, but I also did three software development internships in college.
You'll find that for the most part FOSS experience will get you praise from Unix/Mac people, and will invoke a fairly neutral response from Windows people. Your average windows programming team lead doesn't know much about Open Source or might be bitter toward it due to the "free as in herpes" model of OSS licensing.
Mostly, employers of 20-somethings (I'm 24) are looking for the following, in order:
1. Proven experience from previous jobs/projects
2. A willingness to learn.
3. Diverse activity participation in college
4. high GPA (3.5+)
I have a couple questions to ask back:
Do you have job experience outside of your FOSS projects that would apply to a programming career?
Specifically, what kind of programming are you looking to do? Your list of languages is all over the place.
Brent
More than enough BS
It probably varies a little the farther you get from Redmond, but sadly the parent has some truth to it, especially here in Western Washington.
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
put it in the achievements part of your resume, employers look for stuff exactly like that.
So you "hardly even look at the code", yet you've "learned C++". I don't know if "volunteer F/OSS experience helped or hindered", but it's a safe bet that "looking at code" makes a difference.
Your future employer wants to hire you to do a job.
If that employer is an ISV, then she wants to use use you to turn code into money, as efficiently as possible. If the employer does something else, then he wants you to make it easier for other people to make money.
So, with that in mind, does it matter what you did in the past? No. "Past experience is no guarantee for future performance."
So what, then? What matters is can you do the job the employer wants now, can you fit in with the rest of the team, and will you take the initiative to grow yourself? If you can answer the first two in the affirmative, you won't have a problem getting yourself a job*. If you can answer the last in the affirmative, you can keep yourself gainfully employed long term (in the field).
.
*Not applicable if the interviewer is incompetent (i.e., asks questions from the Big Book Of Interview Questions).
Yeah, right.
In my experience, having a lot of OSS work on your resume looks very good to employers. Not only does it show that you have skill, but it shows that you are self-motivated and enjoy your field. You can also demonstrate leadership and management skills through OSS. The ability to see a project through from idea to useful product is a surprisingly rare skill, and open source is a great way to prove that you can do it.
:)
In other words, OSS is a good way for you to break the cache-22 of job hiring, in which you need experience to get a job and you need a job to get experience. OSS projects are much closer to real experience than anything you do in college.
In my case, after graduating with my BS, I spent two years or so developing this. I had no really significant work experience; just some informal unpaid stints with failed startups and a two-month research assistant job. In any case, I finished the above project about three months ago, applied for two jobs, got both of them, and now work at Google.
If you weren't actually involved in coding in your projects, that probably won't be as useful, though. Maybe you should get involved while you can.
(Obligatory: This post represents my personal opinions, not Google's, etc.)
I used to be one of the main programmers of phpSlash (phpslash.sf.net) back in 2001. In 2002 I was unemployed for pretty much the entire year. There was a small company in LA where the programmer knew me from the phpslash mailing lists. He thought I was helpful and nice so even though they didn't have enough work for a full-time programmer, they threw several freelance progjects my way. Later they offered me a full-time job but I was already employed out in Riverside.
--Ajay
You are looking for odd employees, sir.
I realized that my resume would be pretty empty after University, so I did Co-op. But then I realized I could do more. So I started my own OSS project.
I'm nearing my first release for BasicJ and I have HardCAD on the backburner.
What you should do is make a printout of all your Slashdot posts, and tack that on to the end of your resume. Employers are VERY impressed by heavy participation at Slashdot; it has been shown to equate to high productivity on the job.
is to move to India.
Seriously, if you look at the most recent jobs report, both IT and manufacturing jobs are doing horrible compared to lower-pay service jobs like waiters. Healthcare workers are doing OK and will probably continue to do so as the baby boomers age.
If you want a successful career in programming, have a backup plan unless you enjoy competing with Comp Sci Phd with 5+ years of experience living in India where the cost of living is a small fraction of yours.
Like any other job, its all about supply and demand. With all the laid off IT workers and programmers, there is too much supply and not enough demand.
Another approach is to go for security clearance. Those jobs are harder to offshore, although the way things are going, I wouldn't be surprised if those rules are relaxed too (consider how we're allowing millions of illegals to cross our borders during a time of war in order to satisfy cheap labor needs of major campaign contributors).
As a person who used to demand 3x - 5x the average pay of programmers because of 10x results, I understand that there's been a good amount of weeding out of idiot programmers. And to some degree, India is attracting a lot of idiots into the programming field so their quality will suffer. But things are continuing in a manner that makes programming a career I wouldn't recommend to even the most talented coders (unless they are assholes who deserve to have a tough career).
Try to convince a company to pay you a decent wage when they can hire 5+ productive offshore programmers plus a project manager for the same price. Now imagine doing so when the offshore shop offers a fixed bid.
F/OSS development experience helped me land my current job. It did not help my resume very much, and game development likely won't help yours (unless you are trying to get hired by a game developer). It helped because it kept my skills sharp over two years of unemployment and braindead contract work in a way that simple learning couldn't have.
Realities just a bunch of bits.
I wrote some software which was moderately useful and semi-popular.
When it came to be time to look for a job I asked around locally. One guy recognised my name after having used the software at his home.
That was enough to land me an interview. Of course once I got that I was on my own.
I suspect this happens a fair bit, you won't get a job unless you wrote something insanely popular but it might help you get an interview.
(Although writing something yourself, even with other people to help, from scratch is much more useful in terms of being recognised than adding a ten line patch to the Linux kernel, samba, or Apache).
The best recommendation that you can have for a developer job is if you can show with your own code that you have done something very similar before in past projects.
...at least that's how we hire...
In the first outsourcing wave companies are sending complete projects to India or China, that's happening right now.
In the second outsourcing wave companies will hire the best experts worldwide to cooperate on the same project, working dislocated, communicating by voice over Skype, pair programming over VNC. We are working in this mode already. There is no better setup, both with regards to quality and to cost.
To get into a team that works in this way, it is essential to have a good track record. OSS is great because you can:
- show the quality of your code,
- prove that you can manage yourself,
- show that you have initiative and joy for your work.
db4o - open source object database for Java and
I think it helped me get my job at least. However what my employer was looking for was the creativity to do new things. So working on a minor aspect of someone else's big project is not going to make much of an impact, as most coders can do grunt work for someone else. However developing and maintaning something of your own, or at least being a big innovater in someone else's project can be helpful.
Philosophy.
If your resume is sloppy, it gets tossed. Of the remaining resumes, I look for someone who has specific experience with a tool or language. Keep in mind that many standard tools are OSS, so mention them even if you are not on that project and simply use them.
Next, I look for someone who has similar project experience.
Then...it's who I think I can sell to the project lead and who I want to work with. If they work cheap, that's a plus. If they are not cheap, but can do the work in a superior manner, that's also a plus. Depends on the job.
The tie breaker (before the interview) is often how much passion the person has for the work we will do.
Being on an OSS project of any sort, especially if the lead, is a definate plus. If it is high profile -- if I've heard of it or find that it is well respected by the community -- I move the person up in the list.
Is OSS the only thing I'm looking for? Nope. It helps, though, because it shows interest not just "I'm in it as a job".
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
Make it something everybody can benefit from, like C++ in tcc. People will notice if 1) it's faster than gcc/g++ and 2) it can provide the same functionality. Maybe give the person/people interviewing you a little demonstration on how fast gcc/g++ is compared to your enhanced tcc.
ROMANES EUNT DOMUS
Sabbatical
January 2002 - September 2004 Paris, France
I maintained my skill set by working on small and personal projects, expanding my knowledge of networking, software development and system administration.
And had no problems or negative remarks about my time off. Closer to your situation, when I was finishing grad school and needed some technical experience, I included the grad asst I worked in the identical manner. Once I had some real experience that entry dropped off, but it worked at the time.
At the bottom of the endless pile of paper work which characterizes all regulation lies a gun.
Alan Greenspan