Tiptoe Through the Open Source Tulips
Challenges that open source developers might incur during a job search
Jan. 10, 2007 09:00 AM
A job search can be one of the most daunting challenges one faces in his lifetime. Fortunately, the current economy offers a plentiful supply of opportunities. Even with that said, a number of factors always come into play like which company should I choose, and should I relocate for an exciting opportunity, or what opportunity is best for my career, and does the opportunity give me the chance to work with the technology I'm interested in? It's imperative that you discuss these factors openly so you aren't misdirecting people or wasting their time.
If you engage in "mind games" with the company, it can have a negative impact on your moving forward. I can't stress enough how careful you must be. If you turn a company off because you want to negotiate after accepting the position, word might get around about your less-than-professional manner.
Is the landscape different for you if you're an open source developer? When I say open source developer, I mean a real open source developer. A lot of people have thrown that title around as the open source community gained steam. I'm not talking about someone with the title Linux kernel engineer who's really doing mostly proprietary module work that's kept strictly inside the organization. No, I'm talking about a Linux kernel engineer who's modifying or engaging in new development to take an open source project to its next evolutionary stage and who's submitting code to a particular project for inclusion.
I've pondered on this for a while, and there's no other industry to compare it to. Are developers who open their work to the public more at risk over how they behaved during a job search than proprietary developers? I tend to think they are, but this is something I continue to explore.
First I want to discuss a closed source scenario. I'll call this candidate Joe. Joe has been looking for a job and he thinks he's come across one that's right for him. Throughout the interview process, he felt comfortable with the company and thinks it's good for his career. He's offered the job and accepts. He has a start date and everything's looking up. But then Joe gets nervous about relocating which happens to be mandatory with this position, and Joe has known that for weeks on end, but then he decides he should be better compensated if he's going to move.
So Joe contacts the company and discusses it with them. It's a week before he's scheduled to start and the company has made plans around him, since he is critical to the team. He stresses that he's gotten a little apprehensive about the move. They're less than thrilled that he's bringing this up now (again, he's known it for weeks), but they're willing to work with him to some extent because he's critical hire. After much discussion, it's agreed he can spend part of his time in the office and part of it telecommuting. The company isn't happy at the last-minute glitch but at least everything's back on track again.
The next day Joe drops another bombshell. He calls up and tells them that he was just offered another position and it's for $10,000 more than they offered him. He asks if they'll match the new offer. Now the company is starting to have some bad feelings about Joe. They wonder if they match the price will this be the end of his demands. They tell Joe no, primarily because of the compensation structure at the company. They explain it to him and stress their bonus program and remind him of the upward mobility that was so critical to Joe during the interview process. Joe tells them he'll have to think about it and get back to them the next day.
Joe calls the next day and their worst fears are realized. Joe has decided to accept the other offer. They're irate. They have product deadlines to meet, and Joe was supposed to get them up to speed so they could meet their deadlines. They've invested a lot of time, money, and resources in recruiting him; their backup candidates are no longer available; and they're literally back to square one so naturally there's going to be ill will.
If this happened in the proprietary world, the effects on Joe's career might be minimal. He may never run into these people again though it's still more than likely it'll come back to haunt him.
Now, let's pretend that the situation happened in an open source environment. Does that change the repercussions? Does it become a matter not of if it will affect Joe moving forward, but how much it will affect him? I don't have any specific examples, but I can foresee it happening. We've seen it plenty of times in the proprietary world, and I believe it's truer in the open source world. I think the impact can be more detrimental than the developer knows.
I think the challenge for open source developers is that they are tied to two organizations, the company they work for and the quasi-organization of the open source project that they spend their time on and dedicate their code to. Both parties have to be appeased. It's like organizations that have a matrix-style reporting structure where employees report to multiple people. It can be a problem for employees if issues aren't discussed openly and honestly and if everyone isn't on the same page. If one manager gives you a good performance review and another doesn't, it's very hard to get to the next stage of your career. I've seen it multiple times.
Getting back to Joe, let's pretend for argument's sake that the individuals within the company who are looking for a coder are prominent open source developers. One maintains a project that Joe has contributed to in the past, and the other one is a senior-level developer he's been collaborating with on another project. Joe handles himself the same as before, and creates a lot of animosity and folks are left in the lurch.
It seems to me that Joe's actions imperil his ability to collaborate with these guys in the future. After all, we are talking about human beings trying to work with one another despite the hard feelings. Since these developers are more senior than Joe, it seems to me Joe could have a lot of problems getting his code accepted into the project. It's hard to get ahead in the proprietary world without the guy ahead of you looking out for you. Doesn't the same hold true the way open source projects are structured? Wouldn't a patch from Joe get more scrutiny even if it's a potential solution? I sure think it's possible, even though open source development is about making software as good as humanly possible and not letting outside events influence that. Or, does everyone involved just let bygones be bygones and move on? It is, after all, a matter of trust.
So, the question remains, does Joe's actions affect his status in the open source community? I have given you my thoughts, but it's open to discussion. As I said, I don't have any specific examples to go by, just human nature. Fortunately for us, most job searches we've done that had a truly open source bent to them haven't resulted in any animosity. It would be great if that was always the case, but I don't believe that's possible. We're dealing with human beings after all. At the end of the day, it's my hope that open source software continues to deliver a superior product and that the best code always gets in. I'm just curious if that's the case.
If you are interested in providing your thoughts, please visit our IRC channel at irc.freenode.net#hotlinuxjobs. I'd enjoy hearing from open source developers on the subject.