Advertisement
Article main image
Dec 1, 2016
This article is part of a series called Editor's Pick.

If you Google “recruit on GitHub,” you will find more than ten blogs/articles/videos for this topic. I almost gave up writing something for this topic, but Dean Da Costa changed my mind. He’s a crazy geek in our community who is the so-called “search authority.” He encouraged me to dig into something deeper so that more technical recruiters can start using GitHub.

First of all, I am a GitHub user and a contributor as well (see my contributions in 2015). I consider myself to be very familiar with GitHub. I will share my experience of exploring and sourcing GitHub talent as a recruiter, instead of as a developer.

githup

I read through a lot of resources. It seems like no one ever told me anything more than how to search users or how to interpret user profiles. Searching users and understanding profiles are useful for sure, but the advice is short when it comes to GitHub sourcing. In that context, GitHub can be much more powerful than expected.

 

Who’s on GitHub

 

There’s a lack of full understanding of who’s on GitHub in our community. Generally speaking, you’d think that only software developers are on GitHub, but that’s not true. As a community, we need to have a better understanding of the user base on GitHub. GitHub has two types of users: developers (personal accounts) and organizations (corporate/business/associate accounts). One organization may have multiple developers, but a developer is not necessarily in any organization.

The core object on GitHub is the repository, or “repo” for short. The official definition of a “repository” is “a digital directory or storage space where you can access your project, its files, and all the versions of its files that Git saves.” Lost? No worries. To recruiters, a repository is just a “source code project.” Developers on GitHub contribute to repositories. The repository can be owned by an individual developer or an organization. Picture 2 illustrates the design logic of GitHub.

github2

Picture 2: Relationship between the developer, organization, and repository.

As you can see, we need to deal with three entities on GitHub to fully explore GitHub sourcing: the “developer,” “organization,” and “repository.” It’s much more than just the “developer” as all the presented resources showed. Let’s dig into sourcing talent through repositories and organizations.

 

Source developers through repository search

 

From a repository, you can find a group of developers who’re good at a certain skillset and have certain project experience. To me, it’s a much more efficient way to source talent when searching users and comparing them directly. GitHub provides fine granularity searching for its repositories. You can specify keywords, programming languages, popularity, dates, etc.

Let’s do it step by step:

  1. If you want to specify keywords of the repository description

            “keywords” in:name,description

A real example: “big data” in:name,description. We specify that “big data” should be in the repository description. Make sure that there’s NO space in this string of “in:name,description”. Don’t put too long keywords. Actually, big+data in:name,description also works.

 

  1. If you want to specify programming languages

language:”language name”

A real example: language:”javascript”. If the language name is just one word, you don’t have to use quotation marks. One more tip: multiple languages are supported. But the boolean logic is “OR”. For example, language:java language:javascript means either java or javascript is the programming language.

 

  1. If you want to specify the number of stars

stars:lower_bound..upper_bound

A real example: stars:5..10. It means the repository has 5 to 10 followers. If you don’t want to specify lower_bound, the string will be stars:<10; if you don’t want to specify upper_bound, the string will be stars:>5.

 

  1. If you want to specify the number of forks

forks:lower_bound..upper_bound

Follow the same rules as specifying the number of stars.

 

  1. If you want to specify the creation date

            created:yyyy-mm-dd..yyyy-mm-dd

A real example: created:2015-01-01..2016-11-01. It includes all repositories whose creation date is after 2015-01-01 but before 2016-11-01. If you just want to emphasize “after 2015-01-01” only, the string will be created:>2015-01-01.

 

  1. If you want to specify the latest commit date

Follow the same rules as specifying the creation date.

 

Here’s a real example that combines all of them together.

big+data in:name,description language:Java language:Python stars:>10 forks:>5 created:2015-01-01..2016-11-01 pushed:>2016-01-01

This search string is finding all repositories that have “big data” in their description, a program with Python as the language, have more than 10 stars and more than 5 forks, are created during the period of 2015-01-01 and 2016-11-01, have the latest commit pushed after 2016-01-01. You should see results as shown.

github3

The search result for the search string of big+data in:name,description language:Java language:Python stars:>10 forks:>5 created:2015-01-01..2016-11-01 pushed:>2016-01-01

 

Click any of the results to access an individual repository’s page. On the page, read the description of the repository first to see if the project is related to the job description we have. You will see “12 contributors” on the page.

github4

 

Click to access the list of developers. You will find their commits and activity history. Click any list item and you will be redirected to an individual developer profile.

github5

 

Source developers through organization search

We reach out to developers from Google, Facebook, Twitter, and LinkedIn a lot through LinkedIn Recruiter. But it’s best to move away from the noisy channels where all the other recruiters are always on, to GitHub where you can get closer to developers. I want to show you another good way to search developers on GitHub. Go to the Google GitHub profile, and find all people there.

 

Let’s do it step by step:

  1. Type org:google to the search textbox. Click the “Search” button. By default, GitHub shows repository results. Click “Users” on the left-side navigation bar. github6
  2. Click the result. And then click the “People” tab. You will see all the Google developers on GitHub. github6

Your sourcing can successfully start with this list now. Use some tools recommended in the SourceCon community to find their emails and coding performance assessment. If you still have problems, try Hiretual. For this article, I wanted to focus on searching functions. There are more secrets waiting for us to discover on GitHub. If you also want to share your experience on GitHub sourcing, please give your comments or contact me.

 

 

This article is part of a series called Editor's Pick.