December 10, 2019

How to Hire Programmers: In-House, Freelance, and Outsourced


You’ve got a brilliant idea for an app — now, you just need to hire some programmers to build it.

But how do you do that? Do you hire a team of full-time programmers? Do you look for freelancers? Should you outsource your project to a software development company?

It’s a tough call, because the answer depends on your project, resources, and company vision. Even if you have a lot of technical knowledge yourself, hiring programmers is tricky. For example, say you want to staff out a talented tech team for your startup — is that really the best choice for you? If you need to pivot down the line, your in-house team of programmers may not be flexible enough to make that pivot with you.

So, let’s take a look at your options when it comes to hiring programmers. Hopefully, this guide will help you determine what kind of programmers you need — and how to get them.

Option No. 1: Hiring an In-House Team of Programmers


• You keep sensitive information inside the company.
• Communication with your programmers will be faster and more efficient.
• You have more direct control over the success of the project.


• You need expertise in managing tech projects.
• You only have access to a local talent pool.
• Pivoting and product changes may be more expensive, and your team may be less flexible when new needs arise.

When hiring in-house is the best option:

The best time to hire in-house is after you’ve achieved product-market fit. At that point, you have finished pivoting. Your product is solid. Your team will maintain the product, fix bugs, and work on new features.

If you’re working on a particularly sensitive project, you may want to hire in-house programmers from the beginning. That way, you’ll have control over data privileges, and you’ll be able to maintain crucial levels of efficient communication.

If you aren’t a technical person but need to hire an in-house team of programmers, you may want to first hire someone who has more knowledge of the field, like a CTO. This person can help direct your hiring process to ensure you get the right people, and they can oversee the team’s work. While you’ll need to budget another salary, it will save you money over time by ensuring you make good hires and have a team that consistently operates at high standards.

When to consider a different option:

It’s tempting to hire talented programmers who work in the office and report to you. You’re more involved. You can see what’s happening. You have ease of communication.

However, that doesn’t mean in-house is always the way to go. If you aren’t a technical person and you’re not sure hiring a CTO is worth it, you can outsource your project. Similarly, if you know you’ll have to pivot, go with a more flexible team. Plus, the recruitment process is expensive. You’ll want to account for recruitment costs before hiring in-house programmers. If costs are prohibitively high, you may want to check whether an outsourced option might be more cost-effective. You can hire full-time programmers when your product matures.

Option No. 2: Hiring Freelance Programmers


• You have access to a wider, more diverse talent pool.
• You can write a contract that protects valuable company data freelancers may have access to.


• You need expertise in managing tech projects.
• You have less control over remote work.
• Communication is slower and weaker.

For more expert HR insights, check out the latest issue of Magazine:

When hiring freelancers is the best option:

If you’ve run a recruitment process and found that your local talent pool is shallow, freelancers can be a great way to expand your search. The programmer who best fits the project might live in Kazakhstan — and as long as you set the right contract terms, you can still have the same level of oversight that comes with hiring your own in-house team.

When to consider a different option:

If the development process depends on efficient communication — which happens best when everyone is sitting in the same room and keeping the same hours — freelancers may not be a great solution.

If you’re not technical, or you know you’re going to pivot, a freelance team has the same issues as hiring in-house.

Finally, remember that freelancers need to be more than just good programmers. You’ll need to find people who are autonomous, able to self-report, and good at communicating. As a result, hiring freelancers may require even more intensive vetting than hiring in-house.

Option No. 3: Outsourcing to a Software Development Company


• You’re hiring people with proven track records of building tech.
• Communication is fast and efficient.
• You have flexibility, as teams can pivot with a project.


• You’re not in direct control of your project.
• Sensitive information may leave the company.
• You might end up spending more depending on the scale of your project.

When outsourcing is the best option:

Outsourcing your project is a good idea when you need flexible experts. If you’re not a technical person, you can often trust an outsourced team to be overseen by its own technically literate supervisors. You’re free to focus on the important work of running your business.

As with freelancers, development companies can also be an effective way to expand your talent pool when the local pipeline is running dry.

If you do go with an outsourced company, make sure to work with one that prides itself on transparency and client relationships. That way, you won’t have to sacrifice communication for talent.

When to consider a different option:

If your project needs just one or two developers, you may find it ridiculous to hire a whole company. Get time and cost estimates from a potential outsourced team, then compare those to the price of a developer’s salary. Take the timespan of the project into consideration. If it’s going to be faster and/or cheaper to hire your own programmer (in-house or freelance), that’s the better choice.

If you need programmers, be sure to weigh your options before deciding how and where you’ll find those programmers. You may want the control and security that comes with hiring in-house. You may want the ease of freelancer talent. Or you may decide you’d rather hire a company to do everything for you. Whatever the case, you have options!

Natalie Severt is CMO of Iterators.

Read more in Recruiting

Natalie Severt is the CMO at Iterators, a software and mobile design and development company. She writes about tech topics ranging from blockchain and AI to mobile app development. In her free time, she likes keeping up with new trends and reading.