The war for talent. It’s the latest metaphor for the challenge that tech companies face as excitement is building in Silicon Valley again. Well, not really — McKinsey coined the phrase in 1997 and used it as the title of a book published four years later.
But anyone who has been trying to hire great software engineers in recent months knows how hard it is to do so. Particularly for folks like me who are trying to hire data scientists — apparently there’s a national shortage. This is nothing new — as Joel Spolsky noted in a 2006 post, “the great software developers, indeed, the best people in every field, are quite simply never on the market.”
I’m not an expert (or ninja) on the subject of recruiting or employer branding in general, but I’ve seen enough of how companies go about hiring software engineers to know that we can do better. I’d like to share some of my thoughts and experiences, and I hope that you will reciprocate and share your thoughts in the comments. I’m especially interesting in hearing from folks who are at universities (aka hunting grounds) or who are involved in organizing academic conferences.
First, let’s talk about how we measure success. As Lord Kelvin famously said, “If you can’t measure it, you can’t improve it.” I’m not going to talk about how to handle active candidates — that’s a filtering problem which, in my opinion, is much more tractable. For example, see what Joel has to say about interviewing developers. Rather, I’m concerned with the challenge of discovering qualified passive candidates and converting them into active ones. Hence, I propose we make our metric the number of qualified applicants.
The baseline strategy is sourcing, i.e. have sourcers or hiring managers scour the world for qualified candidates (there’s an app for that), entice them with your best recruiting pitch, and then go hog wild on the folks who respond. The success of this strategy depends mainly on the rate at which you, your sourcers, or your hiring managers find qualified candidates — which in turn may split into the two subtasks of finding candidates and filtering them — and the conversion rate for the qualified candidates you find. Since the best candidates are often happy in their current positions, sourcing passive candidates requires a lot of work and a thick skin for rejection.
What are other ways to attract qualified passive candidates? Here are a few, with examples from my experience at LinkedIn:
- Hosting events. Last week at LinkedIn, we hosted CMU professor Christos Faloutsos, who delivered a fantastic talk on “Mining Billion Node Graphs” — a topic we thought interesting enough to justify opening up the talk to the general public. We had a few hundred guests, many of whom are precisely the kinds of folks we are trying to hire. Even more people watched the live stream online or will watch the video when we post it to YouTube (coming soon — stay tuned!). While this was not a recruiting event (we did not even announce that we are hiring), it was a great opportunity to associate LinkedIn with the hard computer science problems we solve on a daily basis.
- Sponsoring events. Sponsorship is tricky — if you’re not careful, you spend a lot of money for a glorified display ad. Sometimes sponsorship offers speaking slots as part of the package, but audiences are rightfully skeptical of speakers who have paid for their slots — especially at conferences that charge hefty fees for attendance. But sometimes sponsorship works. For example, LinkedIn’s was a sponsor of the O’Reilly Strata Conference, and the perks of sponsorship complemented our earned speaker slots, helping us bring enormous visibility to our data scientist team and its recent innovations like InMaps (we has a booth there to print attendees’ InMaps) and Skills (which launched during the conference). While Strata generated few direct leads, it left a lasting impression in the big data community, and I regularly hear candidates refer to it.
- Participating in events. As the Beatles tell us, money can’t buy you love. If you want to make an (positive) impression at a conference, you have to contribute people and ideas. This is especially true at academic conferences, where attendees quickly throw out the the extra weight in their tote bags and focus on the conference’s content and professional networking opportunities. It’s great if you are Microsoft with a team of close to a thousand researchers and can dominate a conference like SIGIR. But smaller companies can still make a strong impression on researchers — and especially on students who may be looking for internships or full-time positions — by taking an active role at conferences. The traditional approach is to submit papers to the main conference track — but other avenues include tutorials, workshops, and industry events. Such participation is often invited, but such invitations are in turn earned by cultivating relationships with researchers — especially the ones who find themselves on organizing committees.
- Contribute to open source projects. The Search, Network, and Analytics (SNA) team at LinkedIn contributes frequently to open-source projects and publicizes some of its work at http://sna-projects.com/. Open source projects are a great way to earn the respect of engineers who value source over PowerPoint. Especially when your employees include committers to key technologies like Hadoop. Moreover, open-source projects are social communities, so contributing to them offers opportunities for employees to interact with potential hires.
- Social media. By now, I’d like to think that marketers understand social media to simply be another set of marketing channels. But I think the territory is still pretty new for employers. Here is a simple suggestion: encourage (but do not try to force) employees to express themselves professionally online. Enforce the standard non-disclosure rules, of course, but don’t try to manage their voices. Authenticity speaks for itself — for example, look at what Adam Nash says about LinkedIn on his personal blog. Or my own posts here. Engineers don’t read press releases or corporate blogs, but they do pay attention to their peers. And there’s nothing unique about blogs — the same principle applies to platforms like Twitter, Facebook, Quora, and of course LinkedIn. Not all employees enjoy being online extroverts, but those that do not only act as brand ambassadors, but also are likely to eventually strike up conversations with passive candidates about employment opportunities.
Finally, don’t forget measure the results of these efforts! Some activities generate leads directly, in which case you can make an apples-to-apples comparison of their results and costs with the baseline strategy of sourcing. It’s harder to measure the longer-term effect of efforts to raise visibility, but you can at least ask candidates if they are aware of those efforts — after all, efforts to raise visibility should be visible to candidates! You can also ask candidates if those efforts were a factor in their decision to apply. These measures aren’t perfect, but they are a lot better than nothing, especially when you’re trying to decide how best to invest limited resources.
Of course, even an optimal strategy can’t substitute for offering a combination of interesting work, competitive compensation, and a work hard / play hard culture. As with all marketing efforts, you need to start with a great product. But great products don’t sell themselves: you need to invest in a combination of outbound and inbound marketing to have a fighting chance in the war for talent. Good luck! And, in case you didn’t notice, we’re hiring!
10 replies on “Winning the War for Software Engineering Talent”
Great points! Most companies still treat recruiting as a discrete activity when they need to fill a particular position. It should be more of a long-term process if you really want excellent people. It’s building relationships, not collecting resumes.
Greg, thanks for pointing that out. I’m so used to recruiting as a continuous organizational activity that I forgot that not everyone sees it that way.
Daniel, another interesting post – I honestly don’t see how you find the time…
A few thoughts…
1) Try to give recruiters a deeper understanding of what makes a great developer and how to gauge these attributes: innovation, leadership, adaptability, accountability, productivity, demonstrated accomplishments, and being passionate about their product’s quality and efficacy to the end user.
2) Recruiters should share interesting resumes with their peers hiring for other groups. For example, an engineering recruiter might share a resume with a product management recruiter, and vice-versa.
3) Recruiting should not be so “opening-driven” when evaluating candidates. Sometimes, a great resume may cross a recruiter’s desk, but because the resume is not a good match for a current opening, the resume is tossed.
4) Correct common misconceptions throughout the organization such as: Only someone who has done X before is a good candidate for a position doing X. Sometimes, violating this principle is the best way to inject fresh ideas into a team.
5) If companies want to attract the “best and brightest,” they should:
a. Take their product’s quality and efficacy very seriously. The best way to achieve this is to have the developers and product managers *use* the product/site – extensively.
b. Demonstrate to the world that innovation is alive and well in their organization by periodically introducing non-incremental, technologically-innovative products and product features that are truly useful, thus demonstrating a deep understanding of the end users’ perspectives.
6) The Mining Billion Node Graphs event was a great idea. I REALLY wish I could have attended but something came up at the last minute. My only suggestion for improving your “recruiting ROI” for this event would be to have explicitly incorporated open networking in the event announcement page schedule.
– Improve Recruiting
– Make job criteria more flexible
– As a company, demonstrate excellence and innovation
– Incorporate explicit networking periods at public events
You’ll find this Top Prospect analysis interesting: http://techcrunch.com/2011/06/07/a-look-at-whos-winning-the-talent-wars-in-tech-hint-it-rhymes-with-twitter/
I’m concerned with the challenge of discovering qualified passive candidates
Have you tried exploratory search? 😉
Richard: great thoughts. And I find the time to share my ideas here for the same reasons you — to make the world better (at least by our own objective functions).
Soes: thanks! As you can imagine, that infographic has been making the rounds at LinkedIn. We’ve also done some of our own analysis — hopefully will be able to share that publicly.
Jeremy: you don’t say? 🙂 Stay tuned — I’m certainly spending quality time with the search team.
It always amazes me that with all the servers, bandwidth and tech-talent available, the internet still can’t do computer matching for 1 dating, 2 househunters and 3 jobhunters. Where did the entrepreneurs miss out on the fact that all three above would PAY for their service.
Actually LinkedIn does matching for job hunters and employers. It’s not perfect, but it is good enough to generate significant revenue. No idea how good the current quality is for dating. House hunting strikes me more as a problem of combining data availability, rich metadata, and good exploratory search.
[…] candidates — that is, how to persuade candidates to join your team once you have found and interviewed them. Since not everyone has the opportunity to work at LinkedIn and experience […]
What are the characteristics or skills of a “top talent” software developer? I believe that most managers, headhunters, and others do not fully understand the skill set of great developers. It might be interesting if you would write an article on this topic.