First, realize what you’re trying to do. For better or worse, developers are a highly sought after resource — at least the good ones. But you don’t want the bad ones anyway, so let’s not worry about them. There’s a whole other mindset when hiring newly trained developers, but again, we shan’t focus on that here. So again, developers are a valuable resource in the modern world. I’m not here to debate the merits or the value of developers, just to say that they are sought after. Ask any decent developer how many recruiter emails and calls they’ve gotten in past week. If that number is less than 50, then they’re still working up that ladder. Begin your search for your next developer with the proper mindset that these candidates have options, lots of options. So it doesn’t matter who you are or what your company does, that developer that you’re courting has his or her next best option an email away.
I’m going to assume that you know what skills you want. All technologies are not created equal, and while there are amazing generalists out there, your best bet is to narrow your search for a specific set of skills and technologies. If you can’t spend the time to know what technologies you currently use or want to use, don’t expect to find a person that can solve your problems. You have to invest your time and energy to know what it is that your company needs. If you really don’t, hire a competent developer to help define it for you. PHP programmers tend to be a very different group than Node.js ones. The skillset is obviously different, but more importantly, the mindset can be different as well.
Developers — the good ones — care about their technologies. They tend to go to meetups and conferences to learn more. You should attempt to share their passion. When talking to a candidate, and he asks why your platform was built using FORTRAN, don’t say “that’s what the previous guy did.” Learn the reasons why the previous guy chose FORTRAN. Read up on the benefits of FORTRAN. The downsides. The latest advancements. Developers are turned off when a potential employer seems to relegate technology decisions to the “who cares” bucket of answers. Don’t be that guy.
The person you are looking for probably has a ton of side projects (although probably not many finished ones). Encourage them. Ask them what they’re working on. Ask them how far along they are in these projects. Don’t make them afraid to tell you about their side projects. These are the projects that they’ve chosen to spend their time doing. Instead of being intimidated that they will one day launch their project into a company and leave you, consider it a way to further their skills. It’s unlikely that any developer — or any employee, really — that you hire will stay with you forever. It would be great if they did, but be realistic.
If you can find a way to incorporate their side projects into your company, bring it up. Maybe you can pay them separately to continue to work on their side project on nights and weekends if it will somehow contribute to your company. Once you’ve brought them on board, continue to take an interest and help them in any way you can. Introducing them to a potential future client or partner for their product can be a very beneficial move. It will win you thousands of points in loyalty and appreciation.
It’s become the norm to offer food, casual atmosphere and the like in many workplaces. Unfortunately, that means that these perks no longer stand out. They’re expected. I know, it’s not fair. But sadly, we’re a spoiled bunch. Don’t compete on perks. Compete on environment. I recently left a company after the first day because they insisted that I used a Windows computer. Yes, that’s right. I asked the reasons and stated my preference for a Mac and it was dismissed. I said “[EXPLETIVE] it,” and handed in my notice the next day. Probably highly unprofessional of me and so on, so pass you judgements if you must. I didn’t leave because I had to use Windows. I left because my request was dismissed without even a proper acknowledgement. That was not a welcoming environment that I could grow in.
Flexibility in work/life balance is also key. Sometimes people need to work from home. Let them. Setup your workplace to facilitate this. Sometimes people need to come in late. That’s okay! Don’t count days like you would for a factory worker. Don’t make them punch in and out. These things are unattractive and don’t help productivity. Don’t do them. Be flexible!
Bring on the Benjamins
It’s a highly paid field. There’s no denying that. You just raised $4 million and now it’s time to hire like crazy. Many developers, like most people, are attracted to money. If you have the ability to offer it, then do so. You may value your equity as your most sacred possession, but most other people in the world don’t. You cannot compensate a lack of compensation with equity (in all cases). First, the equity that you’re willing to grant will vest over many years, so the actual value depends on the developer sticking around that long. Second, the future value of the equity is largely unknown. Cash now has a known value. You may find that that is a very attractive thing to many developers. Plus, since you value your equity so highly, you get to keep more of it.
Equity starts to matter once your company has some traction or has a clear path to approaching some liquidity event (acquisition, IPO, shareholder buyback, etc). So make sure you use that card at the appropriate time and not as an arbitrary carrot to dangle.
Sending e-mails and hoping someone responds is not an effective strategy. Our inboxes are bombarded with such emails and unless yours stands out (company name that I like, clear compensation, location, perks, etc) in some meaningful way, it’s likely to be forever “Archived” (or deleted). So if sending out a million emails doesn’t work, what does?
I get asked all the time where people can find good developers. Invariably, my answer is: “other good developers.” This is a tricky thing to do. Even if you’re not hiring, have some good developers in your network at all times. Even befriend them. Go to meetups, with no agenda. Show up to a few of them. Host events. Host meetups. Host hackathons. Embed yourself into a network. Keep good relationships with previous developers that you’ve worked with because often, they can open doors to future talent for you.
So now what?
It’s not easy. The task ahead of you is a formidable one and I wish you the best of luck. If I can help in any way, please don’t hesitate to reach out on the twitters, @shamoons. Focus your search and use your networks in a personal way. Not a resource to blast out generic emails to.