Your GitHub profile can increase the chances of landing your next programming
job, but it can also act as a double-edged sword.
The résumé filtering challenge
Some companies rely on GitHub profiles when evaluating software engineers and
dismiss candidates that don’t have one. People tend to have radically
different opinions about whether this is a good practice.
Dismissing a candidate just because their GitHub profile is either empty or
non-existent should not be the default approach. Having said that, it is still
widely used as an additional filter in the interview process, and for good
reasons. Filters need to be in place in order to reduce the number of candidates
that get through the whole interview process to save the time and cost of
Prior to organising an interview with a candidate, a résumé goes through a
screening process and most of the time it’s pretty hard to make an informed
decision with the limited information available on the document itself. Links to
other online resources such as a personal website or blog, a LinkedIn profile,
or GitHub repositories are usually appreciated and tend to give more credibility
to a résumé if they are already in it, regardless of the actual quality of the
content of those links. No one enjoys googling candidates’ names to try and find
some additional information about them. If they are present you are saving the
hiring manager some work and it will have an initial positive impact, it’s just
Some companies go a little too far and use Git Awards
to find candidates based on the programming languages they are recruiting for,
or at least it happened to me a few times already. It might make sense, but I’m
not sure it’s a very effective approach.
When a résumé is not very impressive or convincing, hiring managers tend to fall
back to other sources like GitHub to dig a little bit more into the profile of
the candidate in search of more information. A badly written resume together
with a GitHub profile that is empty, non-existent, or full of badly written code
will definitely increase the chances of your application being discarded.
The decision should not be made only due to the lack of a GitHub profile though,
but more due to a combination of things. Rejecting applications due to the lack
of open source projects is just an excuse for being lazy and not willing to
review profiles appropriately. If candidates have the right experience on
their resume but a not-so-interesting GitHub profile, they should still move
forward in the interview process, there is no excuse for not doing so. A quick
call is still a cost-effective way to gather a little more information if it’s
Empty or irrelevant GitHub profiles are also the standard. The opposite is
usually pretty rare, and that’s where a great GitHub profile can have a big
impact. Someone that built some great projects or has made good contributions
to some open source software will probably be prioritised over other candidates.
And it’s not because they are considered more passionate, but because their
skills are easier to validate. Developers can be passionate about the work they
do within the companies they work for, it’s just harder to tell without any
Most of the code we write is private
Most developers spend the majority of their time working for companies that
don’t really tend to open source software by default. Even personal projects are
often kept in private repositories.
While it’s understandable that most developers don’t really want to commit extra
time to contribute to open source software, I am sure most of them make use of
open source technologies every day. It should be expected from experienced
people to contribute to these technologies since they are powering their
software running in production, even if it just means opening up an issue with
the steps to reproduce it. If you are not doing it, I would strongly encourage
you to do so.
In addition, if you are writing great production code every day for your company
I believe you should have some good quality code that can be open sourced and
does not really need to be private. Open sourcing can not only help your
personal profile but also the company’s profile trying to hire the best
people. Make open sourcing software part of your company culture.
Be aware of the pitfalls
Your open source projects should have tests, documentation, contribution
guidelines and so forth to actually count. A bunch of trivial and unfinished
projects can do more damage than good.
The person reviewing your résumé might not find enough information about your
past experience. If all he can find on your GitHub is a bunch of empty or
unfinished projects, it will probably cause your application to be discarded
My next advice might sound bizarre but I actually experienced it quite a few
times when hiring for Scala developers. If you are applying for a position that
requires a particular skill, and you put that skill at the top of your résumé,
then please avoid having a bunch of recent tutorial projects using that
technology on GitHub. The credibility of your résumé will go straight down the
drain. Just be honest, or if you think you can fool whoever is going to
interview you later on about your level of experience, at least, keep those
How would a fast track actually work?
Showcasing your coding skills can help getting more visibility during the
initial part of an interview process. It’s quite standard to have to complete a
dreadful coding exercise prior going through a full interview process. Depending
on the position, it might make sense to allow a candidate to skip the coding
test if there’s already a bunch of good quality code on his GitHub profile.
In addition, most of the best developers out there will probably be hired pretty
quickly after they start to look for a new place to work. Having a fast track in
your interview process could be beneficial to speed things up for some obviously
skilled developers and outpace the competition. They are the ones that usually
won’t sit around for weeks waiting for your feedback.
It’s worth mentioning that I’ve also managed to bring in candidates that built
some great open source projects but then turned out to be a complete disaster
in a face to face interview. So, yes, you can have a great portfolio on GitHub
but if you don’t demonstrate a good attitude towards teamwork, a solid software
design knowledge, or adequate communication skills, it won’t guarantee that you
will get through the rest of the interview process.
You can’t make your hiring process 100% fair, you can just try to improve its
effectiveness. The key is trying not to waste everybody’s time by bringing in
candidates without the right skill set. Companies tend to compromise and prefer
the risk of discarding good candidates rather than the risk of hiring bad ones.
If you haven’t been on the other side of the fence reviewing résumés, please try
it out. Pick random software engineers on LinkedIn and try to get an idea of who
you would bring in for an interview. You’ll quickly realise it’s not really
straightforward to evaluate software developers without looking at some code,
and you will probably learn how to make it easier for people to review your
profile the next time you are looking for a new place to work.
Showcasing your coding skills can help increase the credibility of your résumé.
It’s easy to write down words on a document, but demonstrating actual skills is
hard, and evaluating them effectively within a short period of time is even