You can also use our contents menu to easily move to contents or topics.
In this ultimate guide to GitHub recruiting, you will learn how to:
- Find top talent on GitHub
- Source tech professionals whom you wouldn’t get elsewhere
- Personalize your outreach and engage with techies
- Use different recruiting tools to find the best candidates
Let us dive right in.
What is GitHub?
GitHub is a code hosting platform for version control and collaboration. It lets you (and others) work together on projects from anywhere.
5 key reasons why you need GitHub for technology talent sourcing
Let us first understand why should recruiters use GitHub to recruit top talent in technology.
A goldmine of software professionals
Firstly, to say that GitHub is a goldmine for software professionals would be an understatement. As of January 2020, GitHub had 40 million users and more than 100 million repositories of software projects. And, a lot of these software professionals provide their email ids, which isn’t available on LinkedIn. Moreover, accessing software professionals on this platform is free!
Technology professionals don’t hang out anywhere else
Secondly, technology folks don’t appear much on other platforms such as LinkedIn. They might hang out on Instagram to follow their favorite celebrities and might peep into Twitter to check the latest news.
But they spend a lot of time on GitHub.
Because they find all the support they need to navigate tricky software coding and interact with their tribe members. So, in other words, software recruiters need to be where the best software developers hang out.
Know their technology expertise
Thirdly, being a technology recruiter isn’t easy because you need to know the different software languages even if you don’t know what they’re used to. And, that’s exactly what you’ll find at GitHub.
You’ll know the proficiency of the techies on different software languages, their activity on the platform, and their contribution to the open-source community. You could even have an expert verify a candidate’s software code before you engage with him/her. No other platform such as LinkedIn or Instagram offers you this unique benefit.
Learn about their contributions to the community
Fourthly, GitHub provides technology professionals the ability to contribute to their community and not just draw from the pool of knowledge. More importantly, the platform is quite transparent. So, recruiters can see a candidate’s contributions, repositories, projects, and commits (we’ll explain all these in a bit).
Know their standing in the open-source community
Finally, recruiters can evaluate a candidate’s ‘status’ by the number of followers they have and their starred repositories. It is a way of the community collectively giving a thumbs-up to their contributions, otherwise known as ‘peer evaluation.’
Being a niche platform, if a candidate has 20 followers on GitHub, you know that people admire their work and they can make a lot of difference to your organization.
So, let us figure out how to use the platform to recruit awesome talent. It begins with creating a login for yourself.
How do you create a login on GitHub?
Go to https://github.com/ to pick your username, email, and password for a GitHub login.
Then, verify your account and join a free plan for now. You may choose to receive their periodic mailers by checking a small box right above the blue button. Now, specify your profession. If you are a human resource recruiter, select ‘Other,’ because a ‘human resource’ category doesn’t exist yet.
In the next step, highlight your programming experience and choose why you are on GitHub. You can pick up to three options.
Finally, specify your areas of interest, such as recruiting, marketing, etc.
Bingo! You’re all set on GitHub to source all the awesome profiles that you need. 😃 We’ll come to that in a while.
Searching on GitHub
If you want to make use of the GitHub platform, you must know how to search effectively. Being a community for developers, it is hardly surprising that GitHub’s search is very powerful. It allows you to use different parameters within a search string.
The search bar for GitHub rests on the top left of your screen.
Now assuming you know the ideal candidate’s name and you’re looking for him/her. When you search for him/her, by default, GitHub will show you repositories with the name and not the actual user.
Why? Because GitHub wants you to contribute to their repositories.
Here’s the result for searching David Heinemeier Hansson’s name. The user list is at the bottom of the menu.
Let us see how to use the search functionality a little more effectively.
By default, you can use symbols such as >, >=, <, <= to look for results greater than, greater than equal to, lesser than, lesser than equal to your search value.
Search by users
Let us assume that you have a list of candidates who you wish to evaluate. What you know about is their last name. To look for candidates using the last name, use the search string: Hansson in:Lastname.
This is the result of your search. You find 291 users who have ‘Hansson’ as their last name.
Search by software language
Let us say you want to recruit Python developers for your organization in India. To get the list, in the GitHub search bar, type language:Python location:India.
16k users are participating in over 4 million repositories in Python from India. Enough to last a lifetime!
Search by followers
Let us say you wish to search for Python experts in India with a follower count greater than or equal to 500. In that case, your search query would be language:Python location:India followers:>=500
This query gives you just 19 Python experts across India, who are contributing the maximum to the GitHub Python community. As a result of their contributions, they have a follower count of 500 or more.
Search by GitHub repositories
We know repositories are projects in GitHub, and the more users participate in it, the easier for you to look them up. So, if you’d like to know the names of Indian experts in Python who participate in 50 repositories, your search query will be language:Python location:India repos:>=50
This time, your search yields 967 Python experts in India who are participating in 4 million repositories.
So, if you’d like to know the list of Python experts with more than 500 forks, here is what you’ll need to use: language:Python location:India forks:>=500.
Search by date
Beyond these search strings, you can use the Advanced Search functionality that allows you to look for deeper parameters:
In our examples above, we’ve restricted ourselves to searching only for user profiles using different parameters. But, there are many other ways of searching in GitHub. Here’s an exhaustive list of search strings you can tinker around within GitHub.
How to find bulk candidate email ids on GitHub with Data Miner
By now, we have a fair idea of how to look for candidates using tools. However, what if we’d like to get a number of candidates in GitHub along with their names, email ids, etc.? Wouldn’t that be cool? 😎
Step 1: Download the Data Miner Chrome extension.
Step 2: On your GitHub browser, run any query. We ran this one: language:Python location:India repos:>=50 and got the below result.
Now, click on the Data Miner extension in the Chrome browser and then select the ‘Public’ tab. Scroll down to the row named ‘GitHub’ and click on ‘Run.’
Why? Because that row gives you maximum information about name, username, email, location, and skills.
You get all your details in your window that you can download in CSV or XLSX form. Scroll to every page of your results to scrape data from all pages.
How to find bulk candidate email ids on GitHub with Instant Data Scraper
Let us try extracting bulk email ids using another tool called Instant Data Scraper.
Step 1: Download the Autopagerize for GitHub, to help you automatically scroll to the next page.
Then, install the Instant Data Scraper plugin on Chrome.
Step 3: Now, go to your GitHub account and search for candidates with a specific skill. For instance, you’re looking for R experts in Boston and around the Massachusetts area with more than 10 followers and 100 stars.
Here’s your search string: stars:>100 location:”Boston” location:MA followers:>10 language:R
And, here is what you will obtain.
Click on the Instant Data Scraper Chrome plugin in your taskbar to begin scraping through the list.
Voilà! You have a ready list of 10 experts in one go. But, that’s not all. Notice the option to download the file in CSV or XLSX formats to begin your outreach.
In the above image, the dotted red line indicates the names, email ids, and other rows of information, etc. But, what if you want to collect more email ids from other pages in your search query?
That is why the ‘Max delay’ button comes in handy. It enables you to let the scraper do its job even if there is a delay in providing the search results. So, if you select a ‘Max delay’ of 180 seconds, the scraper tool would scrape for 180 seconds.
Here is how your final search query will look.
However, we recommend that you peruse through their GitHub profiles so that you can engage better with them.
Terminologies you need to know for GitHub recruiting
In this section, we will learn the GitHub terminologies you need to know for sourcing those great tech profiles.
Every user must create a name and username for themselves. Other personal details include the current employer, location, and email id.
The below user profile belongs to David Heinemeier Hansson, who is a Danish entrepreneur, race-car driver, and co-founder of Basecamp, a project management app.
Notice how David’s profile is complete with his name, username, a whopping number of followers, company name, residence, email id, and website. It highlights the projects that he is working on and his affiliation with different organizations.
Followers and Stars
Followers on GitHub are the same as any other social platform. The more followers you have, the more famous you are. On the contrary, stars are for repositories (more details to follow). Starring a repository makes it easy to locate. It also shows appreciation to the repository owner for their work.
We enquired our developers about how the follower count works and we learned that follower count between 0-10 is good, 11-25 is very good, 26-75 is fantastic. Anybody beyond 75 followers is a celebrity and could be hard to recruit.
On that count, David is a celebrity on GitHub with 15k followers and 27 stars for his repositories.
The next thing to know in GitHub is repositories. GitHub repositories or ‘repos’ are folders where a user can store the project files. It contains the revision history of the project.
Users can own repositories individually, or share their ownership with other people in an organization. Here’s GitHub’s FAQ about creating and using repositories.
The below image shows David’s projects and a summary of the project.
Now, let us go into one of these repositories and see what is happening there. Here, you will notice several sub-divisions linking to David’s original repository. We refer to these sub-divisions as ‘forks.’
In GitHub parlance, forking means copying. A fork is a copy of a repository that allows you to freely experiment with to make changes without affecting the original project.
Notice in the below image, David’s original repository ‘textmate-rails-bundle’ has three different forks. This means there are three other users who have ‘borrowed‘ David’s original work. It also has the date on which the repository was last updated.
A user’s fork history tells recruiters how active he/she is on GitHub. A repository with several forks informs recruiters that he/she is creating a popular project. Since people find it useful, they’re forking it more.
When you click on it, you will see the names who are using it.
Pulse provides the activity report of a repository. It includes the number of open/merged pull requests, open and closed issues, code commit activity of the top 15 users during a time period.
The below picture shows the Pulse report for a project in the last month. It shows the number of pull requests, closure of active issues, and an activity graph.
A ‘pull request’ is specific to GitHub. It allows users to submit their work to an ongoing project. So, users can make changes to a fork, which is a copy of the original project, and request the owner to accept their code via a pull request. The owner may review the code and accept it.
Pull requests help recruiters understand a user’s contribution to different projects and their activity track record.
Contributors are from outside the core development team of a GitHub project that wants to contribute some changes to a project.
If you observe below, there are four contributors to a project that also includes their commits within a time period.
Recruiters can evaluate developers based on their contribution to different repositories.
The GitHub community exists to help collaborate on software projects. Every project has a community guideline that contributors must follow to remain active.
The “commit” command is used to save a user’s changes to the local repository. The repository graph in the commits section shows all the commits made to a repository in the past year.
The code frequency graph shows the content additions and deletions for each week in a repository’s history. In this example, there have been 6k additions and an equal number of deletions in January 2020.
The dependency graph shows the packages and projects that the repository depends on. On the other hand, a dependents graph exhibit the packages, projects, and repositories that depend on a public repository.
The network graph exhibit shows the contribution of users to a repository over a timeline.
By now, we are familiar with the different terminologies for GitHub recruiting. Don’t worry if you don’t understand them all yet, it’ll be smooth as we go along. In the following sections, we will understand how to put these terminologies to good use.
8 smart ways to find email ids, social profiles, and candidate activity for GitHub recruiting
Not all candidates would give out their email ids or links to their social media profiles on GitHub. Why?
Because they choose to fly under the radar. They’re contributing to the platform and maintaining a low social profile. So, as recruiters, it becomes challenging to reach them.
But, we found a way to get that too. 😊
In this section, we bring to you a bunch of tools and web browser extensions that are efficient in picking candidate data.
Step 1: Download the SeekOut Chrome extension. You will need to create an account for yourself in it.
Step 2: Pull up the candidate on GitHub whose email id you’d like to have. We searched for Chris Wanstrath, who is GitHub’s former CEO. (Chris’s email id isn’t visible on his GitHub profile nor is his social media presence.)
Step 3: Now click on the SeekOut Chrome extension. You will have the candidate’s email ids, phone numbers, and links to their social media presence in a flash. (We’ve hidden Chris’s email ids and mobile numbers with blue dotted boxes in the image below.)
OctoHR is a free Chrome extension that enables recruiters to get more information about developers.
But, before you’re able to use the OctoHR chrome extension, you’ll need to authorize it.
When you’ve authorized OctoHR, the next step is to look for the plugin on the left side of your screen and fill it with your requirements. For example, we filtered for Python developers in the United Kingdom with more than 10 followers. Here’s what we saw:
A normal GitHub search query for our criteria is location:”United Kingdom” language:”Python” followers:>10
You can look up a user’s software skillsets across different languages using OctoHR’s powerful querying tool. For David, we found the below information. His biggest forte is Ruby which is 91% of his proficiency. And, for obvious reasons, David is not available for hire.
But, what if we look for another expert on GitHub. This time, we examined Conrad Irwin’s profile. Conrad is the CTO and co-founder of Superhuman, an email app with a cult-like following.
We looked into yet another profile – this time, Yoni Goldberg and we noticed he’d been very active on GitHub in the last year. He was also open to hiring on GitHub Jobs.
3. Profile Summary for GitHub
Profile Summary for GitHub is another easy way to find more about a candidate’s activity, software expertise, and other details.
Here is how you use it. Go to the ‘Profile Summary for GitHub’ webpage and enter the name of the user you’d like to know more about.
Then when we scrolled down, we noticed even more details around the number of commits for the top repositories and stars for each repository. The Profile Summary for GitHub condenses a lot of data from GitHub in a consumable format.
The above tools help in knowing more about candidates and their software expertise. So, pick the ones that you can easily comprehend and run with it.
AmazingHiring’s Chrome extension is similar to OctoHR. It gives a candidate’s social media profiles on platforms like Facebook, LinkedIn, AngelList, etc. You’ll need to know the candidate’s name or user name to use AmazingHiring. Its Chrome extension plugin appears on the left of your screen (you’ll need to login to GitHub and AmazingHiring with the same username).
We found Conrad Irwin’s details in the below format. Click on any social media icon to view their profile and learn more about them.
The fifth tool on our list is Sidewise. Its Chrome extension allows you to extract specific skills in each candidate by looking at their code, skils, interesting projects, and developer insights.
However, you will need to authorize Sidewise to access your repositories and personal user data.
And, when you’re done, here’s how a candidate’s profile would look. Bear in mind that their free version allows you to view only five candidates. It provides an in-depth analysis of a candidate’s profile.
So, for example, Yoni Goldberg’s profile shows that he is a Frontend technology expert, has completed 14 projects, and has a good GitHub presence.
Then, they have the timeline of their skills chart. Below is an example of the timeline for each technology.
Then, you can even check the time spent on each project along with the technology, which is quite impressive.
The Sidewisepro platform comes with a lot more features and costs $99 per month.
Phantombuster is a paid data extraction tool that customizes candidate data through several ways on GitHub. You can extract the top 100 contributors for a GitHub repository, extract profile information, candidate social media profiles, and a lot more. It has individual modules for everything and enables you to run queries using each module.
We tried Phantombuster’s profile scraper module for Linus Torvalds, a Finnish computer scientist, responsible for the development of the Linux operating system. We began by filling a bunch of information as highlighted below.
After running the query, we had the CSV file in our hands. The CSV file had information on Linus’s user name, email id, location, organization name, pinned repositories, etc.
Phantombuster has a 14-day trial period and has a daily limit of one hour. Pricing starts at #30 per month for 5 profiles a day.
7. The .PATCH technique to find email ids
You can even find email ids of candidates from his/her commits, although it is slightly technical. Here is how you do it.
Let us assume you’re looking through a candidate profile. Scroll down to the contribution activity section of the candidate and look for his/her commit in an open-source project. Click on the URL of the commit and add a (.patch) at the end of the URL. You’ll notice the candidate’s email id in the first few lines of the code.
8. GitHub API technique
Then there is the GitHub API technique to find individual email ids. Assuming you have a candidate’s username and you’d like to find their email id, here’s how you go about it.
Open a new browser and paste the below URL in it after inserting the username of the candidate.
For example, you can look into David Heinemeier Hansson’s profile (username: DHH) this way.
Now, in the webpage that opens, use the command Ctrl + F and search for ‘mail’ to locate the email id.
And, in order to figure out if a candidate is ready for hire or not, here is what you do. Search for the word ‘hireable’ in the webpage and you’ll know if they’re willing or not.
All the above are proven techniques to find more information about a candidate, so pick one which gives you information with less effort.
Engaging with candidates for effective GitHub Recruiting
After researching suitable candidates on GitHub, it is now time to begin engaging with them. A lot of recruiters send generic email cadences that don’t fetch any responses.
Instead, personalize every email you send to candidates. If you’ve researched their profiles, you’ll notice their contributions to various repositories and their overall activity. So, why not send them a personal note that appeals to them?
Here is an example:
“Subject: Are you game for a machine learning challenge?
You have a fabulous profile on GitHub. And you know what, I loved your recent work on the TensorFlow project that you submitted to <enter repository name>. One of our in-house machine learning experts, Chris, looked at your code and he said it is one of the best he’d seen in recent times. 💯💯 And, Chris has been doing it for ages now, so great job on that.
Would you be keen to explore an opportunity with us? We have quite a few projects running. Let me know your thoughts and I’ll set up a call with Chris at a convenient time. Don’t worry if you aren’t ready for it yet, feel free to join our growing network <include network URL> of machine learning ninjas in <enter city name>.”
7 awesome tools to raise your GitHub recruiting game
Let us admit it – Recruiting on GitHub can be a little daunting even for the most tech-savvy recruiters. Why? Because GitHub does not solely exist to recruit talented developers. It is a developer community that feeds off each other’s contributions.
Thankfully, there are specialist tools available to simplify a recruiter’s job and in this section, we will go over them.
One of our favorite recruiting tools on GitHub is ghuser.io. The user interface is simple and clean. Here’s how Aurelien Lourot’s profile looks on ghuser.io. To use ghuser.io, you must know the developer’s username.
And, if you know it, you’ll unearth all their details on GitHub. For example, Aurelien’s profile tells us about his employer, number of followers, his email id, LinkedIn presence, and a lot more.
GitRecruit enables you to use parameters such as location, language/skills, followers, to find software talent. Its trademark RecruitScore aggregates developers’ Github contributions, followers, number of popular projects, stars, etc.
Copy-paste the URL https://www.gitrecruit.co/home on your browser to access the GitRecruit application. Enter the range across different search parameters as below.
The query gives you a bunch of candidates that include all your search parameters. Some of them have their LinkedIn URLs as well that help you broaden your outreach.
OctoHunt‘s website is clean. It has just two input fields – software language and location. When you input them and hit ‘search,’ you get candidate profiles that match your criteria.
Some of them even have their Twitter handles in here that you can use to directly send messages. While others have an ‘Available for hire‘ sign on their profiles.
4. Git Awards
Git Awards is a similar tool to GitRecruit and OctoHunt. It lets you filter top users by city, country, and worldwide. We searched for Ruby experts in Berlin and saw a ton of profiles, their usernames, city ranks, and stars.
Git Awards also provides a rank for every expert, whose formula is: sum(stars) + (1.0 – 1.0/count(repositories)).
If you already have a list of experts and you want to track their progress on GitHub, then GitStalk is quite handy.
Enter the username of the developer and see his/her contributions to the community. In one click, you get to know their followers, the number of stars, location, etc. We loved GitStalk’s neat UI and clean representation.
6. Gitstar Ranking
The other tool on this list is Gitstar Ranking. Similar to GitStalk, Gitstar Ranking lets you look for specific user profiles or look through users, organizations, and repositories.
Imagine you have a list of users from your search query. When you click on a user, you get to know his/her contributions to different repositories, the number of stars, and a link to their GitHub profile.
7. X-ray search
Then, there is the X-ray search, which is probably the smartest way to look for candidates, provided you’ve mastered the search strings. You can use this directly on the Google search bar.
You are likely to see the below result. Clicking on the links will take you to their user profiles in GitHub, where you can narrow down your search.
Each of the above tools serves a purpose, and it can be overwhelming to use them all at once. So, pick a tool that helps with your specific recruiting needs instead of looking all over the place.
Before you go
GitHub recruiting isn’t all that difficult. It requires time and patience to become familiar with a platform that hosts developers. Plus, the use of a few smart tools that’ll make your life a lot easier. So, make sure you put in the effort and you’ll reap the rewards.
Additional Reading: Hiring great talent begins with having the best job descriptions. Don’t forget to read our 18 actionable tips to nail your job descriptions.