In our earlier post, we introduced Github, the site where developers post and collaborate on projects. We’re going to do a deep dive into why recruiters should use Github, and more importantly, how to properly navigate it. You’ll want to utilize Github’s awesome search functionality to find out which developers are capable of creating great code. And you’ll find projects that correspond perfectly with what your company’s team is currently building or looking to build.
What’s the point of using Github in conjunction with or in lieu of the traditional sites (such as LinkedIn) recruiters use to discover developer talent?
Because of the collaborative nature of the platform, Github is an accurate indication of which people write good code. Developers can “fork” other developers’ repositories, or “repos”. This means that they download this code to their local drive in order build off of it themselves. They can also “star” their favorite repos. So, code that has been forked and starred a lot means it’s well written, reusable, and impactful.
Also, you stand out as a recruiter if you use Github. It shows you’ve taken the time and initiative to find out what a programmer builds and enjoys building. This way, you’re more accurately matching your needs to hers, instead of being one of many recruiters blasting her an InMail.
How to go about attaining all of this insight?
The first step is to understand what your development team is working on, and thus what you should be looking for. Does your team use Ruby, Java, Python, or all three? What kind of database does your company have? Does your frontend need an overhaul?
Ask your PMs what would be useful for new hires to have already worked on. This gives you a good idea of what to type into the search. Ask your developers which repositories they star and fork. You might search these repos and discover who else has starred them or built other influential projects using them.
Specifics on searching:
A straightforward search mechanism is simply googling the developer’s Github profile (i.e. Github "John McGrath"). This works if you already know the identity of the person you are targeting. For example, say you recruit for Lyft. You need someone with experience building Android and iPhone apps with the Google Maps API (and thus with Java and Objective C). You’d heard about a certain developer and want to check out his work. You pop in his name and are directed to his profile (https://github.com/john). On the left hand column, you’ll see basic info like his photo, company, and location. Will you need to relocate him? Does he have a website you can look at or contact information so you can reach out?
Below that, you’ll see how many followers he has and how often his work has been starred, both great indications of the quality of his work. Displayed in the center are tabs with his contributions to other projects, repos with the work he’s built, and his latest activity on Github. Under the “Repositories” tab you can see the names of his individual projects and which languages they’re in. You can also see how many times each of his projects have been starred and forked. If everyone’s forking his Maps app, maybe he’s your guy.
But what if you don’t have a specific person to search? How can you use Github to find good developers working on the types of projects you’re concerned with? On the Github homepage, you can click “Explore” in the top right corner. Then, under the “Explore” tab on this page, you can see which repos are trending and who’s built them. The “Repositories” tab on the same page gives you popular repos, displaying which language the projects are written in as well as their respective amounts of forks and stars.
Maybe you have a little more direction than this, though. Returning to the Lyft example, say you have a clearer idea of the type ofwork you’re seeking (which here would involve the Google Maps API). You can use Github’s main search bar, which prompts you to
“search or type a command” at the top of the page. This is useful if you don’t know the precise name of the repository, but you know what topics you care about. Github will return to you a list of results with the usernames of the programmers and their projects. You can even filter your results by language on the left hand side.
The most optimal way to search Github, however, is to use Advanced Search. On the homepage, click the little wheel next to the main search bar. At the top of the page in the main toolbar, you can still type in the topic you’re searching, as you would before (ie: “google maps API”). But you now also have Advanced Search’s convenient options. The “Advanced Options” section allows you to search by owner if you want to see a particular person’s work. You can search for specific repositories and indicate how recent you want the work to be (ie: which dates) and in which language (see image below).
Once I run this search, I can see all the repositories pertaining the Google Maps API. I can then click on either the star or fork symbol next to the repository to see which users have engaged with it, allowing me to find developers that are interested in that specific project.
Equally useful is the “User Options” section at the bottom of advanced search. Here, you can specify the location of the developers you want to find (we'll use San Francisco as an example). You can also search by a minimum (or maximum) amount of followers. Say you don’t want the nightmare of having to recruit people with hundreds or thousands of followers, but you want someone with proven capability. For the “with this many followers:” section, you might use greater-than or less-than symbols, like this: “10..50”. Next, you need to determine the amount of repositories. You want people with more than a few repos under their belt, so you input a range (“5..40”) and voila! You’ve got a list of local candidates with between 10-50 followers and 5-40 repositories.
You can use Github to stand out and to discover awesome developers working on the types of projects relevant to your company. Good luck, happy searching and don't hesitate to reach out to us if you have any questions!