My first interview question – Do you have a GitHub account?

Herding cats!

Hiring a software developer without seeing his code, is like hiring a piano player without hearing his music. Hence, my first interview question is always; “Do you have a GitHub account?”

This allows me to see many things; First of all, is the developer genuinely interested in coding? Or is it something the person is doing simply because it brings food on the table. If the developer has a GitHub account, this implies that the person is probably creating code in his or her spare time, because the person wants to evolve and learn, and that coding is also the developer’s hobby in addition to profession. It also shows me if the developer is interested in sharing and showing his or her code to the world. Many developers are obsessed with avoiding others seeing their code. This prevents them from learning from their own mistakes. If you share your code with the world, others will critique it, and come with improvement suggestions. This again, gives me many “social clues” as to how the person is to collaborate with, and if the developer is a team player, etc. If you are a recruiter, and you are recruiting software developers, the following should be your first question.

Do you have a GitHub account?

Even though you don’t understand all the code yourself, you can still see a lot of interesting things, by simply looking at the code. First, is the developer creating tidy and neat code? Even without understanding a single line of code yourself, simply by taking a look at the code, you should be able to determine if it’s “beautiful and harmonious”, even though you don’t understand anything of what it does. I can’t read a single line of Arabic or Hebrew, still I am perfectly able to appreciate great calligraphy, in both of these languages, and recognise “bad handwriting” from good …

However, the give away arguably, is that by showing his code to you, the developer illustrates that he is not afraid of being criticised and have others scrutinise his code, and have others come with suggestions for improvements. And such developers are simply easier to work with than those clinging to their code, afraid of that others will critique it, and improve upon it. It’s really that simple!

And yes, I do have a GitHub account myself, with some roughly 100 KLOC lines of code in it … 😉