Learn the benefits and drawbacks of hiring an in-house or remote development team to help you make the best hiring decision for your company.
When it comes to developing a software product or hiring IT personnel for a business, you have the choice of building an in-house team or contracting an already-built team remotely from a software company.
The software development market continues to grow while companies constantly search for highly skilled professionals at a reasonable cost – people who are really good at what they do, available right now, potentially willing to relocate, and available on a budget. In most cases, finding these people is just wishful thinking.
Let’s say you need a development team of six mid-level developers, two senior developers, three testers, a business analyst, and a project manager in four weeks. It’s not easy to hire one employee in that timeframe, let alone more than a dozen.
Finding experienced developers with a particular set of skills and experience is difficult. That is why many companies choose to hire remote teams.
Hiring an In-House Team
Either you have a team of software developers and are looking to grow it (team augmentation), or you have limited IT support and are looking to build a team for your business.
The former lets you build upon an already successful model, while the latter is a bit more challenging because you’re starting from scratch.
I will be referring to the journey of hiring an entire software development team, with all the roles it involves, not just developers. Nevertheless, the information presented here can also apply when expanding a team.
In-House Hiring Process
Availability and location will be your main road bumps in hiring an in-house team.
In 2016, The App Association created an interactive map that highlights an increased need for computer science education in the United States and shows how spread out developers really are.
In 2016 there were 223,000 vacant software developer positions across the country, and only 13% of schools included computer science in their curriculum. This gap between demand and supply still persists in 2018 and likely will in the years to come.
Depending on where your company is located, you may have a tough time finding developers, but it’s not an impossible task. Offering a good HR department, an inspiring product, an attractive brand, and good benefits can help.
Risks of the In-House Hiring Process
A long hiring process can yield the right result in the wrong time frame. If you’re looking for an immediate hire, this process can take much longer than expected. Patience is required for hiring an in-house team, but many companies can’t afford that patience.
In addition, companies based in non-hotspots for developers will find it hard to convince potential employees to relocate. If they’re already in a place like Silicon Valley or somewhere else popular for developers, why would they want to move elsewhere?
Costs of Hiring an In-House Team
The average salary for a software developer is around $100,000 per year, according to the App Association. Multiply that by however many people you want to add to your team, and the salaries add up.
In addition to the new employees’ salaries, you have people working on recruitment and resources dedicated to hiring. At the same time, if you’re looking to hire a team for a specific period, such as one or two years, you will also have to consider that your investment in recruitment will also have to pay for itself during that time.
The average time to hire is around 40 days, and the average agency fee is 22% of the new hire’s salary (at $100,000 a year, that’s $22,000) or a 12% cost when using an in-house HR department (or $12,000) – that really adds up.
Long-Term Planning for an In-House Team
Hiring full-time employees will give you the support your company needs on a long-term basis.
When hiring an in-house team, consider how people will integrate into your company, embrace your company culture, and become part of the workplace.
People usually assume that hiring people on-site means they will integrate into the company more easily than a remote employee, but that’s not always the case.
In a market with so many software job openings, if a new employee isn’t happy at your company, he or she can easily find a new job – which wastes the time and resources you spent hiring in the first place.
In addition, watch out for headhunters, or those who try to fill open positions by approaching people employed elsewhere. When good people are scarce, headhunters will try to steal your employees away.
Remote Team Incubation
Team incubation refers to contracting a company to build a dedicated team that can cover all aspects of development.
You have control over the team structure and go through a hiring process with the contracting company’s staff. You can scale up and down, according to your needs and involve members of your own company in the team.
Good project management on both sides is crucial. This can be done on a contract basis, but it’s more commonly done as a long-term relationship if all parties are satisfied.
Remote Team Hiring Process
Hiring a remote team is a bit trickier than in-house because you have to start with finding a company that has the resources you need and is the right partner for your business.
Clutch is a good resource for this, but you can also research on LinkedIn and Google to make a list of possible companies.
Once you have a list of possible teams, you can filter the results using “make-or-break” criteria, like time zone, size, or cultural barrier. Technical skills are the next stage of the funnel, followed by English skills and company compatibility.
This can take a couple of weeks to several months, depending on how your search goes.
Though many companies put cost first, only consider remote team cost after your initial search. It’s not about bang for your buck; it’s about the right bang for the right buck.
A good practice to get to know your partner is to do a quick HQ visit, especially if you plan to work with them long-term.
Meet them in person, and see how they really are. The interview process can, of course, be done remotely, but this way, you can get face-to-face time with the people who will be working with you.
If they’re too far away, conduct a few Skype or Google Hangouts calls to get to know them better.
Also, try to do a pilot project together. Always start small to test the relationship and the company, work out any kinks, and then expand to a full team.
Get to know the team and go beyond their sales pitch – everybody’s perfect on paper.
Risks of the Remote Team Hiring Process
The main risk of hiring a remote team is rushing the process and hiring a company that isn't suitable for long-term commitments. You can avoid this by conducting the hiring process properly and vetting the remote team you intend to work with.
In addition, working remotely with a time zone difference is not for everybody. If you’re not prepared, you can have serious issues over the course of the project, such as communication problems, lack of interaction and personal rapport, project delays, and too much standby time.
Costs of Hiring a Remote Team
Doing business with an outsourcing company does not mean you will get low prices. People expect all sorts of bargains and compromises, which doesn’t happen with good companies.
If an outsourcing company has skilled professionals, it has to pay them well, which by extension means that you also have to pay the company well. However, outsourcing outside the U.S. tends to be more affordable.
Here is a comparison of prices for a few roles in the U.S. and in other outsourcing-friendly areas, from Accelerance.
Costs in Latin America, Eastern Europe, and Asia are lower than in the U.S., but some people expect outsourcing software development to be under $25 dollars an hour.
You are paying for quality. Looking for a bargain is important, but don’t fall into the trap of very low costs. They come with a price.
Treating your team as cheap labor will not help the development process. Remember that their value is defined by their skill and expertise.
In Eastern Europe, costs will be about half of those in the U.S., and the region is time zone-friendly with the East Coast. It can overlap for 3 to 4 hours per work day and, in specific situations, even be compatible with the West Coast by overlapping in the mornings and evenings for meetings.
We’ve been in business for several years with a few clients on the West Coast and, if you set the right expectations and define terms properly, it can work even with such a large time zone difference.
Although time zone is an important factor, I believe technical expertise exceeds that.
Long-Term Planning for a Remote Team
This aspect is a major roadblock for many people who consider working remotely with a software company.
They see this relationship as less appealing than hiring permanent employees because of the way they perceive outsourcing companies - disinterested in the future of the client’s business and people meant to just get tasks done.
This goes back to the hiring process; you have to choose the right company that will give you a long-term plan, product support, advice, strategy, and more. A good company will be with you for years.
Look for a partner, not just a provider, and you can also have a long-term relationship with everything that goes with it.
A dedicated remote team brings the same level of long-term support as permanent employees do.
Making a Choice
This article is meant to put direct hire and remote incubation into perspective, comparing the two not as right or wrong choices but as different ways to achieve a goal.
The three factors presented for each case offers hands-on information to make an informed choice about working remotely and with a software development partner.
Incubating teams is not just a cost-cutting measure or a last-resort decision. Understanding everything that goes with this choice, compared to the traditional direct hire, and how it impacts your business and products is crucial.
About the Author
Samuel Andras is a marketer and business development officer at Evozon, a software company based in Romania. He is passionate about creating content related to important issues in IT and building relationships with people interested in similar topics.