Skip to content

Crafting experiences is central to what we do here at GitHub, and our interviewing, hiring, and on-boarding experiences are no exception. Having recently been through this process first-hand, I’d like to share a little bit about what it’s like while it’s still fresh in my mind.

Welcome to GitHub

First contact

My story all started with a single email. I found myself kicking back with a beer one night reading some articles online, and I came across one of @kneath’s posts about how things are done at GitHub. I had read plenty of posts by various GitHubbers in the past, and I had always been very impressed by what I’d seen of their approach to business, technology, and other aspects of life. I had no idea if they were hiring or not, but a day or two after deciding to send Kyle an email to introduce myself, I was amazed to be chatting to him directly on Skype.

Every candidate’s first contact with GitHub is slightly different, but it’s almost always with a person who works in a role close to what the candidate’s would be—be it developer, designer, supportocat, ops, or something else. This conversation is a chance for us to get an initial sense of what the person is like to interact with, and to begin discussing the possibility of having them join our team.

My first chat with Kyle was very relaxed. We talked about my experiences, my thoughts about GitHub as a company, my typical design process, and how I approach my work in general. It was also very much a two-way conversation—Kyle answered all my questions and shared interesting insights into the company as we were talking. It didn’t feel like a typical interview, and it was far from being an adversarial, pressure-filled encounter. I didn’t know it at the time, but this vibe was set to continue throughout my hiring and on-boarding experience.

The reason we approach people’s first contact this way is simple. We believe it’s critical to ensure candidates have an initial discussion with someone who thoroughly understands the work they do. It gives us a sense of whether the person is likely to be a good fit for GitHub in terms of both skills and culture, but more importantly it sets the tone for the rest of the hiring experience. We hope skipping the initial paperwork-based screening process makes it clear to the candidate that we’re not playing games—that we’re genuinely interested in them.

For people we believe have a high probability of being a good fit for the company, the next step is to bring them into the office for face-to-face interviews.

Interviewing

Hiring good people is one of the most critical activities we do as a company, so we go to a lot of trouble to make sure interviewees feel important. By this stage we’ve got a good sense that they’ll make a great addition to the team, so it’s well worth investing in their experience to maximize candidates’ desires to work with us.

Ensuring people feel valued

For all interviewees, we fly them to San Francisco from wherever they live—even if it’s quite literally the other side of the world, like it was in my case. There is a driver with a sign waiting at the airport to take them to a comfortable hotel—which was an absolute godsend for me. I was stumbling out of the airport like a zombie after nearly 20 hours of flights from Australia, and seeing a sign with my name on it lifted my mood immediately. We do these things for interviewees to convey the message that GitHub values them from the outset—and that’s certainly how it came across for me.

Valuable people deserve a bespoke hiring experience, so we go to great lengths to work around interviewees’ existing commitments and schedules, or where people have families to take care of—a little flexibility goes a long way. I was juggling existing freelance work, holiday plans with my partner, as well as assignments and exam study for my last two subjects of my university degree—so to have GitHub’s Spirit Guide™ David be so flexible and helpful when arranging my trip was truly amazing.

People’s time is valuable too, so we make a point of moving quickly through the process. In my case, the time between contacting Kyle and having flights booked was only a couple of days. One other recent hire went from being a candidate to having a signed offer in just four days. By the time we’re flying someone out, we mean business.

The interview day

On my interview day, I was told to arrive at the office around 10 or so, where I was greeted by David (and a couple of dogs). David whisked me away to the kitchen for a beverage, and before long, the interviewing began.

I probably spoke with around 10 or 12 people over the course of the day, mostly two at a time, and everyone was amazingly friendly. My day also included pairing with @bleikamp on a design and some CSS, working through a production front-end issue with @jakeboxer, and also chatting one-on-one with @mojombo over a few beers going through some of my previous freelance work, talking him through my typical process, and generally getting to know each other. The whole experience was welcoming, open, and laid back; and I got the distinct impression that it was all about everyone simply getting to know me as a person, which turned out to be exactly what GitHub aims for.

My experience was a fairly typical one for candidates at GitHub. Generally speaking, you will have talked to a dozen or so people by the end of the day, paired on some real work, played some pool, seen around the office, and there’s also a good chance you’ll have been introduced to Slow Merge™, our very own GitHub-branded whiskey. We hope that by the time you leave we know you well enough to say that we want you to join the team, and that you think we’re awesome and want to work with us.

On-boarding

When anyone joins the GitHub team, we fly them back to San Francisco to spend their first week going through our on-boarding process. Each new hire is paired with a buddy that stays with them throughout the week, and I was lucky enough to have @jonrohan as mine. Buddies help new hires with things like setting up all their user accounts for the various services we use; introducing them to The Setup™ to get a development environment installed on their new laptop, and showing newbies how to go about shipping awesomeness to the world in whatever way they do best. I found it really reassuring to have a dedicated buddy to help me through my first week. Digesting the stupendous amount of information new Hubbers are exposed was made much smoother having someone to walk me through how it all works.

A typical induction week flies by in a blur of lunches, games of pool or insane more-than-two-player table tennis, FIFA, beverages, :sparkles::tropical_fish::cherries:emoji:penguin::strawberry::star2:, getting to know Hubot, and shipping (of course)—so there’s plenty of time for people to settle in to the company and get to know their fellow Hubbernauts. By the end of the week the transformation from newbie to fully-fledged GitHubber is complete, and they’ll be ready to head out on their own to kick butt.

Good people make great experiences possible

All this experiential craftsmanship is the result of hard work by a number of people, and I’d like to take this opportunity to personally thank David, Melissa, Tom, Heather, Jenifer, Emma and everyone else who plays a part in making this process such a pleasant one to go through for recent additions like myself and those to follow.

I believe that the best thing about the way we do hiring here at GitHub is that every new hire comes out knowing they are a valued and trusted part of the company. Ultimately, this means our business and products will be better as a result, and that the people who depend on our products every day to get work done will have better experiences.

GitHubbers hard at work

We want more good people

Speaking of hiring, we’re looking for a couple of people to join our team at the moment. Check out our listings on the GitHub job board, and if you think you’d be a good fit we’d love to hear from you.

Have feedback on this post? Let @github know on Twitter.

Need help or found a bug? Contact us.

Something went wrong with that request. Please try again.