Slashdot: Finding your next superstar programmer

A story last month in the New York Times about how one software company located one of its programmers caught my attention. In the piece, it talked about how one firm searched GitHub and other public code repositories, recruited and eventually hired a programmer who is still working there today. And this is someone that they would have never found otherwise, and who had no idea of the firm’s existence before they contacted him.

Turns out this practice is more common than you may think. You truly are what you code, and on the Internet, one can finally tell (despite that popular New Yorker cartoon) if you are a dog. “Finding a truly great programmer is akin to finding an NBA superstar and with the same level of reward.  The very best programmers can easily be more productive than 10 really good developers,” Bryan Cooley told me. He has a great track record with hiring programmers for numerous tech startups that he has founded over the years. He began his latest quest by interviewing around 400 candidates, hiring 12 of them for smaller assignments. “Five of them are among the best developers I’ve ever seen and we keep them very busy.”

There are several non-traditional hiring methods that many tech firms are using, including using programming contests and working with big data firms to find the right people. Some firms are so nervous about revealing their methods that one public relations person emailed me, “because market conditions are currently so competitive re: attracting top talent, we don’t feel comfortable sharing details of our strategy and practices outside the organization.” Wow.

But others were more forthcoming. One of the more popular methods is to employ a coding challenge or programming contest to bring out interested parties, with the top prize being a trip to the sponsoring company’s headquarters to interview for a job. As an example, look at what Facebook is doing in this area. They have sponsored several Kaggle.com programming contests to find the best programmers, and also make use of the site InterviewStreet as well to screen potential applicants. One of their Kaggle contests got more than 400 people to post 3,500 different entries, which is a lot of traffic for a typical contest field of entrants.

You can also build and run your own contest. Renesys Corporation, a leading Internet enterprise software vendor, has posted a series of what it calls “code puzzles” on their website for several years. Martin Brown, manager of their application development team, has doubled the size of his seven-person programming team in the past six years and is a frequent user of the puzzle results. “The answers we get tell us how coders think and whether they follow the problem we have set out and how they write a small piece of code.” Renesys doesn’t specify a particular programming language or really give a lot of guidance to complete their puzzles. “What is important is for us to see how clearly a potential candidate thinks and what kind of insights the applicant brings to solving the problem and using the particular data set,” he said. “One candidate that we did end up hiring wrote his solution in Google Go. That was my favorite.”

 

Brown also looks at how much documentation of their code an applicant provides. More isn’t necessarily better, but how and where someone documents their code is key. The puzzles are really used as a screening tool, the first step in weeding out candidates. Anyone who shines is interviewed by phone and eventually presented with a more complex coding challenge that will take them several hours to complete. “That we look at with great care,” he says. They have had solutions that looked promising but candidates failed the phone interview. “We are really looking to build a top notch team. We don’t want sociopaths who are brilliant coders,” he said.

 

Hiring contests can also be useful for internal guidance, even if they don’t result in an actual hire. Security vendor Impermium sponsored a programming contest on Kaggle. The prize was $10,000 and they had 50 entries, along with an opportunity to interview for a job at the company. While they ultimately did not hire anyone, “the Kaggle competition was useful and we were able to examine many interesting algorithms,” said their CEO Mark Risher via email. “These algorithms, even those that didn’t win, gave insight into emerging fields of research, and even more importantly, helped ensure against tunnel vision, considering the problem from a fresh perspective.”

Kaggle charges a percentage of the overall prize purse, while for as little as $200 a month, InterviewStreet will set up your contest, send out the invites and evaluate and tabulate the results. They support 16 different programming languages, including C, C++, Java, C#, Python, PHP, Ruby, Perl, Javscript, Haskell, Scala, Clojure, SQL, MySQL, R and Go. Haven’t heard of some of these? Maybe it is time to bone up on a few of them if you want to become more competitive.

The InterviewStreet contests will take several hours of concentrated effort and are timed once you start them too. But it isn’t the quick finishers that always get the job done. David Meyer has recently become the VP Engineering for software company OneLogin.com but has hired more than 70 programmers over more than 15 years of working at tech companies. The hiring managers he’s interviewed that use these contests find that tenacity is a more accurate predictor of job satisfaction than elapsed time.

There are plenty of other contest sites, including ProjectEuler.net, HackerRank.com, India-based CrowdAnalytix.com, Innocentive.com for the life sciences and TunedIT.org mainly for education and research projects. Meyer hasn’t used any of them yet, although he is watching the space carefully. He prefers less expensive methods, such as hosting in-person meetups.

But if you don’t have the resources to produce your own code challenges and if you don’t want to track down potential candidates, there is another way. A firm called TalentBin.com will perform these searches across GitHub and other public code repositories and question/answer sites for you for $1000 a month. On their home page, a recruiter for Intuit is quoted as saying that this process helped “us find many highly qualified candidates that weren’t located with LinkedIn and Google searches.” They claim to be able to sift through 300 million programmers. And if you want to learn more, they have published their API online in the interests of openness.

“One thing I do regularly is create events that draw the developer to me,” says Meyer. “For example, when I worked at UniversityNow, we hosted various meetups on education technology to attract developers who were interested in the topic.  While we didn’t hire anyone directly from these meetups, that is how we got the word out on what we were doing and it was quite effective as a marketing tool.” He is planning on doing the same thing at OneLogin to get the word out about his company.

But a contest doesn’t have to take place in the public eye to be effective. You can give your potential candidates sample problems to solve which is the method that Cooley uses. “We ask them to outline a difficult development project and provide a timeline of completion, how they would go about various stages, and any pitfalls they foresee,” says Cooley. He is also looking at what courses they took in college, and if they have studied graduate level mathematics and took advanced theory classes. He is looking for thoughtful people, not just someone who can pump out code. That seems to be the common denominator in the hiring process: coding prowess is just the entry point.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.