1. Know what you're doing.

It takes a great programmer to spot and hire other great programmers. If you don't have any experience with coding, it's that much harder to know which questions to ask or what separates a mediocre programmer from truly top tech talent.

Ideally, your recruiting on the technical side should be run by other software engineers on your team. They will be most familiar with the technical aspects of your business, so they will know what questions to ask and what to look for in a candidate. They will also be the ones working with the new hire day in and day out, so it is important to have their approval.

If your company isn't large enough to have a separate technical team at this point (maybe you're a one man show for now), there arehiring guides and other resources out there to help you. But you should go into the process aware of the fact that it will be that much harder to hire top tech talent if you do not have a tech background yourself.

  1. Consult with someone who knows what they're doing.

If you don't have a technical background, your first step should be to consult with someone who does know what they are doing when it comes to finding top tech talent. Even if you do have a technical background, you should reach out to colleagues or friends in similar roles who have led a hiring process before. They will often have great tips and advice.

If you don't have close friends or trusted colleagues that you can go to with these questions, there are plenty of other resources out there to help you as well. Freelance sites like Toptal will take the entire vetting process out of your hands, since they heavily screen their network of developers instead. You can even tell them you need something as vague as afront-end developer for your project and they will match you with the best person for the job.

  1. Leverage mutual connections.

Once you have narrowed your list down to your most wanted potential candidates, you should start leveraging any mutual connections you have with the people on that list. Maybe you went to the same school, shared a mentor, or are connected through a mutual colleague or friend. If you can get an introduction from these connections, that will go much farther than simply cold-calling candidates.

It is helpful to even just mention these connections in the interview setting to help develop a rapport with the candidate. If you can't establish any mutual connections, it's definitely not the end of the world, but establishing a shared connection or even getting recommendations from those in your network can work wonders in helping you find and hire top tech talent.

  1. Get creative with your search.

Technical blogs, hackathons, conferences, and open source sites can all be great places to find top tech talent. It is also likely that candidates you find in these places will be even more passionate about programming, since they spend their free time contributing to open source, writing a technical blog, or attending hackathons and conferences.

Universities can also be a great place to find top tech talent, although the candidates you find here might come with less experience. Try reaching out to CS professors to get recommendations of top students, or simply email CS listservs at top universities with an outline of the job opportunity.

  1. Improve your web presence.

No one does anything these days without Googling it first. Whether it's deciding what you want for dinner, what jeans you're going to buy, or where you will plan your next vacation, most people turn to Google for information related to every small decision.

So when it comes to a decision as big as taking a new job, you can bet that your candidates will consult Google for any available information on your company. When they do type your business's name into the search bar, you want to make sure the results they get back will do nothing but increase their desire to join your company.

This might seem obvious, but you should have a clean, professional website with information about what it is like to work at your company, the teams your candidates would be working with, and even video of current employees describing their experience. An active, professional social media presence is also encouraging to find.

  1. Use code tests to weed out bad candidates early.

In order to avoid wasting your time, and that of the candidate, you will want to weed out bad candidates as early as possible with as little effort on your side as possible too. Before even speaking to a candidate on the phone or in person, send them a code test using a service likeCodility .

You would be surprised how even something as simple as a 'Hello World' test can weed out a huge portion of candidates who claim to be programmers but really know nothing about coding. This first test should not be complicated, but it should prove that the candidate has a basic working knowledge of programming.

  1. Do your research.

You want to be an informed interviewer. Even if you're top tech talent yourself, it might have been awhile since you've gone through the interview process yourself. Or maybe you've shifted into a manager role and it's been awhile since you've done any hard core programming yourself.

Read up on current best practices in your programming language so you will be prepared with the most up-to-date information. If you don't have a technical background, browse some of thesefree programming books to get a minimum working knowledge.

  1. Ask the right questions.

Depending on the stage of the interview process, you will want to focus on different questions with your candidates. In the initial phone screen or first round interview, ask questions to test the candidate's intelligence and ability to think on his or her feet. These questions don't necessarily have to be technical - you just want to make sure the person you might hire is smart and a problem solver.

In later rounds, focus on more technical questions and coding tests. This will help you determine which candidates are top tech talent it which candidates are simply smart people, but maybe not the right fit for your job.

  1. Money doesn't matter as much as you might think.

OneLinkedIn study examined the most common factors that motivate candidates when looking for a new job. Although compensation did make the list, other equally or more important factors include opportunities for advancement, challenging work, fit for skill set, learning opportunities, and benefits.

Perks and flexible schedules are becoming increasingly mainstream in the tech industry, so you will probably have to set up something there in order to compete with other companies. But it can be just as beneficial to emphasize some of the other categories during the interview process, such as challenging work and learning opportunities. Mediocre developers might be scared off by the phrase'challenging work' but top talent won't be.

  1. Promise mentorship and development.

As mentioned before, there are a lot of things just as important as, or even more important than, the amount of money candidates will make in a certain role. But beyond perks and flexible schedules, the best tech talent will want something even more important - mentorship and development.

If a candidate doesn't feel like he or she will grow in expertise or career at your company, they will probably go somewhere else. Have interviewers discuss their own experience with mentorship at your company, and if you can, have at least one interviewer who started at your company in a similar role to the one you're interviewing for and has gone up in the ranks since. Also consider setting up a formal mentorship program within your company.

distributed by