The war for developer talent is hotter than ever. Whether you're trying to build mobile apps, redesign the user experience on your public website, or keep business-critical applications on the cutting edge, everyone needs code.
"Engineers are king right now," notes Sam Schillace, senior vice president of engineering at cloud storage and collaboration company Box. "Coders are superimportant to everyone."
With an unemployment rate roughly half the national average, software engineers can write their tickets and demand generous salaries and legendary perks -- and big tech companies are more than happy to provide them.
"At last count, there are nearly five job openings for every developer," says Bethany Marzewski, segment marketing manager for developer job site Stack Overflow Careers 2.0. "When developers have their pick of four other job offers, savvy companies have recognized that recruiting a quality candidate means doing more than posting on job boards. They need to stand out."
But how can you stand out when you're going against the Googles, Facebooks, and Twitters of the world? It's not easy. But there's more to building great dev teams than six-figure salaries, gourmet lunches, and foosball.
To hang with the big dogs -- and snatch top talent from their hungry maws -- you need to follow these seven simple rules.
Developer hiring rule No. 1: Hire slowly
It's an old rule, but a good one. If you hire A-level developers they will recommend other A-level developers to you, because they only want to work with the best. If you hire B-level programmers, they will recommend C-level programmers so that they'll look better by comparison
"One of the worst things in the world you can do is build your first 10 employees with B-level people," says Steve Newcomb, founder and CEO of Famo.us, which is bringing 3D rendering technology to the Web. "You will end up with 100 C-level people. That's why we hire very slowly."
Famo.us employs a "try before you buy" philosophy, offering a series of two-week consulting contracts to the 5 to 10 percent of applicants who make it through the firm's rigorous screening process. At the end of every evaluation period, the potential employee must present what he or she has been working on. The rest of the development staff then votes on whether to keep them, evaluate further, or kick them off the island. The vote has to be unanimous for someone to be hired or asked to leave.
"We even play the music from 'Survivor' while we're voting," says Newcomb. The longest eval period lasted six months, he adds. That was for his first employee, now head of tools for the 10-person startup.
Developer hiring rule No. 2: Stay away from "rockstars"
If you want to build a world-class dev team, you need more than one superstar. You don't want to blow all your resources searching for Superman; you want to gather the Avengers.
That's because the best software isn't built by one person; it's created by teams. Having one star and a bunch of second-tier programmers can be really destructive, says Kyri Sarantakos, VP of engineering at TheLadders, a job matching service.
"The term 'rockstar' creates a perception that the individual developer is greater than the team," Sarantakos says. "Great software products are built by teams, and truly great teams fully leverage the individual strengths of their members. If you have problems that can be solved by a single lone 'hacker' working late into night alone, I'd venture that your problems are too small or your solutions are too inadequate."
The other problem? Relying too heavily on a few top devs to carry the load can leave you vulnerable to the "run over by a bus" problem, notes Alvin Richards, technical director of performance and quality at MongoDB, an open source NoSQL database vendor.
"You can't be dependent on just one or two people, because if they are run over by a bus then you will be in a world of pain," he says. "You need redundancy and flexibility, and to have as many eyes as you can focusing on a problem at any one time."
Of course, all developers are not created equal. If one or two devs rise above the others, you can raise everyone's game by sharing the knowledge between them, says Edward Hieatt, chief operating officer at Pivotal Labs, a software consultancy that teaches paired-programming techniques to its clients.
"What you want is to get the best out of everybody," Hieatt says. "When you're paired with someone who's better than you are, you can learn what's in their head at an amazing rate. So instead of the 80/20 rule where there's one superstar and four OK people, the idea is to get everyone up to 100 percent. That's much more powerful."
Developer hiring rule No. 3: Go for talent, not longevity
If you're doing your job correctly and hiring the right people, you're unlikely to hang on to them for long, notes Famo.us' Newcomb. Top talent will almost always move on to better things, so you need to get as much out them as you can in the time you have, while continuing to bring in fresh blood.
"I've always said I'd rather rent gold than buy silver," says Newcomb, now on his sixth startup. "I have several people right now I know I'm going to lose eventually because they're just too good. I know they're going to found their own companies. So I just tell them, 'Code fast -- give me everything you've got right now.'"
When TheLadders recruits fresh talent, it isn't looking for coders who want to hunker down in one place for the next 20 years, says Sarantakos. One of the firm's strongest selling points is that anyone who signs on will leave the firm a more polished and more valuable employee.
"You need to be honest and realistic with the Millennials," he says. "They want to make a big impact on the world with their work. So we tell every developer that comes in that we offer a lot of hard work and growth, and if they stick around they will leave a better engineer than when they came in."
Playing up the investment not only makes TheLadders a more attractive place to work, it also benefits the company as a whole, adds Sarantakos.
"We'd much rather have our developers learn new skills and eventually leave, than not invest in people and have them stay," he says. "It's better for us and for our customers."
Developer hiring rule No. 4: Cultural fit trumps coding finesse
There's another reason you don't want to hire "rockstars" as part of your team. They can be total jerks.
For most organizations, cultural fit is often as important as coding skills, if not more so. When employees at Famo.us vote on new hires, half of the score is based on coding skills, the other half on how well a person fits in with the rest of the team, says Newcomb.
"So we have rules," he says. "Rule No. 1: No prima donnas and no 'brogrammers.' We don't want people with egos and attitudes, we just want to get work done."
At Cornerstone OnDemand, a cloud-based talent management software company, new developer hires must be able to think through tough issues and resolve them, says CTO Mark Goldin. But they also need to be able to work as part of a team.
"There have been a few instances where we've interviewed a candidate that was a great programmer, but didn't have the soft skills to be a team player," Goldin says. "They came off as though they thought their way of doing things is the only way. Or, when asked a tough question, they might shrug it off and say, 'Oh, I can just Google that and figure it out.'"
In fact, the team itself may be your strongest weapon in convincing developers to sign on, because it's what distinguishes you from other potential employers, says Stack Overflow's Marzewski.
"In hypercompetitive markets where everyone has standup desks and Aeron chairs, tech companies are learning to sell candidates on the only elements that set them apart from their competitors -- their product and their team," she says. "To get noticed by candidates, organizations evangelize their developer team by sending them to speak at tech conferences; they host events and functions in their own spaces to bring candidates in the door; they lead with their core mission to find candidates whose values align with theirs."
Developer hiring rule No. 5: Being small can be your secret weapon
Sometimes being a smaller company is more appealing to many top devs.
Coders want to code. They don't want to wade through endless layers of bureaucracy or feel like tiny cogs in a very large impersonal machine. Small to midsize companies can use this to their advantage when going up against the Facebooks and Googles of the world, says Box's Schillace.
Schillace says that when the 900-person firm goes head to head for an employee against a certain well-known advertising and search giant, he pulls out his trump card.
"My single greatest competitive tool is a single word, which I use with people who tell me they want to work for Google," he says. "That word is 'Microsoft.' I think Google has had a pretty good run, but it's gotten so massive that it's difficult to be nimble any more. At Box we give developers a different challenge. We're big enough that the problems we have to solve at scale are massive, but still small enough that we can move fast and any one coder can have a big and lasting impact."
Schillace says if someone ultimately chooses Google, it's usually for reasons like comfort and security, which are antithetical to the startup mentality Box likes to foster in its devs.
Startups that can't match the big salaries offered by the Facebooks and Googles of the world can offer a more intimate experience that's attractive for engineers fresh out of school or new to an area, notes Will Harlan, director of new business for Yeti. The 10-person mobile and Web apps design and development shop holds weekly barbecues for employees and their friends on its rooftop patio.
"It's more about how the person fits in with a group of people, what their interests and passions are," he says. "In the tech world there are a lot of people with the same skills who can do the same things. At the end of the day you want to work with people you can hang out with, have a beer, and shoot the breeze."
Developer hiring rule No. 6: It's the work, stupid
The companies that offer the best payouts in terms of financials and perks are often lacking when it comes to less tangible rewards like job satisfaction. The bigger the company, the smaller your role is likely to be, at least at the start.
"What motivates the best developer is the work," says Dan Pasette, director of kernel engineering for MongoDB. "People are willing to take a risk and take a bet on a company that's paying a little less than a Google or a Facebook, simply because they want to make a difference and see their code in action."
Like everyone else, developers want to feel like they're contributing something useful to the world, even if it's simply a better way to store and share work data, says Tom Carpel, a senior software engineer at Box.
"Implementing a button where 14-year-old girls can like the photos other 14-year-old girls just posted is great, but building a system where hospitals and schools can be more efficient is much more appealing," says Carpel. "I am under no illusion that what I do at work saves lives, but I know I'm doing something useful. I'm not sure how excited I would be about enabling 14-year-old girls to like photos."
Developer hiring rule No. 7: Open source tips the balance
For many developers, the deciding factor often comes down to the opportunity to work with an open source company.
"There are a lot of advantages to being an open source company," notes Tim Clem, who oversees product and corporate strategy for GitHub, the open source collaboration platform. "You can leverage a much larger base of people who are building things just for the love of it. It's nice to have that kind of visibility into a product. Once you understand the advantages of using open source technology, it's hard to do anything different."
Clem adds that GitHub avoids publicly posting new jobs because it gets overwhelmed with applicants. Instead, it uses personal referrals and devs' own history of code commits to filter potential employees. Code doesn't lie.
"The best job applicants build things for me," Clem says. "They redesign part of GitHub and put it on Hackernews, or they take apart an app like GitHub for Windows and tell me what's wrong with it. It's the reverse of the normal hiring process."
There are a lot of places where a talented developer can go, especially in the Bay Area, notes Herb Cunitz, president of Hortonworks, a company that helps enterprises integrate Apache Hadoop. Being an open source company working on big data questions gives Hortonworks a natural advantage for software engineers who want to work on the cutting edge, he says.
"We believe an open source community, if stewarded and led by the right people, can out-innovate any individual technology company at any time," he says. "But developers don't just come to you for the technology. What they're really looking for is whether they can be part of something special -- a real journey into something that's fundamentally changing the market and driving innovation."