Back when I was a technical manager at Yahoo! (YHOO), I had to wade through hundreds of resumes given to me by our recruiters. After feeling desponded about the poor quality in the candidate pool, I started looking at the people behind the developer blogs I read. If the person was awesome, I sent that person an email to try attracting him/her to Yahoo!. Sometimes I succeeded, sometimes I failed. But when I succeeded, that person often became a fantastic hire.
I later discovered that this is called sourcing in recruiting parlance. And it was not something hiring managers do regularly, though they perhaps should. However, many are too busy. After all, that’s why there is a recruiting department, right? I was busy too, but I realized that great hires made my work easier. If I spent more time up-front hiring great people, then I could better optimize my time downstream.
To be fair, the HR team at Yahoo! noticed me doing this, then had a dedicated recruiter follow my techniques to scale them across the company. This recruiter and I spent a lot of time fine-tuning our sourcing & evaluation process. She is now a rock-star technical recruiter working for an amazing startup, and I have no doubt she will help them find incredible people.
The actual users of such a tool would be recruiters and hiring managers. The buyers will generally be within the HR organization, as they own the vendor relationships for such tools.
This tool would focus just on software developers. It’s possible this can be extended to other roles though, such as visual designers. More on that later.
There are some great online communities for software developers. A recruiter could look through these communities and pick out a few based on their contributions and participation level. It’s important to note that a developer’s reputation score in a specific community isn’t a direct correlation to being a good employee; many of the best software developers I know have a low profile on these communities. But it’s still a fair criteria. The communities, or inputs into this tool, are:
Then there are some more generic inputs that can flesh out a candidate’s background and personality:
This tool would go through these primary inputs and filter out a list of potential candidates using broad filters such as programming languages and location. Further filters could be applied to improve the relevance of the list.
The first input is GitHub, a social code repository popular for hosting open source software. Developers who participate in open source projects have their code and commits shared publicly. This means anyone can look at and evaluate their code. Whenever I evaluate a candidate, I always ask for code samples. GitHub saves me the time spent in asking and waiting for a response. Instead, I can look at a developer’s GitHub account and easily examine examples of their work.
The fine folks at GitHub realized that recruiters & hiring managers were doing this and built the GitHub Resume, an easy way to view the highlights of a developer’s contributions. This snapshot is nice, though it’s still important to dig through a candidate’s code.
There is some debate as to the value of the number of followers a developer has on GitHub. I would use the follower number sparingly. The quality of the code is still my top assessment priority.
The second input is StackOverflow, the most popular question & answer network for software developers. Again, a developer’s reputation on StackOverflow may not map directly to his/her value as an employee, as some great developers don’t put in the time necessary to cultivate a high reputation. Instead, look at the quality of individual answers as an example of written communication and concept clarity. It’s tough to explain complex code, but doing so well is a great sign.
Syncing up a members’s profile on both GitHub and StackOverflow would be key. Not all members use the same username, however, so it would take some thinking to map a single member. I would start by trying to match the username and then website. There are also other profile elements, such as profile image and location. This is a tough enough problem that it arguably will be a barrier to entry for competitors.
Once a list of candidates has been sourced from GitHub and StackOverflow, each profile can be fleshed out using information from LinkedIn (LNKD), Hacker News, Quora and Twitter. I personally don’t find Facebook as useful, though other employers may.
LinkedIn can provide a candidate’s education and previous work experience. Getting to this data would require authentication, so some thinking behind the user account structure of this tool would be required. For example, is there a master account that grants access to others? Or does each user create his/her own account? My gut is to have a master account that pays for a certain number of seats, though there are many alternatives.
Hacker News is a forum created by Y Combinator. This community originated around programming and startup topics, though some long-time members argue its focus has widened, bringing down the quality of the overall community. Whatever the case, many non-developers are members here, which is why HN is a supplementary resource rather than a primary one. Once again, a member’s karma on Hacker News isn’t a direct correlation of employee value, but that member’s answers may be useful.
Quora’s value is similar to StackOverflow and HN’s – the member’s answers may provide some insights into the candidate’s communication prowess. Since Quora covers a wider range of topics, this source can also offer a peek into other areas of expertise (if the candidate has many answers) or interest (if the candidate has many followed topics).
Finally, there is Twitter. For me, Twitter provides a glimpse into the candidate’s current frame of mind. All of your research could be for naught if you see the candidate tweeting about leaving this career behind to become a monk. It’s also possible to discern the candidate’s interests via Twitter. For some employers, Facebook can provide similar data if it is publicly available.
And last, but not least, is the candidate’s contact information. Somewhere amongst all of this information should be a way to contact the candidate directly. Sometimes their email address will be directly visible. This tool should harvest that email address. Other times, the email address will be hidden for either privacy or spam reasons. To reach those candidates, you may need to send them a message via LinkedIn (as an invitation request or through a LinkedIn Premium account) or a contact form on their blog (if one exists). I wouldn’t suggest a public venue such as Twitter for contacting a candidate.
Just about every developer I’ve sourced offers some way to contact him/her. This tool should be intelligent enough to find that information.
The final product should be a list of potential candidates. A relevancy score could be added, though I’m not sure about its accuracy. I don’t believe the inputs paint a clear picture of a candidate – they only offer a fuzzy image. But say you build such a tool and notice some patterns of quality. It’s certainly imaginable that a relevancy score could be constructed if you have enough data. This, I would argue, should include data on your organization’s particular needs as well, since every company is different. As is every team. In other words, a good relevancy score should mean: this particular candidate is XX% relevant to this particular hiring manager within this particular department of your particular company.
From this list, the hiring manager can view more details about each candidate. The details would include:
- Current location
- Contact info (direct email address or link to a contact form)
- Sample code from GitHub
- Repository membership on GitHub (own or participating repositories)
- Programming languages used on GitHub
- Answers from StackOverflow
- Topics participated on StackOverflow
- Answers from Hacker News
- Answers from Quora
- Education details from LinkedIn
- Current & previous work history from LinkedIn
- Personal website URL (and most recent blog posts)
- Twitter account (and most recent tweets)
- Reputation scores on all community sites
These listings could be emailed to the recruiter & hiring manager while the position is open. Ideally, this tool would hook into HR’s existing candidate management tools, such as Taleo (TLEO), Kenexa (KNXA), SuccessFactors (SFSF), Peopleclick Authoria, Bullhorn, Zoho Recruit, Recruiterbox, Resumator, etc. Yes, this is a huge market. There are a lot of players, big & small, old & new, that help manage candidates & employees. But they are all relatively weak at sourcing, especially for the niche of software developers.
This sourcing tool would work well as a premium subscription. A free query with limited results could be offered to test drive the product, with carefully placed upsells to promote a subscription.
I touched upon this briefly, but having a master account holder for an organization may be the easiest model for users, since it’s generally a single buyer within the HR organization. The buyer can then purchase a monthly subscription based on the number of seats, or additional accounts, he/she wishes to give out within the company. There should be an easy upgrade path – like a single click – in case the account hits the seat limit.
I would experiment with this model a bit. It’s possible a seat-driven model drives some users to share accounts, thereby avoiding this payment system. I would highlight the benefits of individual seats though, because knowing an individual hiring manager’s needs can aid in the relevancy of the candidates as well as the potential relevancy score.
There are other payment models to consider too, such as number of search results and number of saved searches & positions.
Other inputs could be added, such as GitHub competitors Bitbucket and CodePlex, or social coding game coderwall. Other developer forums could also be added, such as SitePoint, Dev Shed and CodeGuru, as well as niche communities for specific programming languages, like the Android Developer Forums, Apple Developer Forums, Ruby on Rails: Talk, jQuery Forums, etc. The list is vast.
The candidate profile screen can be continuously tweaked and optimized for hiring managers as well. Perhaps they’d like a photo of the candidate. Or not. A/B testing is our friend here.
I don’t have the market size of software developer recruitment handy, but there are many other professions to consider beyond this one. The value of this tool is its ability to use very niche and relevant inputs, sync a profile across all of them, and return the necessary criteria for evaluating a candidate. For software developers, this means code samples and answers in related topics.
What are other roles that have rich online communities and profiles? How about those in the creative disciplines? For visual designers, possible inputs could be portfolio sites such as Dribble, Carbonmade, deviantART, Creative Hotlist, AIGA, Behance Network, Coroflot, etc.
Question and answer sites may not be as relevant for creative professionals, so repurposing this tool for this discipline would require significant customization on the candidate profile UI. But the underlying platform would be the same.
Although professions with definitive online outputs are easiest to source with this tool, others could be aided as well. For professors and researchers, this tool could fetch their research papers. For lawyers, this tool could fetch their previous court cases. I’m not sure what could be fetched for a truck driver, but with more and more information being recorded on the web, such a platform could become a very powerful recruiting tool.
Photo by: wisdomandwonder.com