Wooing top tech pros is difficult, but actually finding them can be even more of a struggle. In fact, one of our recent surveys revealed that 35% of tech hirers say the overall time and effort it takes to search for candidates is one of their biggest hiring pains. A further 30% say sourcing candidates that meet a long list of hiring manager requirements is also a major challenge.
So how do you find innovative, qualified candidates? You have to be innovative yourself and turn to less conventional, more creative recruitment strategies.
Enter GitHub. There are over 31M+ developers on this popular social coding network, which means a huge pool of tech talent is right at your fingertips. And the even better news is that not a lot of tech recruiters are taking full advantage of GitHub, making it a less noisy channel you can tap into to find your next amazing tech hire.
Below, we’re helping you read between the lines of code by unveiling our top tips and tricks for how to hire on GitHub, including exactly what to look for, how to optimize your search and the best strategies for getting higher candidate response rates.
Why use GitHub for sourcing?
GitHub is a vibrant online space for all kinds of tech talent to collaborate on open source projects, as well as store work-related code, pet projects and college assignments. It’s a thriving community, with 1.1 billion contributions made in 2018 alone.
The “hub” in GitHub is what makes it such a treasure trove of tech talent. Software developers, data scientists, QA engineers, product managers, software architects and all kinds of other tech-minded people from around the world come together to network, critique each other’s work and build better software. Its users span all segments of the tech community from rising stars and hobby programmers to well-respected tech leaders and pros who’ve been coding since they were five.
Translation? GitHub is a recruiter’s dream. The platform allows you to search through the up-to-date, living portfolios of prospective tech candidates to see their actual code, projects and skills in action—as opposed to what they say in a resume or cover letter (which may or may not be completely accurate). And since GitHub has less recruiter foot traffic, it’s also a great place to source passive talent that your competitors haven’t zeroed in on yet.
What you can find on a user’s profile (and what to pay attention to)
Just one glance at a user’s profile can reveal a lot about them, including the strength of their code (even if you don’t have a tech background yourself), their top programming languages and interests, and if their programming skills are backed by their peers.
When you first click on a GitHub user’s profile, you’ll immediately have access to their personal info, including their name, a short bio and their current employer and location. But if you dig a little deeper, you’ll discover so much more. Here’s what to look for in order to gauge a potential candidate’s level of expertise:
Some users choose to include a link to their personal website or online portfolio, which can reveal more about what they have to offer, often in a more dynamic way. Plus, you might get to see their projects in action, instead of just a bunch of lines of code, which can help you more effectively measure a candidate’s skill set (without you having to understand the intricacies of programming).
In today’s social media-centered world, it’s all about the followers—and that’s no different on GitHub. The number of followers a GitHub user boasts can help you decide who to contact (and who to pass on). Large followings typically indicate industry-leading expertise, but contacting them is probably a lost cause because their high visibility means they’ve probably already been bombarded with recruiter messages. In contrast, those with a smaller following may be more receptive to recruiter outreach, but may not be as highly skilled.
Keep in mind, however, that GitHub is different than Twitter or Instagram when it comes to follower counts. For instance, something like 15,000+ followers (which is considered less significant on other social media sites) is considered Beyoncé-level status on GitHub and 75+ is a “large” and impressive following. 10 followers is good, 11 to 30 is great and 31 to 75 is excellent.
This section shows how many code contributions a user’s made to projects on GitHub, and how often, which can show their passion and commitment to the craft of coding. You can also view the date of their last contribution to get a feel for how active they are. When it comes to contribution activity, the greener the better.
Dev projects that a user contributes to or owns on GitHub are known as repositories. Click through to see the repositories a user follows, which ones they’ve created (Type: Sources) and which one’s they’ve copied from other users to use in their own projects (Type: Forks). Looking through a potential candidate’s repositories (and how many they have) can be a good indicator of their overall skill level.
Stars and forks
A developer’s code can be “starred” or “forked” by other GitHub users who admire their work or want to copy the code to build up their own projects. This can be an excellent measure of a potential candidate’s expertise and popularity in the tech community. For reference, 100 stars and 50 forks is considered impressive, but 5,000+ stars or forks is influencer status.
How to source the right candidates on GitHub
To start sourcing with GitHub, create an account (your search will be limited if you don’t). Once you’re in, go to the GitHub search bar (or the Advanced Search) and read below to discover how to optimize your search and find the right candidates for your open roles.
Searching by users
One of the best ways to source on GitHub is by searching for specific users that meet your hiring criteria. Let’s take a look at some of GitHub’s user search qualifiers (pay particular attention to the spacing, since it will affect your search results).
|User Search Qualifiers||Examples|
matches users with 50 or more
matches users with between 1 and 10
matches users with a majority of their
matches users that live in Austin,TX
matches users whose repository count
is over 9,000
matches users who own 10 to 30
matches users that joined before 2017
matches users that joined on or after
September 1st, 2018
matches users that joined between
2017 and 2018
Let’s say you’re looking for a highly experienced Java developer in Portland, Oregon. You could combine the terms above into a search query that looks like this:
language:java location:portland followers:>=10 repos:>50
This search will return users in Portland with 10 or more followers and at least 50 repositories (with a majority of them written in Java). As of right now, 42 GitHub users match this criteria. So how can you whittle down your list of matches to the top 10 or 15? You could look through each of the profiles and eliminate them one by one, manually. But that might take a lot of time. And what if your search query ends up returning hundreds of matches?
To get your results down to a manageable level, target top matches by strategically sorting your searches. For example, you can sort by best match (which is determined by GitHub’s search algorithm), number of followers or number of repositories. You can also filter by date joined. Newly joined GitHub users might be more receptive since they likely haven’t been contacted by recruiters yet.
Here are a few more examples of user searches:
- language:python location:portland followers:10..30
- location:”san francisco” language:swift created:<2019-01-01 repos:10..30
- language:ruby location:boston,ma
- “product manager” location:austin
Searching by repositories
If you’re looking for developers with expertise in certain types of projects, you might want to search by repositories instead of users. The only drawback here is that you can’t search by a candidate’s location. However, if your company offers relocation packages or if you’re looking for remote workers, using this search strategy could prove very effective for uncovering highly specialized candidates you can’t find anywhere else. Here are some of the most useful repository search qualifiers:
|Repository Search |
|KEYWORDS in:name,description||“neural networks” in:name,description|
matches repositories with “neural
networks” in the description
matches repositories coded in
matches repositories with more than
matches repositories that have 10
to 20 followers
matches repositories with more
than 50 forks
matches repositories that have 10 to 20 forks
matches repositories that were created
matches repositories that were created on or after September 1st, 2018
matches repositories that were created
between 2017 and 2018
For example, if you’re looking for a developer with experience in big data and Python, you might combine these terms into a search that looks like this:
“big data” in:name,description stars:10..30 language:python
Like user searches, sorting your results can help you find better matches. For instance, you can sort by most stars, most forks and recently updated.
When you’ve found a repository that matches what you’re looking for, look through the repository’s contributors to see who’s committed code to that project. (You’ll find this by clicking on the repository itself in the search results page and then clicking on contributors.)
Here are a few more examples of repository searches:
- “big data” in:name,description stars:10..30 language:python
- language:c# forks:200..1000 stars:>500
- stars:>50 language:typescript created:>=2019-05-01
- language:kotlin forks:>1000
Crafting the perfect outreach
Once you’ve narrowed down matching profiles by carefully reviewing repositories, stars, forks, contributions and followers (and checked each prospective candidate’s other social profiles), it’s time to reach out to your top candidates.
Most profiles contain the user’s personal email address, just below their profile photo. If their email isn’t listed, you might have better luck finding it on their personal website. (Note: Make sure you’re signed in or you won’t have access to user emails).
Since tech candidates are constantly being messaged by recruiters on a daily basis, you can’t just copy and paste the same cold email over and over again. To stand out, you have to be personal, eye-catching and relevant. Otherwise, you’ll probably be ignored (a truth you probably know all too well).
Here’s what to include in your initial (short and sweet) email to stand out to candidates:
- Why you’re reaching out to them in particular
- What caught your eye on their GitHub profile
- Information about your company, including its tech stack and any cool benefits that might appeal to a techie (e.g., hackathons, time to work on side projects, choose-your-own desk setup)
- How the candidate can make an impact on the team
- Links to the company GitHub account or members of the dev team’s profiles
GitHub: A place for open source projects, a place for sourcing tech talent
In today’s highly competitive tech job market, it’s not just about finding and contacting candidates on an endless cycle. It’s about building relationships with talented coders and creating connections that could lead you to your next hire. And to do this, you have to be where the tech talent is: GitHub.
Even if the “perfect” tech candidate isn’t interested in your opportunity, GitHub is still a great sourcing strategy that will help you discover untapped potential, build your talent pipeline and create close relationships with coders that will expand your tech recruitment network.