Disclaimer from Aug 2015: This post was written in mid 2013, things have changed quite a bit. ;)
Most of us have heard how incredibly relaxed GitHub’s culture is, but not many people have actually experienced it first hand to be able to confirm it. After going through GitHub’s hiring process, I have to say it was honestly the best experience I have ever had.
Reading The GitHub hiring experience by Coby certainly helped me a lot in understanding GitHub’s process while I was in it. GitHub is so out of the ordinary that you do need to study up in order to get a grasp on where you are at. And here’s my take on everything. :)
3 months ago, I was taking my time in finding something new, while finishing off lots of personal projects. I talked to a bunch of companies during the time; it took some people a long time to say no, and for some it cost me a long time to find out it wasn’t a good fit.
Lots of people talk about how interview should be a two-way process, but there is a problem: most interviews are not set up to be a two-way process. It wouldn’t be about people meeting people, but purely about the company screening you.
I initially got in contact at GitHub London drinkup after BACON. I have almost never been to these kind of social events, because I am genuinely afraid of strangers in bulk. I somehow got the courage that day, most likely because it was my birthday, and I went alone!!! I met Julie (@nrrrdcore) and Zach (@holman).
We talked about various things for a good chunk of time. Having saw both of their talks before, and being a female designer/developer like Julie, there were lots of questions I wanted to ask, things about how designer should code, how all web designers code in GitHub, what are passion projects like, what the bigger vision is and so on, I even told them that drinkups frighten me. It was a really nice, casual chat, they were both super friendly and easy to talk to, and I really can’t stress this enough.
At the end of the night, I mentioned my interest in GitHub to Julie, she asked me to drop her an email so we can talk more. I really didn’t want to be abrupt, but I thought it was appropriate at the time; she reminded me to send that email again right before I took off. How nice!
Soon after, we started emailing back and forth.
Hiring takes time, and it’s time from both ends. In the first one and a half month I had some emails/Skype/FaceTime calls with a bunch of GitHubbers.
It wasn’t moving fast, from time to time I waited for more than a week to get a response or to schedule a call time. I’ll be lying if I say I wasn’t bothered by that, but it was really pleasant nonetheless, here’s why: when people replied me late, they told me they were going to be late, and why they were. They make the effort to drop me a short email only to make sure I know what is going on. (Thank you especially @tclem)
Different from the usual interview setup, people I talked to made the purpose of the calls very clear to me.
We want to get to know you, and we want you to know us, so you can be sure you would like to work with us personally.
Most of my developer friends love GitHub, and almost everyone would like to work in GitHub simply because it is GitHub. But through talking to real people working in GitHub, there comes a point when I felt I really want to work with these people! It was perfectly possible that during the process I might realise that they are pricks and stop being interested in them, but it was the complete opposite.
All of the calls were super casual, we talk about personal experiences, my usual design process, preprocessors I love and hate, joked about how me loving HAML (just for not having to close tags) is plain lazy. :P I was super nervous, but it was great fun at the same time.
Lots of companies talk to you about what frameworks you use/they use, what would you choose out of Backbone, Angular and Ember, what is the most difficult technical puzzle you’ve solved recently and even ask you where would you want to be in 5 years, or who do you follow on Twitter. (Yes, I have been asked.)
GitHubbers talked with me like real people, like friends. They asked “human” and sensible questions that you might ask a new friend during a coffee or a pint. They were so friendly that you would think it is silly to feel any pressure, although like me, you might still do.
After a bunch of skype/FaceTime calls, they invited me to fly over from London to San Francisco for an onsite interview.
By the time we’re flying someone out, we mean business.
The GitHub Hiring Experience - Coby
They offered to fly me in for extra days prior/following just to relax and adjust to jet lag before the interview, which was super nice. They booked me airport pickup services with a limo. I am not some hotshot like many of you, it was the first time I have people holding my name sign at the gate. After I checked in at the hotel, they got in touch to see if I am doing OK and if I need anything. (Emma <3)
After a few days of relaxing and meeting friends, here comes the first part of the onsite interview: @nrrrdcore, @jakeboxer and @mdo took me out for dinner. It was just a casual welcome dinner, and by casual, I mean CASUAL casual, as in they were talking about love for Chicken Nuggets, and how tiny humans make their apartment seem big. :) I was nervous and shy so didn’t talk much, but they were so funny and you can see that they get along really well.
Next up was the interview day, I had breakfast with @tclem, whom I have already talked to online so I wasn’t too nervous, and the badass @jesseplusplus. They walked me to the office afterwards.
Over the course of the day, I talked to about some 10 people, 2 at a time. It was super laid-back, just chatting. There was one thing surprised me the most – everyone already knows a lot about me. They know about my recent projects, things I have built and shipped(not just the ones on my resume), they know how I got in touch, they know I am from Taiwan but I live in London and so on. It is surprising how rare this is the case, and this tells me that they took the time to get to know me, not just by looking at my resume, but actually took the time to read through stuff I have done.
I talked to developers, designers and also to my surprise – the finance team! Normally when interviewing at a company, I will expect seeing developers, project managers or so, not people from a whole different department, but this was brilliant! People were not hard-divided into certain groups simply because they were non-techs working in a tech company or something. I enjoyed very much talking to @hotbootymasala, who used to live in London like me, and @alysonla, who codes quite a lot now!
The day finished at 3pm, which was rather early. At the end of it, I had a design session with @nrrrdcore and @mdo, it was unexpectedly not as intimidating as I imagined. @nrrrdcore drew a clippy.
That was the first and the only ‘technical’ interview I had with GitHub, so I asked: “How are you guys sure about my coding ability?” and well, they told me that obviously they have read through my GitHub profile, and they meant it. Just on top of his head, @mdo listed almost all of my project repositories and told me how each one showed them what I can do. Wow.
Lucky for me, in the evening one of the passion projects was being held, so I hang out more that night to check it out, chatted with some more people, met @bleikamp. And that was the end of the onsite interview.., almost!
A little incident
The day after, I received an email from someone I met briefly but didn’t get a chance to talk to on the interview day. He introduced himself and said if I have got any more questions about GitHub he’ll be happy to answer.
It could be because the interview was over, I had the illusion that I can now begin to ask a bunch of silly questions and not get judged by, so I replied asking if he’ll be able to meet and have a chat, and he said yes right away.
@mtodd ended up spending a whole Saturday afternoon with me in the GitHub office, just answering my endless questions about GitHub and chatting with me about basically everything.
I was really glad to have the chance spending time with him that afternoon, I got to know so much more about GitHub. I had a peek of the weekend office, sat in an egg chair hugging an octocat pillow, and hung out in the guitar room. Without the pressure of it being an interview (although it definitely still counted), I was a whole lot more relaxed!
Then I flew back to London a day later.
At the end of everything
During the whole process, I did not talk to any “HR people.” I met and talked to people who actually work in GitHub doing the same thing as what I will be doing, and people who will be working with me if I got hired. There was really an impressive amount of engineering time set aside purely for hiring.
Watching from the outside, I saw GitHub being this great company that builds a much loved product, and I thought they must have everything all figured out; but I came to realise, they do not have everything figured out, and it is so awesome.
GitHub is the people, and obviously people make mistakes, no one is ever perfect, and they are not afraid to show it. They recognise their weaknesses and try to better everything all the time.
Before the interview I couldn’t help but feeling out of place, simply because GitHub is GitHub; but after the whole interview process, GitHub is no longer the entity I used to think it was. GitHub is that group of people I met with; they are approachable, friendly, and no different to you and I.
My concern as a candidate was to make sure I will love my job, I will get excited at what I’ll be doing, I will like the company and most importantly, enjoy working with the people. And from what I have learned from the process, the people and the culture, I find everything at GitHub extremely appealing to me.
I started writing this blog post before they flew me to San Francisco, and I finished the post on the plane back to London. I didn’t know if I was going to get an offer while writing this initially, it almost felt like a stupid teenage crush; fortunately for me, turns out in the end our love was mutual <3, I got an offer a couple days after I got back to London.
Obviously not having actually worked in GitHub yet, there could be a possibility that everyone is secretly annoying, @mtodd lied about how Tom really is, and I just couldn’t see all these things from the outside. Although I highly doubt these, I do only speak for what I’ve already known. :)
This week is my first week at GitHub, good luck to me.
May the octocats be with you.
p.s. Thank you @nrrrdcore for everything. You are so awesome.