About a month ago my good friend Lorna Mitchell put out a call for stories on how working with Open Source has influenced people's careers. Given that a lot of my recent career has been driven by my involvement in Open Source, I shared my story with Lorna. But I also wanted to share some of my story with everyone. So here is my story and opinion on how Open Source can influence your career in a positive way.
Several of the jobs I've had in the past years I've come into partially based on my activity in the Open Source world. I'm not saying it's *only* because my open source contributions, but in both cases it definitely had an impact in the whole process. I can point out some clear examples of why companies would be interested in you when you're active in the Open Source community, but in the end I'm sharing with you my own view of things, and not the view of the company. Since I've been in a position where I was partially responsible for hiring people I can (and will) give you a view on how I looked at things when I was in that position.
Believe it or not, but my first example is of a job I landed by commenting on a blogpost. It may sound stupid, but it's true! I was not even really looking for a new job at that point, though I was definitely open for a change. I had been active in Zend Framework and had made the switch to symfony where I had become an active member of the community. I was an active blogger, and also active in commenting on other people's blogs, when at some point someone posted a blogpost with the question "What is your top 3 of companies you would like to work for one day". My top 3 at that time was: 1. Google, 2. Sensio, 3. Zend. Most of these are probably very obvious but let me explain: Which geek doesn't want to work for Google? The company seems to be a very inspiring (though demanding) environment to work in. Sure, they don't work with PHP and I knew for sure when I posted the comment that Google was pretty much out of my league, but still, I would love to work there. The second company, Sensio, is the company behind symfony. And since that was the framework I was working with at that point, and Sensio seems like a pretty cool company in the first place, working for them would definitely be cool. Unfortunately that would mean moving to Paris, so it would not really be an option, but still, as with Google, I'd love to work there. The third option is I guess an option that many people in the PHP world also consider: Zend is "The PHP Company", and with Zend Framework they have an awesome project. But they offer more, such as their consultancy work, which I've seen from the client perspective, and then already I considered that to be a really cool job. So Zend was definitely in my list as well.
Back to the topic at hand: Not too long after posting that comment I got an e-mail from the CTO of a PHP services company in the Netherlands. He is also active in the community and had seen my comment. He offered me to come and talk about a career at "his" company. They were partners with Zend, and were open to a similar partnership with Sensio. And if I was interested, he could perhaps get me to interview with Google. I declined the latter offer but took him up on the offer to come and talk about joining their ranks. During the interview it became clear that they were aware of my activity in the symfony community and they were considering expanding their services to include symfony development. They considered me a good addition to their team. It was crazy, but they offered me a job then and there and I said yes directly. I definitely had a mostly great time while at this company.
The second story I want to share with you had a much bigger impact, at least emotionally. It made me realize just how cool the PHP community is. It is a much more recent story, meaning I was already more active in Open Source than during the first story. I was an international conference speaker at that point, and was really active in the symfony community as well. I was forced to start looking for a new job, so I decided to do just that, in any way I could. I started by simply putting out a tweet, stating I was looking for a new job, and if they knew anything, they should let me know. I had hoped for a couple of retweets by people so that some more people would hear about it, and who knows, perhaps I could get some leads for new jobs that way. For the next hours after my tweet, though, my "mentions" were exploding. Everyone who meant and means something in the PHP world was retweeting my message, including some key people like Andrei Zmievski, Derick Rethans, Matthew Weier O'Phinney, Ben Ramsey and many many more. I was completely blown away.
In the days after putting out this tweet, and mind you, I had not done any other efforts so far, I got many e-mails and phone calls from companies that were interested in speaking to me about the position they were having. I interviewed with quite a few companies and eventually at the Dutch PHP Conference I met someone that I'd already spoken to on IRC. We talked, I went for an interview, and I've ended up working for that company. Funny enough that person has become a dear friend and even though I've moved on since from that job I'm still in touch with him on a (nearly) daily basis.
I am absolutely sure that, had I been a 9 to 5 average PHP developer with no involvement in open source, I would've had a much harder time landing either of those two jobs. The community gives you visibility, and if you do it right, it can build you a reputation. If you do it wrong, you can also build a reputation of course, which is not necessarily positive, so there's always two sides to the story. In my case though, I gained a lot by being active.
I've been in a position where I was partially responsible for hiring new developers. I was interviewing them and advising HR on who to hire or who not to hire. One of my standard questions was "Do you use Open Source?". When answered in a positive way, I would ask "Have you contributed to Open Source?". These questions were not the deciding factor, but it definitely added to the reasons of why to hire someone. Why? Well, first of all, I'd ask for which contributions they made, and links to those contributions. Whether they were code, or tickets/bug reports, or documentation, all contributions would say something about how well someone works: Is it thorough? Has it been done in a quick way? Was it a pragmatic solution or simply a crap one? Also, usually it was quite easy to see whether someone was really passionate about software engineering. I'd rather hire someone with no degree that clearly has a good insight in engineering and has a passion for the topic, than someone with a degree that ends up coming in at exactly 9 and leaving at exactly 5:30. Passion is important, together of course with some skill.
Switching back to my position as being a developer looking for a new job, I can use the same questions: Again it's not a deciding factor but if a company uses Open Source or even better actively contributes back to the projects they are using, I surely know I'm going to have a much better time there than in companies that don't contribute or even worse, don't even use available Open Source code. So make sure to not only be judged on Open Source, but also use it to your advantage in deciding for which company you are going to work. It is not a strange question to ask...