So you want a job at GitHub…

// 4.9 min read

One of the consequences of publishing a book on how to get a remote job, speaking publicly about distributed companies, and having written things about how GitHub’s hiring experience used to work (that post is over three years old!), is that I receive a significant number of emails from people who want to work at GitHub.

This is awesome. I love hearing from people who’ve seen the things I’ve put out into the world. I love hearing from people who are enthusiastic about the difference GitHub aims to make, I love seeing the great visions people have for the future of software, and I’m amazed by the passion I feel come through from people.

I do what I can do address each person’s specific scenario and questions, and that means I often take a fair bit of time to respond. Many of the questions and scenarios are similar too, and that means I often end up repeating many pieces of advice. So, in an effort to both get you advice without delay, and to better utilize my time, I’m publishing this post in the hope I can serve you, regardless of your specific situation.

Where do we list positions?

First off, let’s talk logistics. You can always find an up-to-date list of our open positions on this page, which also gets pulled in to the list on our careers page. We’re always thinking about what roles we want to hire for in the future, and as soon as we know we want to fill a position it goes on that list. Treat that as your source of truth.

What do we look for?

That depends entirely on the position. There’s no point in us trying to be secretive about what we’re after from candidates, so we do our best to make sure each job description hits on the things that really matter to us. Speaking generally though, the things that we look for across the board tend to be:

  • Skills and experience that match the levels we’re hiring for. If you’re over- or under-qualified, you won’t be set up for success.
  • People who invest personally in their work, and who have a deeper “why” that’s clear. Values are important to us at GitHub.
  • Excellent communicators. Everyone communicates, all the time. Listening to others and being articulate matters more than you can imagine.
  • High levels of empathy. In a distributed company, everyone (even those people who work at HQ) is remote to someone else, so it’s especially critical that GitHubbers are empathetic and respectful of their colleagues’ realities.
  • A history of shipping. Perfectly executed work that never ships is useless. Show that you understand the delicate balance required to get things over the line, repeatedly.

There’s always many other things we consider, especially when it gets to technical and operational concerns, but hopefully that gives you some insight into what we value.

What’s the best way to apply?

This one is simple, but it’s surprising how often it comes up. Each job description will have clear instructions for how to apply (hint: the giant “Apply” button is your friend), and that’s the fastest, most helpful, and most direct way to get on our radar to be considered for the role.

Why didn’t I get through?

If you don’t get the job, don’t take it personally. There’s a variety of reasons why you might not hear back, or get through to the final stages. My advice is to stop trying to read between the lines, and turn this into an opportunity for learning and growth instead.

As a high profile company, our positions frequently attract a significant volume of high quality applications, so it’s important for you to understand that not getting picked doesn’t mean you’re not great. If you’ve ever watched the blind audition phase of the TV series The Voice, you’ll understand exactly what I mean when I say that sometimes truly awesome people don’t make it through, and the reasons often have more to do with things like the mix of skills we already have on our team, rather than being because you’re flawed in some way (you’re not).

So what should you do? Pick yourself. Move on, hone your craft, find other opportunities. Prove to us with your success how silly and short-sighted we were for passing on you. We’d also love to see you apply again the next time around, and you’ll have the advantage of going in with the confidence of having had a practice run already. Use this experience as fuel for your fire.

Pause and reflect

If you’re consistently not seeing the success you want, it might be a sign that you have work to do that you aren’t aware of (yet), and some reflection may be needed to work out how you can improve next time.

Go back and reassess the job description, and reflect on the possible strengths and weaknesses of application you put forward, and also on the other factors that might be involved. As a guiding question, ask yourself: How could you convey, with humility and class, that you’re too good to pass up? How can you showcase your skills, your work, and your track record so it speaks for itself?

Final thoughts

While this post specifically addresses seeking employment at GitHub, much of this advice applies equally for other companies too, whether the position you’re after is remote or on-site.

Lastly, don’t let this post stop you from emailing me—I love hearing from readers like you—but please note that if you choose to email me about getting a job at GitHub, or asking for advice on your job search in general, I’m going to point you to this page. Not because I want to brush you off (quite the opposite!), but because I’m confident you’ll find the advice you need to move forward lying somewhere in the points above.

Coby Chapple (@cobyism)

@cobyism—a.k.a. Coby Chapple is an autodidact, systems thinker, product architect, pixel technician, full-stack algorithmagician, multi-media maker, cryptography geek, aspiring linguist, and generalist Designerd™ extraordinaire. Read more »