Why is it so hard to hire software engineers? Does it have to be so difficult to find good developers?

Those were the questions Quixey employees were discussing over lunch one day last November. As the then 16 employees of the Palo Alto, Calif-based startup scarfed burgers, they also chewed on the question of how they were possibly going to hire all of the software engineers they needed to build out their product: a search engine that makes it easier for people to find the smartphone and tablet apps for work and play. Even though Quixey had raised $3.8 million in Series A funding in August, all the money in the world wasn't going to solve the ambitious startup's recruiting problem.

Indeed, the task of finding and hiring top-notch software engineers is one that cannot be solved with money alone. Across Silicon Valley, startups and tech titans alike are struggling to fill positions for software engineers, recruiters say. Competition for software developers among the Valley's employers is so fierce because an influx of venture capital has created more startups. More companies are pursuing a finite pool of area talent, which means they frequently have to recruit from competitors.

"A lot of companies are realizing how much impact software can have on their bottom line," says Matt Miller, CTO of CyberCoders, an Irvine, Calif.-based IT recruiting firm with clients in the San Francisco BayArea and Silicon Valley. "They're counting on software developers to automate and build out their business processes."

The shortage of software engineers is not just a problem for tech companies in the Bay-area and Silicon Valley. Tech vendors and enterprise IT departments throughout the U.S. are beating the bushes in search of programmers with an exacting mix of technology and business skills. The stakes for finding these professionals are high: If companies can't hire the developers they need, they run the risk of not being able to bring new products to market on time, which impacts revenue, customer retention and competition. They also risk burning out their existing development team, says Shane Bernstein, managing director of Los Angeles-based IT staffing firm Q.

"Competition is so fierce that if you burn out your developers they may leave," says Bernstein. "There are plenty of good opportunities for them."

The Quixey Challenge: A Coding Competition

Over lunch, Liron Shapira, Quixey co-founder and CTO, and team began brainstorming creative ways to find exceptional software engineers. They came up with the idea for the Quixey Challenge, an online coding competition where participants have to fix a bug in a 10-line algorithm in less than a minute. The prize for winning: $100 cash and the chance to work for Quixey.

Using coding competitions to recruit software engineers may not be a new idea, but it is an effective one for Quixey and other companies. TopCoder, a technology crowd sourcing company, began staging coding competitions to help clients across industries recruit top technologists in 2001. In fact, TopCoder ran Google's original Code Jam. TopCoder President Rob Hughes estimates that his company helped clients hire 1,000 technologists who won TopCoder challenges between 2002 and 2006. TopCoder has even patented the online system it developed to rate programmers on the basis of their skills for the purpose of hiring, he says. In addition to Google, Facebook, Sun and Intel are fans of coding competitions as recruiting tools.

Coding competitions make sense for a variety of reasons. For Quixey, it's a relatively inexpensive way to get leads on talented programmers. Since launching the first Quixey Challenge in December, the startup has paid out $35,100 to 351 winners, has hired four full-time software engineers and has leads on hundreds more.

The money Quixey has paid out to winners is less than half of what the company estimates it would have paid if it had sourced the same four hires through a recruiting firm. Shapira says the staffing firms with which his company works charge 20 percent of the candidate's base salary. At $100,000 per year, which Shapira adds is not an uncommon salary in the Valley for seniors graduating from top engineering schools at the top of their classes, that's $80,000 in recruiting costs for four candidates. (Quixey says the cost to develop and run the challenge, which was created by an internal staffer in one month, is nominal.)

Coding competitions are also effective because managers trying to hire software developers often ask candidates to solve complex coding problems during job interviews to discern their technical skills. Coding competitions allow companies to quickly identify up front--before they've even brought anyone in for interviews--which candidates possess the tech skills they need. This speeds up both the sourcing and recruiting process and allows managers to focus on candidates' soft skills and cultural fit during job interviews.

Another reason coding competitions are a good idea is because they give employers access to a wider pool of talent. The Quixey Challenge attracts developers all over the U.S. In fact, Quixey hired and relocated a developer who was living and working in Grand Rapids, Mich. after he won the Quixey Challenge in December.

Shapira, a 24-year-old graduate of UC Berkeley, says a Valley-based recruiting firm would never have found somebody like Marshall Quander, the developer Quixey hired from Grand Rapids. "He was off the radar of recruiting firms," says Shapira. "There's no other way to reach somebody like Marshall, and Marshall is good."

Finally, developers enjoy coding competitions. They like a challenge, not to mention the opportunity to validate their prowess. TopCoder's Hughes says coding competitions definitely attract the right people. The majority of contests his company runs attract developers for the entertainment and intellectual stimulation they provide, rather than the chance to win a cash prize, he says.

Hughes adds one word of advice to companies who may be interested in using a coding competition to recruit IT professionals: "You have to make sure the problems, the different formats and contests, line up with the different skills you need in your organization."

How Quixey Uses the Challenge to ID Potential Employees

Quixey requires developers to complete some practice tests in order to qualify for the challenge. This requirement weeds out individuals with under-developed programming skills by Quixey's standards. It also gives Quixey a better sense of contestants' "engineering IQ." If Quixey engineers see challenge winners who've also performed well on practice exams, they are more confident that those winners are consistently good engineers, capable of solving a variety of different programming problems, and up to the task of working for Quixey.

In addition, Quixey has software that detects which Challenge winners the company should contact about job opportunities. It automatically emails those individuals and encourages them to set up a call with a Quixey engineer to talk about the prospect of working for the company.

If a challenge winner is interested, they'll do a Skype call with one or two Quixey developers during which they'll be asked to write code in real-time while the developers interview them. The next step is an in-person interview at Quixey's office, followed by the job offer (if everything works out).

Shapira says the Quixey Challenge provides the company with "amazing leads" on developers, not to mention more high-quality leads than Quixey previously received using recruiters. He says the candidates that recruiters brought in struggled for 15 minutes or more with the same programming problems that Quixey Challenge winners and eventual employees solved in less than a minute.

Adds Shapira, "The only way we could find these candidates is by doing the Quixey Challenge."

Meridith Levinson covers Careers, Security and Cloud Computing for CIO.com. Follow Meridith on Twitter @meridith. Follow everything from CIO.com on Twitter @CIOonline and on Facebook. Email Meridith at [email protected]