1. Business
  2. Hiring

How to Hire a Quality Programmer

Sponsored Content

This sponsored post features a product relevant to our readers while meeting our editorial guidelines for being objective and educational.

Hiring a programmer usually means one thing. You've got a great idea, and you want to make your idea into a reality. The idea is your baby—you've probably invested a lot of time, energy and creativity in thinking about it. How can you make sure that the programmer you hire will give it the care and attention it deserves? And more importantly, how can you be sure that a programmer has the skills to make the absolute best of your idea?

In this tutorial, we'll look at the steps you should take to hire a quality programmer, and how to check they've got the right coding skills for your needs—using tools like Tests for Geeks.

Step 1: Know What You Need From a Programmer

Before you hire a programmer, you need to get very clear on what you expect the programmer to do. You need a precise vision of what you expect the final app, website or software to look like.

  • What will the app help people to do?
  • What will it look like?
  • What functions will it include?

The more detailed you can get, the better.

Serial entrepreneur Scott Duffy puts it this way in his book Launch!:

If you paint an incomplete picture of your intended outcome, you’ll get something that only vaguely resembles what you had in mind.

Duffy learned this lesson the hard way when he hired a team of developers to create a website for a healthcare startup. The website they created was a "disaster". In Duffy's own words:

The graphic design, the look and feel, the user experience, and the functionality were all wrong. To make matters worse, I had planned to use the site for an investor presentation later that week. Now I would have nothing to show.

Why did this happen? Duffy reflects:

I had given [them] a general project description, expecting them to fill in the blanks when I hadn’t really thought through everything myself... Because I had been so vague with regard to what I wanted, they had been forced to make decisions for me. While some were good, most went against my vision for the product.

In other words, you need to know exactly what you expect from the programmer you're hiring. Programmers aren't mind readers!

This step also includes getting clear on the technical skills you'll need the programmer to have. What programming languages do you need them to be proficient in?

If you're completely stumped by this question, it's worth investing an hour or two to develop your own technical knowledge. Of course, that's not nearly enough time to learn a programming language. Rather, you should make yourself familiar with the language or languages that a programmer will need to complete your project. This is especially important when it comes to completing step 5 (below).

Finally, think about the soft skills you need the programmer to have.

  • Will they be working as part of a team, or on their own?
  • What communication skills do they need? How often do you want to be in touch with them? Will they be required to give presentations?
  • Will you be supervising them closely, or expecting them to manage their own time?
  • Will they be working to tight deadlines?

We'll look at how to check they've got these skills deeper in this tutorial.

Before you do that, there's something you need to check for that's just as important as their skill-set...

Step 2: Look for Passion

Programmers with passion care about their craft. They'll give their best to your project because they enjoy their work.

Passion also matters because quality coders spend years mastering their craft. Entrepreneur Brian Feldman explains:

One basically has to be an autodidact to learn programming. It takes years of practice to learn everything necessary to get beyond just a basic level where you can write short programs that work. No one has ever become a great programmer just by taking classes or reading books. It takes hours of practice.

Author, coder and entrepreneur Matt Linderman suggests four attributes of programmers that demonstrate passion for coding:

  1. Do they have strong opinions about coding? Programmer Jeffrey Hardy says: “When people have strong opinions about things—when they can talk at length about something—it’s a good indication that they’re passionate about it.”
  2. Do they contribute to open source projects? Developer Jarkko Laine writes: "The amount of open source involvement often shows how much a candidate truly cares about programming." If you're tech-savvy, then you can also check the quality of their work on open source projects.
  3. Do they write code in their free time? This shows that, for them, coding is more than just a job.
  4. What have they mastered other than coding? The ability to master something shows that they're determined to be the best.

Now you know what to look for in programmers, let's dig into where to find programmers for your project. But before we do that, there's one more thing to consider...

Step 3: Set Your Timeframe and Budget

How quickly do you need the project to be completed? What's your budget for the project?

Quality coders tend to be more expensive. And if you need a fast turnaround, that can push up the price even higher.

That said, you can find quality programmers on a budget if you're willing to take risks, and hire someone with more passion than experience. You can reduce these risks by being very clear on what you want (see step 1), and by making sure the coder you hire has got the right skills for the job (see step 5).

Step 4: Find Programmers for Hire

Now you know what to look for in a programmer, and your budget, you're ready to reach out and look for a programmer.

Here's how you do that.

Look in Your Network

Your network of contacts is a great place to start looking for a quality programmer. That's because your network is made up of people you know and trust, and people in your network will put you in touch with programmers they know and trust. As such, you'll be working together from a starting position of mutual respect.

