Matthew Gatland

Interviews and Instagram

May 11, 2016

I was in a team that won a programming competition one time. Since then, every few years, a recruiter from Google or Facebook asks if I want to come in for an interview.

I’ve had two interviews at Google and one at Facebook. Even though I was never offered a job, the recruiters always come back. “We’ve changed, you’ve changed, let’s try this again.” I always say yes, because: Google! Facebook! Who wouldn’t throw away their life plan and move countries for that?

But the third time Google approached me, I didn’t pass the phone screen. (This is the phone call that decides if it’s worth flying you over for a full interview.) The conversation went a bit like this:

Interviewer: I looked at your GitHub. It looks like you’ve done a lot of small projects. I’d like to see you work on something bigger.
Me: OK.
Interviewer: Hmm… I see your CV says you worked on large projects for your whole career… but… I’d like to see something big on your GitHub.

I understand where he was coming from. A GitHub profile is kind of like a CV, and my GitHub said “I only work on toy projects, lol!”

But what is also kind of like a CV is a CV. Good engineers form hypotheses and then test them. This guy formed a hypothesis (“The candidate has no experience on large projects”) but didn’t ask me any questions to test it. Then when he saw contradictory evidence in my CV, I could literally hear the pause while he processed the new information, realised it didn’t fit his theory, and then decided to ignore it.

(He then asked if I’d heard of Battle for Wesnoth, the big open source game project. I have, it’s older than Gmail, but thanks for the hot tip. Have you heard of the Linux kernel?)

I guess I’m still bitter about that.


Another recruiter just emailed me. I’ve been thinking.

If you desperately need a job, you should consider what first impression your GitHub account makes.

But for me, GitHub is my workshop. I’m in there every day, tinkering away, and I throw things around wherever it’s convenient. I do not want to curate it. The thought of hiding ‘bad’ projects, or contributing to something because it looks good, or arranging nice commits like they’re Instagram photos – I do not have time for that.

Maybe one day I’ll run out of money. On that day I’ll hide my worst projects, delete this post, and send impressive pull requests to Battle for Wesnoth. For now, I’d rather show the mess.