10 Rules for Hiring Great Programmers

How to Find and Hire Programmers for Your Tech Needs

Find and Hire the Best Programmers for Your Tech Needs
Find and Hire the Best Programmers for Your Tech Needs. Peter Dazeley | Getty Images

Every online business needs a programmer. Even if you are not in the tech industry, your business still needs websites and apps.  You can hire a developer full-time, but this is costly and the good ones don’t usually stay long. So it makes sense to hire a developer only when you need one. But where to start?

Findingthe right developer can seem overwhelming, but it is extremely important to hire a developer who is a good fit.

You don’t want to hire the first John Doe who claims to know Ruby and end up with a hack job of a website. To avoid that horror, use the following advice, regardless of whether you are hiring a developer to work short- or long- term, remote or in-office.

1.    Hire professional team players, not rockstars.

For a small project, you might only need to hire one developer, but most great products are built by teams. Many people are tempted to hire coding “rockstars,” who often come at a premium, and neglect to think about their team. Coding “rockstars” are often expensive, which can take finances away from hiring other members of the team.

It is also important not to put all of your eggs in one basket. If something happens to your programmer or you have a falling out, you do not want to be left in the lurch.

2. Take your time.

Hiring the right programmers takes time. Combing through resumes is painstaking and the rest of the interview process takes just as long.

Checking referrals is a nightmare and coordinating schedules can be impossible.

With this in mind, it’s tempting to turn to freelancing sites. However, many of these can lead to results that are even more frustrating. Sites like Freelancer and Elance do not screen programmers and you will often end up with the cheapest developer instead of the best.

However, some sites do not fall into this trap. For example, Toptal is a site for elite freelance developers where teams of engineers screen every applicant and personally matches you with the right developer. This approach allows you to find quality talent within a few weeks without needing to shovel through dozens of resumes.

3. Don’t be afraid of inexperience.

If you find smart, dedicated people, you should hire them even if they don’t have much experience. One of the best ways to snag top talent is through internships. Internships offer a testing period where you not only get someone smart to work on your company’s projects, but you can also test and groom interns for future employment.

College students are often eager for experience and many of them are very talented. Recruiting on campus is great, but if you are not able to do that, you can always target CS departments at different universities through connections and professors that might be able to recommend top students. A personal letter or email encouraging a student to apply for your internship can go a long way. If it works out with an intern or two, you can send them off with a job offer at the end of the summer.

Internships are not a source of free labor and there are laws to govern how internships need to be run.

Check out the United States Department of Labor for information on how to run an internship program.

4. Professional referrals are great; your wife’s cousin is not.

Personal referrals are often the best source for finding programmers. Utilizing personal networks can be very tempting since quality people seem to associate with other quality people. It is great to access a personal network; however, it is important not to hire someone just because you know him. Hiring friends and family may not lead to the best quality and can lead to problems in the relationship.

5. Look for problem-solving ability.

Technical ability is important, but many of the best developers can pick up different languages quickly and adapt as new technology emerges. Something that is always relevant, though, is problem-solving ability.

A great way to test this in an interview setting is by giving your potential employee a problem and letting him solve it in whatever language he chooses. This method showcases how they work through problems and create solutions.

6. Prioritize communication.

Communication is key all the time, but especially if you are working with a remote team. Some teams might be spread out across different time zones, so availability will be an important issue. Other projects might have a tight timeline and you will run into problems later if you do not communicate this with your team early on. Further, you need everyone to understand your project vision. All of this requires constant and clear communication.

Test for communication by including a phone, video conference or in-person interview in your hiring process. One great tip is to ask candidates to give a presentation on a past job or specific skill of theirs. This not only allows you to see communication ability, but also passion and past work.

Communication skills can also be tested through writing samples. 37Signals advises that you should always hire the better writer when picking between candidates. Clear and concise writing demonstrates the ability to organize thoughts.

7. Test the basics.

You would be amazed at the number of people on the internet who call themselves programmers, but can’t program. To avoid frustration, start your interview process with a very simple programming test that can be conducted online. Your goal with the test is to weed out candidates that don’t have the skills you need. You can turn to services like Interview Zen or Codility to perform this part of the interview.

8. Ask to see past code.

Any example of past work can be helpful in an interview process. Because of confidentiality clauses, you may not be able to see the actual code of past projects, but you should be able to see the end result (i.e. a website they built) or get a referral from past clients.

9. Test with audition projects.

You would never buy a car without a test drive and you should never hire programmers without a test project. A programmer might make it through every round of the interview process and seem like a great fit, but fail to deliver once hired. A test project will prove how the programmer actually works instead of how they say they work.

You can even begin by hiring programmers on a trial basis before making the commitment to hire. You can do this by hiring programmers as a consultant for their first project or by including a probation period as a condition in their employee agreement.

10. Beware of “hiring for fit”.

This may be controversial since most similar articles will encourage you to prioritize “fit” when hiring a programmer. But it is important to remember that you are hiring a programmer for your company, not a drinking buddy or new best friend. Yes, it is important that your programmer fits into your team environment, especially in terms of vision and communication, but be careful that you don’t hire the programmer simply because he went to your alma mater or plays the same sports as you. These things provide little indication for how programmers actually work or how they will fit into your team.

About the Author: Drew Hendricks is a tech, social media, and environmental addict. He's written for many major publications, such as Forbes and Entrepreneur.