When someone in your network passes on the details of a coder, ask your contact:

  • Have you worked with them before?
  • What project did you work together on?
  • How was the project? What went well? What could have been better?

If they've worked together before, then you'll know the programmer has a good track record. However, don't worry too much if they've not worked together previously. There are other ways of finding out whether the programmer is a good match for you, which we'll come to in the next step.

Search LinkedIn

LinkedIn's primary purpose is to help with recruitment, so it's a good resource when you're looking to hire a coder—especially when you've got a limited recruitment budget.

Rebekah Campbell, founder of Posse, explains why she uses LinkedIn for recruitment:

As a small-business owner, I recognize that building the right team is crucial. We only have room for A-plus players, who will always be in good positions and may require quite a bit of convincing to leave. LinkedIn gives us access to the passive job hunter market that used to be available only through expensive recruiters, and it helps us seek out top quality candidates from within other companies.

LinkedIn's advanced search tool is a good place to start. You can use keywords to narrow down people by skill-set, including the coding languages they know. You can also search by location, current job title, and how closely connected someone is to your network.

When you've found a potential candidate, check out their profile. Pay particular attention to their recommendations, which show you what other people think of their work.

With a free LinkedIn account, search tools and search results are limited. If you're recruiting for a major project or a long-term hire, then it's worth upgrading your account to give you better search results, and greater access to potential candidates.

An alternative to using LinkedIn's advanced search is to join groups where programmers hang out. There are groups that cover all the main programming languages. A bonus of joining a group is that you can message group members for free, without paying a LinkedIn messaging fee.

Browse Github Portfolios

GitHub is one of the most popular tools among programmers. It's where they go to work collaboratively on projects and to share code.

The great thing about GitHub is that it lets you see the actual work of programmers. If you've got a basic understanding of code, this means you can check their work for yourself.

As a CNET article puts it:

From small startups to established, household name powerhouses, GitHub is now seen as the go-to place to spot quality talent.

Of course, you may not understand code to a level that would make GitHub a useful recruitment tool. If that's you, then there are other ways of checking a programmer's skill level.

Step 5: Check They're Right for Your Project

You know what you need from a programmer and the project you'll be working on. You've found suitable candidates and checked their resumes. What next?

Your next step is to find out more about them. You want to see whether they've got the skills they claim to have, and find out whether they'd gel with your team.

It's best to complete this step in two stages:

  1. Check their programming skills. That way, you'll see if they're as good as they claim to be, which also gives you insight into their overall character.
  2. Invite them to pitch for your project.

Let's look at each of these in depth.

A really simple, low-hassle way to check out their programming skills is asking them to take an online test with a service such as Tests for Geeks.

This will help you find out exactly how good they are at a programming language, without you needing to have any technical knowledge yourself.

With Tests for Geeks, you can test three candidates for as little as $29.95, or 10 candidates for $59.95—a tiny investment considering the hassle, cost and wasted time of making the wrong hire. 

For more robust needs, they offer scalable pricing options, such as unlimited testing for one month at $99.95. Also, If you purchase ahead, you’ll receive steep discounts: unlimited testing for three months with a 40% discount, 50% off at six months, and 58% off when purchasing a full year.

The languages you can test on Tests for Geeks include:

  • PHP
  • HTML and CSS
  • .NET / C# JavaScript
  • Python
  • Java

You can also test a candidate's aptitude at developing databases and apps for iOS and Android.

Tests can be set up in just a few clicks, and you're given a clear overview of what each test covers.

It's a simple process to setup a test and send a link to a job candidate. Simply choose the test subject and click "Create Test for Job Candidate." 

After adding a job candidate's name and saving their contact information, you'll then—at the click of a button—generate a link to the candidate's test. 

It's as simple as that. You can readily create the same test for multiple candidates. Everything that you need to quickly setup tests and send links to job candidates is easy to accomplish in Tests for Geeks.

Most of the tests can be completed in under an hour. You can set up a quick PHP online Test or another language test.

If a candidate fails the test, that's a result, as you've prevented a costly mistake. And if they pass—then you can move on to discussing project details with them.

Ask for Proposals

The best way of doing this is by asking them to prepare a proposal for your project. That way, you'll find out about their skills in:

  • Time management. Do they arrive to the pitch on time? Have they found the time in their schedule to prepare an effective proposal?
  • Communication. Do they share their proposal in a convincing and succinct manner?

You'll also find out whether they're a good fit for your budget, and whether their proposals match what you want from the project. After the pitch, you can follow up with questions to find out more about them and their passion for programming.

Happy hiring!

Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.