Sourcing in-demand technical talent is as hard as it gets for recruiters. Unresponsive candidates, outdated LinkedIn profiles, dry talent pools — if these challenges sound familiar to you, it might be worth checking out GitHub as a creative source for talent.
GitHub is a platform where members of the software development community collaborate on cutting-edge coding projects together. According to a recent StackOverflow survey, over 90% of developers use the open-source version control software Git. GitHub is far and away the most popular place to maintain code subject to Git version control.
Recruiting software engineers isn’t easy in a global talent shortage and Great Resignation, but here are some ways you can take advantage of sourcing on GitHub to refresh your talent pool and locate exceptional developers who might not market themselves on professional networks.
What to brush up on your technical terms for sourcing developers? Check out our guide that covers everything you need to find, evaluate, and contact in-demand software engineers.
What are GitHub and Git?
GitHub’s name is wonderfully intuitive—it’s a hub for maintaining code via Git, so to understand how to find candidates on GitHub, you need to understand Git. Thankfully, Git itself is pretty easy to understand even for non-technical people.
Have you ever edited something, saved the edits, and then wished you could’ve gone back and retrieved a now-deleted part of the old version? Ever worked collaboratively asynchronously and needed to cross-reference everybody’s independent contributions to ensure they make sense as a whole?
These are the sorts of problems Git solves. It creates forking branches through versions of a project, preserving older versions of code in case they’re useful later. It also allows team leaders to see the whole picture, only merging pieces of code to the main code base once everyone’s sure that the merge won’t break something.
GitHub is just (by far) the most popular place to store that code and to run Git commands on it.
How to evaluate a GitHub Profile
A quick way to gauge the popularity of a contributor is to scan the stats under their username. The number of followers (63 is impressive on GitHub; even 10 followers would be eye-catching) and stars (analogous to Facebook likes) can also help you gauge how many meaningful and interesting contributions they’ve made.
The number of repositories (open-source coding projects) can indicate the languages and skills a developer has demonstrated the use of, as well as breadth of experience.
The number of times a repository has been starred or forked (i.e. “copied”, allowing another user to make their own changes and experiment freely without touching the original code) can indicate the scale of the project and how valuable or interesting others find it.
The green calendar graph visually displays the frequency and timescale of a user’s contributions, indicating the consistency of a developer’s contributions.
Even having a modest number of followers is pretty rare on GitHub, and while consistent contributions are very nice to see, there are plenty of developers who only use GitHub for occasional, significant contributions.
Consider these sorts of things nice to have in sourcing on GitHub, but care most about the repositories themselves.
How to determine the potential of candidates on GitHub via their repositories
There’s no barrier to entry on GitHub, so we wanted to provide a few criteria for what should be considered an impressive unforked repository, what kind of forked repositories might be a good sign, as well as some examples of projects that shouldn’t be taken as a strong positive signal of a developer’s ability.
In deciding whether an unforked repository—ie, original source code of development projects—is strong, consider:
Does this project address a need?
Development projects on GitHub have an About page where the developer explains what this project is for. If the developer explains a specific, sophisticated problem they’re addressing, then you can count on them to understand how to translate business needs into software solutions.
Can this project scale?
Fresh graduates and junior developers don’t typically need to think about how their work will perform if a ton of people use it. But handling high volumes of use is perhaps the single most important challenge for growing companies.
An about page that explains how this code has been written to run efficiently can show that its author is attuned to these challenges.
Not all projects need to meet this criterion—there are plenty of people on GitHub posting tiny, homebrewed upgrades to solve very granular problems, and if a homebrew solves a problem, it’s good enough. But scalability should be considered the biggest nice-to-have.
When it comes to forked repositories, consider:
Would this developer be working with this tool in the role I have for them?
This is one of the ways GitHub can be better than even LinkedIn for sourcing. Developers won’t necessarily put every little piece of technology that they work with on their LinkedIn. This can make it hard to source for emergent tools like Python’s FastAPI or very specialized tech for very specialized roles like Machine Learning Operations.
But if a developer has forked the source code for FastAPI, you know that they’re using FastAPI.
Is there a pattern to this profile’s forked repositories?
A GitHub profile won’t come out and tell you what a developer specializes in (it probably won’t even tell you their current employer) but you can piece together what someone’s been working on based on what they’ve forked. For example, someone who has forked from Docker and Kubernetes is most likely working in DevOps managing microservices.
Projects that shouldn’t be taken as a strong positive signal of technical prowess:
Solutions to data structures and algorithms problems.
Because these kinds of questions are so common in software engineer interviews, lots of developers—both brand new and seasoned ones—will create a repository to store the practice problems they’re solving as they prepare for interviews.
Since solving these problems is often the barrier to entry to land a developer job in the first place, they aren’t helpful for identifying strong tech talent.
“Clones” of major websites like Facebook or Twitter.
It might sound impressive that someone coded up their own version of a website that you use every day, but these clones typically violate the second rule of evaluating unforked repositories: they aren’t able to handle the kind of activity that the real thing does.
This is more important than normal when considering clones since the idea itself isn’t original either.
To-do list apps, simple games, and personal websites.
These are often part of the curricula at software engineering bootcamps, so it’s more likely than normal that someone had their hand held through creating them.
Sourcing on GitHub: a step-by-step guide
To find search on GitHub for candidates with all the traits and qualifications you’re searching for, follow these steps.
STEP #1: Create an account
First, sign up for a GitHub account linked to your email address (in order to view email addresses listed on other users’ GitHub profiles).
STEP #2: Compose an Advanced Search
While GitHub’s search function may initially appear spartan, you can perform a Boolean search directly into the top bar of the website to find the best match.
There are many criteria that you can combine to search on GitHub for tech talent:
- location
- programming language
- education
- number of stars
- number of forks
- number of followers
- account creation date
- uploaded resume
For example, if you’d like to find a software engineer living in San Francisco who programs in Java or Ruby with more than 15 followers, you might use the following string:
engineer in:description location:”San Francisco” language:java language:ruby followers:>15
This particular advanced search results in 278 candidates on GitHub matching the criteria.
Step #3: Sort Profiles
GitHub search results return repositories by default. Click on “users” at the bottom of the left sidebar to view profiles that fit the search criteria.
A GitHub search sorts users according to “best match” by default, but you can sort the search by volume of activity or by date joined too to find candidates who haven’t been contacted by many other recruiters yet.
Step #4: Evaluate Users and record profiles
GitHub doesn’t currently offer a way to record and track candidates, so upon evaluating each profile, be sure to note down important information such as name and email addresses. Not every user includes their email address on their profile, but many unlisted addresses can be located manually.
Tip: Sourcing through GitHub is most effective when combined with targeted and personalized messaging. Try our passive candidate email templates to do personalized outreach efficiently.
Step #5: Reach out to candidates with a personalized message
To get to a user’s profile page on GitHub where their email is displayed, first find an unforked repository by that user, and then click on where their username is displayed in GitHub’s path to the repository to see their profile.
However, GitHub allows users to hide their emails. So if a user has hidden their email, you can always use an email finder tool and get the email of the candidate in one click.
We suggest that you mention specific skills or other aspects of a candidate’s background that interest you, and reference a specific detail of their recent public activity.
An effective recruiting email might look something like this:
Why source software developers on GitHub?
GitHub reports 56 million users and has been steadily growing, predicting 100 million users by 2025. It’s a deep pool, and because it intimidates many recruiters, it’s hugely underexplored.
With some clever use of advanced search features, you can use GitHub to find the candidates other recruiters aren’t. For startups in particular, this strategy can be crucial to making your next hire.
Reason #1: Identify untapped talent
3 in 10 software engineers are not on LinkedIn, and many others who do use the site have sparse or outdated profiles.
Developers with strong profiles are heavily competed for and desensitized to recruiting efforts. Inundated by mass messages from recruiters who fail to match candidates with relevant opportunities, many have disabled notifications and tuned out the noise.
GitHub is set up for developers, not for recruiters. Yet with a little extra knowledge and creativity, employing GitHub can help a recruiter beat out the competition and find talented candidates who aren’t on LinkedIn.
Reason #2: Find organic insights
Scanning a resume is quick and easy, but resumes often oversell or undersell candidates’ skills and experiences. GitHub can reveal what engineers are actually working on and interested in, information which is particularly valuable when sourcing candidates for challenging-to-fill technical roles.
GitHub is used by engineers who are learning new technologies and tackling complex projects outside of their day job, a good indicator of motivation and drive to learn new coding skills.
Wrapping up
Sourcing through GitHub can be a challenge without a technical background. It doesn’t replace a resume, and often needs to be cross-checked with other sources to get a full picture of a candidate’s experience.
Want to focus on other tasks besides sourcing software developers through tech communities? You can leverage Celential.ai’s proprietary talent graph that aggregates data from GitHub, StackOverflow, and 100+ sources to expand your search.
Table of Contents