Do Open-Source Profiles Make You More Employable?
As a developer, unless you’ve been living under a rock for the last 20 years or more, open source software is likely a large part of your life. Either because the language you’re using is open source, or you use open source libraries, frameworks and packages. Anyone can be an open source contributor — you don’t have to be a code ninja to publish code for all to use. That said, there are some reasons why you may not want to contribute.
Over the years I’ve seen many arguments/debates/unceremonious battles in all kinds of developer communities, ranging from the relatively straightforward “tabs vs spaces” debacle to all out war on the best way to implement functionality into a project. And so it’s not unreasonable to see this kind of thing going on within issue boards, pull requests and public threads relating to open source software projects — acts I (largely) shake my head at and move on from. It’s a double-edged sword; in many cases it’s a good opportunity to learn something new — a new or better way of doing something. But one must also consider there are multiple ways to skin a code cat — very often exchanges turn into heated debates because one developer’s opinion is different to another.
Remember that word — opinion.
Another reason you might not want to contribute is because you don’t want — or have the time for — maintaining a public project. Quite a few people have told me that they released an open source project, got more traction than they expected and all of a sudden a load of their time is chewed up on support and updates. If you have other work commitments, family or a relatively busy schedule in general you may not be in a position to support this. Especially as it often comes hand-in-hand with the “entitled” attitude that seems rife these days. “I’m using this piece of software and I expect to have something fixed or updated. Now.” Sorry dude, if it’s that important fork the repo and do it yourself…
Hand in hand with a lack of time, is that maybe you just… can’t. I write a lot of code, but if I released any part of that code as open source I’d be fired or sued.
I use open source software daily and I am very grateful for the opportunity to do so — it’s accelerated development more than you could even begin to imagine. But for all of the above reasons, I don’t really have an open source software profile to write home about. And neither do a few friends I have in the industry, but the interesting thing is that none of us have ever struggled to get work.
I recently saw someone get called out on social media for this reason. He was criticised for his bold approach to marketing his skills and abilities, but it was pointed out he had no open source exposure at all. No (visible) Github commits, no contributions to open source projects, no issues or pull requests raised on other code repos. The opinion from one guy was that this would make him unemployable in his eyes, because there’s no way to assess code or otherwise, and that a lack of open source contributions would suggest you don’t take your work seriously. The lack of issues logged or pull requests means you’re not looking deep enough into the packages you’re using and understanding that code.
Weird, but okay.
The problem with the assessment and opinion is that it was coming from someone with over 1,000 public repositories on Github and so it’s unbalanced. I can create hundreds of repositories but that doesn’t mean I’m any more employable than Joe Bloggs over there.
You could spin the argument the other way. Having tens of thousands of lines of code in the public eye opens you up to immense scrutiny — I can assess your code quality and determine whether or not I think you’re suitable without giving you a chance to talk me through. The problem is that writing code is only half the battle — you don’t get to understand how a developer came to make their decisions or why they did things a certain way.
Does contributing to open source software projects make you more employable? In my own personal experience I’d say it doesn’t make a difference. What you do outside of your paid job is not, in my opinion, a valid indicator of how good you are or how seriously you take your work. If you decide not to hire me because I choose to prioritise my family and other interests over maintaining a public code profile then are you really the kind of company I want to work for anyway?
It’s important to remember that people have lives outside of their work and everyone has their own values and priorities. Assessing the suitability for a work placement is most definitely a two-way street and good candidates often have more choice than you do as an employer.