Disclaimer: GitHub and StackOverflow are amazing resources for tech recruiters. But contrary to the popular tone of most sourcing articles on this topic I do not consider them to be “the” primary searching database of software engineers. What I do consider them to be is a primary tool while connecting, engaging and evaluating tech talent, which in some cases you can use as a candidate source as well.
This post is about the “other”, not really documented usages. If you came here just because you want to learn how to search on these sites you can jump here to read my piece on GitHub or here on StackOverflow, but I strongly suggest to read about the other usages first.
1. Similarities and differences between GitHub and StackOverflow and the impact on your technical recruitment efforts
StackOverflow is essentially a Q&A site (part of the StackExchange Q&A network), where developers post their day-to-day questions hoping other developers can help them with some advice. GitHub is a site for storing your code and sharing it with others — for collaboration, further development or simply usage. Key characteristics:
- Software engineers share pieces from their work on both sites
- There is much more daily activity on StackOverflow than GitHub
- Both track the date of last contributions
- Code on StackOverflow is always public (how to ask for help otherwise?) but GitHub can be private
- StackOverflow has just bits of code or information, answering a specific problem someone posted
- GitHub code is “full”, created to perform a specific function
What does the above mean for recruiters and sourcers? Essentially it provides way to:
- Get information to leverage while trying to reach a prospect
- Check out and assess the quality of their work
- Find new candidates
2. Using GitHub and StackOverflow to connect with people in a smarter way
One of the biggest challenges in technical recruitment is grabbing your potential candidate’s interest. Everyone is getting bombarded with marketing messages via phone and Email, and the in-demand candidates — like IT — are experiencing a heavy load of recruitment themed messages as well. In order to be successful you need to stand out with your message. Your competition for their attention is essentially every other mail and call they receive, but mainly:
- contact attempts of other recruiters and sourcers
- marketing messages
- automated job newsletters
So how can you stand out? For example with using personalized messages showing your understanding and appreciation of their current work — in other words, the information provided by them on GitHub or StackOverflow.
Points of interest for such information on a GitHub profile:
- Repositories contributed to
- Own repositories (popular repositories & separate repositories tab)
- Contribution activity (scroll down, set to last 1 month)
Let’s use this profile as an example. As of writing this article it looks like below.
Select one from his popular repositories or navigate to the repositories tab to see all repositories created by him . If you open any, there is going to be a README.MD file describing what the piece of code is created for.
Here is this repo from Jerome for example: https://github.com/jeromeetienne/jquery-qrcode, a jquery plugin for qrcode generation. If you are E-mailing Jerome, consider a message like this:
Subject: I’ve found your jquery.qrcode.js plugin..Copy: .. to be especially well documented, I could understand the functionality even without being a software engineer myself. Did you enjoy working on it? I would have an opportunity where you could work with related technology.
Talk about any aspect of the code: the functionality, documentation, how other users seem to like it, further ongoing developments, really anything. The point is to grab their attention by mentioning it in the subject line and to show you did your homework and understand what they are doing (of course a prerequisite for this is really doing your homework first, and make sure you have a good understanding of the the position and the potential candidates — but that’s a topic for an other article). The possibilities are endless!
Another example of using the information on the GitHub profile is scrolling down to the latest activity.
Commits are code editions the user sends (“pushes”) to existing GitHub repositories, pull requests are suggested editions the user made to someone else’s code and issues reported are bugs/suggestions about them. So for example if you see your candidate is adding a remove layer button to a texture generator you can reference how useful of a feature this seems to be (I mean really, wonder why it isn’t there in the first place?).
If you can not find anything useful/understandable in these sections (which I seriously doubt), you can still use something like the amount of contributions from last year or the number of followers/stars on the profile or on specific repositories.
The basic idea is pretty similar on StackOverflow — find information about the candidates and use them to stand out from the crowd with your contact attempt. While checking a profile you will see on the right side the “Communities” tab. StackOveflow is part of the StackExchange metasystem, and the profiles are linked together — feel free to use the information found on any of these.
As noted before, this is a site where you will find questions and answers posted by software developers about their work. I suggest to order on newest, and first check if the user has any answers.
Once you find one, you can either compliment the solution (hint: other people, at least the person who asked the question will always provide feedback so you know something about the quality of the answer), talk about how in a new role he could solve similar questions or even write to him how you up-voted him on the site.
You can also react on a question. Ask whether he found out the answer, mention what a valuable conversation he started, or in a lucky case of having an IT background (or working in small company and being in close contact with someone who does) you can even answer the question. If nothing of these works, you can still start with something like
Subject: I saw your Android/Asynctask question on StackOverflow
Copy: and I admit I do not even understand half of it. What I do understand however is that you are developing an Android app — something our company would need!
The only limit is your imagination!
3. Using GitHub and StackOverflow as part of your evaluation process
Another direct result of any type of work being public is the ability to evaluate it’s quality. Obviously in case of software engineering this evaluator is typically not going to be you, but your Hiring Manager or a member of his team.
CV-s are nice, but a couple of GitHub repositories with pieces of software written in the language your Hiring Manager needs is more testament than anything else. Companies invest more and more into coding assessment software like Codility (which is amazing by the way), while in reality code written by the candidate is already made public, and ready for evaluation! In a similar manner, someone who is answering questions related to that language correctly, possibly getting some nice feedback and up-votes in the process is showcasing what he is proficient in.
Implementing this in practice is simple. If your IT Hiring Manager was not living under a rock so far they surely know both sites. Just make sure to find the GitHub and/or StackOverflow profile of your candidate or — at this point — ask the link from him, and include it in the candidate profiling form you are sending.
4. Finding a candidate’s GitHub or StackOverflow account
For the above reasons I suggest you to try to find the GitHub and StackOverflow profile of your candidate. This is in most cases surprisingly easy, thanks to a handy little extension called 360 social (install it from here). If you already have one social profile of the person, you can just click on the little gray icon on the right side of your screen and it will look around to find other profiles.
There are many other tools doing this (Prophet, Connectifier, Connect6, Falcon, Vibe), but according to my experience 360 brings the most social profiles (it’s certainly not the best in E-mails or phone numbers though!). If you found a CV and you can not find any social profile to begin with, you can try running a search on namechk.com with the “username” part of the Email address.
Of course finding a candidate’s GitHub and/or Stackoverflow profile is not even a question if you were searching for them there in the first place.
5. Search for new candidates on GitHub and StackOverflow
To limit the length of this article I have decided to push these into separate posts.
Every sourcer and recruiter — especially in a difficult field like technical recruitment — needs to spend more time where their candidates are. Software engineers are on GitHub and StackOverflow, so if you want to understand and attract them, you must be there as well.
Feel like you want to learn more about sourcing and recruitment? Subscribe on the right!
Have any other tip to add? Comment below!
Do not have any other tip to add? Share it with your network!