The simplistic way to look at StackOverflow is Quora for engineers - a network where people can post queries on programming and have it answered by fellow members. StackOverflow, in reality, is an engineering repository, professional network and forum all rolled into one. Both, the questions asked and answers given are upvoted based on how useful they are for the community, maintaining a high level of quality on the site.
What this means to you as a recruiter is that you now have a focused network of professionals who are vetted by their own peers. And StackOverflow, much like GitHub, is in a state of constant use, making the content up-to-date and relevant.
But I’ll let the numbers from the StackOverflow Developers Survey 2016 report speak for themselves.
Now that I have your attention, let us explore how to find the best engineers from StackOverflow.
Information Found On StackOverflow
This is the homepage of www.stackoverflow.com. This is how it looks like for a user.
(1) The homepage allows users to have a look at the most happening discussions from that day, week and month. (2) Users can look at these discussions through the questions asked and tags (topics) of interest. (3) Companies can post jobs in the area which will pop on the feed on the right.
(4) The search bar located at the top right corner is an easy way for users to navigate through all the conversations to get to the ones they want. But this search is not built to find people and hence not very recruiter friendly. Which is why this article came about!
Understanding a StackOverflow Profile
Let us break this down further to see what insights are available about kracekumar.
On the "Profile" tab, you can see the basic details of the person.
- Personal Details: Very useful when you are recruiting. You can see the username, location, social links such as blog, Twitter and LinkedIn. These sites come in quite handy to develop a holistic understanding of the person.
- Top Tags: These indicate their areas of expertise. In kracekumar’s case, that would be Python, Flask and Django.
- Number of answers contributed to StackOverflow and number of questions asked: Kracekumar’s profile shows he has answered 131 queries of his peers while he himself is asking only 24. This could indicate vast expertise in his own field and passion for the same.
- Reputation: In StackOverflow’s own words, "reputation is a measurement of how much the community trusts you, earned by convincing your peers you know what you are talking about." Reputation is earned through upvotes of questions and answers. You can find out more about this here.
Badges: Gold badges are the highest honor, awarded for important contributions. Silver badge is to recognize contributions that have been favorited a lot while Bronze badges are awarded to encourage participation. Read more about this here.
- Communities: A bit of context on this section first. StackOverflow was launched in 2008 and quickly became massively popular. This led to the birth of stackexchange.com, a meta site that aggregates over 60 niche Q&A forums such as english.stackexchange.com, aviation.stackexchange.com, etc.
So if members of StackOverflow are affiliated to any of these communities, it appears under the communities section under the display image. You can understand the candidate’s interest from the communities he/she is a member of.
When you use the search bar in the homepage, you might find results that match across various communities, but I'd reccomend sticking to stackoverflow.com, data.stackexchange.com, superuser.com or programmers.stackexchange.com for relevant results. Additionally, these are sites you can explore if you aren’t quite satisfied with StackOverflow.
Further, you can check out the user’s contributions in detail under the "Activity" tab. You can also sort contribution by votes to understand which topic he/she has contributed most significantly towards.
Finding People On StackOverflow
Here comes the tricky part. Articles written 2-3 years back on sourcing from StackOverflow don't work anymore due to search engine updates. So in this section, I will talk about two methods of finding candidates in StackOverflow that I’ve tried and for which I have seen results.
Finding People Using Google
Say, I am looking for a rockstar backend developer for my company based out of Hyderabad. Now, I am looking for someone proficient in Ruby and is living in India. To avoid empty profiles and improve quality, I want profiles with reputation points over 500.
I type the following in Google’s search bar:
Ruby India site:stackoverflow.com/users "500.. reputation"
Here, I have 85 StackOverflow users from India who have ruby somewhere on their profiles - be it area of interest, question or contribution with reputation points over 500.
Finding People Using data.stackexchange
By now we can all agree StackOverflow is pretty epic. Part of this can be attributed to data.stackexchange.com, their sister site where data from StackOverflow is made publically available. This is also a great avenue to build queries to accurately find people you need.
Based on the the database schema they’ve provided, you can construct MYSQL queries to search their databases to search for your next game-changing hire.
Taking the same example as above, I am going to look for developers proficient in Ruby based out of India. The following query will pull out developers who have either participated in ruby related queries or have mentioned ruby somewhere in their profiles. It returns their user id, reputation points, display name, what they’d written under “about me” section and their location.
select distinct u.Id , Reputation, DisplayName, WebsiteUrl, AboutMe, Views from Users u inner join Comments c on c.UserId = u.Id where u.Location like '%ndia%' and c.Text like '%ruby%'
When I hit "Run Query" at the bottom, I get results as shown:
(1&2) My query has yielded 945 developers whom I have sorted in terms of reputation. (3) You can also download our results as a CSV file for later perusal.
You can modify the query mentioned above to suit your requirements, simply by replacing the and c.Text like '%ruby%' with the skill set you are looking for. Here are some examples.
Say you are hiring android developers - you need to search for more than one skill. Here is a query that includes multiple skills.
select distinct u.Id , Reputation, DisplayName, WebsiteUrl, AboutMe, Views from Users u inner join Comments c on c.UserId = u.Id where u.Location like '%India%' and ( c.Text like '%java%' and c.Text like '%sdk')
Additional Methods to Source From StackOverflow
You can also build simple queries with www.recruitin.net. This site builds queries for you to search on a bunch of networks, based on your input. I selected StackOverflow and gave in my specifications to get this query, which excludes profiles that don’t have any answers:
http://www.google.com/search?q=site:stackoverflow.com/users -"t posted... yet."+"ruby"+"India"-"0 answers."
These were my results:
The queries are case sensitive, even the single quote needs to be a straight single quote, which is ', instead of a curly single quote, which is ‘. Otherwise, the query will throw errors.
There is also http://careers.stackoverflow.com/, where developers are actively looking for jobs. It is also a great place for companies to build a strong presence for themselves.
Finally, I would like to conclude this with a note on my experience with writing this piece. I am no recruiter, I am most definitely not a programmer. But all it took was 5 minutes of my time and a very helpful colleague in engineering to find nearly a thousand talented, relevant ruby on rails developers. So I recommend you try it out - tap into a pool of undiscovered talent, without much effort!
GitHub and StackOverflow are just two of such niche communities of skilled professionals. With Belong, you can source and hire from many such niche networks for tech, product management, design, marketing and sales. Sign up for a demo today and find out more!