Why Non-Tech companies should not hire their in-house development teams
March 14, 2024
I promise this is not another boring story about in-house vs outsourcing development.
As a software development agency CEO and Co-Founder, I have had this conversation more than ten times with different industry leaders and successful business owners wanting to hire an internal software development team to digitalize their business or build a product. After an hour-long discussion and arguments, most eventually decided against hiring an in-house team.
I have summarized all my discussion efforts into one article. Hopefully, in a similar situation, you can share this post with your friends and save them from many headaches when I am not around.
1. Hiring challenges
Attracting candidates
The primary challenge here is attracting suitable candidates for the role. As a former software engineer, when I was job hunting, I predominantly targeted renowned Software Development companies and seldom considered non-tech companies seeking to establish their IT teams. Nonetheless, you will attract some applicants. They generally fall into three main categories:
- Fresh starters — people who are open to any opportunity and view their first job as a launching pad for their careers.
- “Pensioners” — individuals nearing the end of their career who seek a tranquil and undemanding position.
- “Tourists” — people in urgent need of employment who are willing to accept any offer while they continue their job search.
Trust me, none of these groups is ideal for creating your product. Perhaps ‘pensioners’ combined with beginners could suffice during product maintenance phases, but they are not suited for innovation or developing new products.
Conducting interviews
The second significant challenge pertains to interviewing candidates. Within our organization, we’ve established a specialized SWAT team of interviewers composed of our senior experts who boast both proven technical and interpersonal skills. Each member has undergone rigorous interview training and shadowed multiple interviews before being authorized to conduct them independently.
Now, consider the scenario where non-IT HR personnel and business owners attempt to interview IT candidates. They might lean on a trusted team leader, often a friend or relative with some IT experience, to oversee the process. Regrettably, this approach biases the recruitment process towards familiar faces, likely compromising the quality and diversity of hires.
Another route is delegating the recruitment process to agencies, which unfortunately sets the stage for another set of problems. These agencies profit from each placement, lacking the incentive to build cohesive teams. They might assemble a group of skilled individuals, but without shared goals or a team spirit, expecting them to synergize and develop a substantial product is unrealistic.
Time to form a core team
Considering the challenges mentioned earlier, assembling a 5–6-person core team could take a substantial amount of time, potentially up to six months. You might onboard around ten individuals during this period, witnessing some departures and dismissals. Throughout this time, tangible output will be minimal. The first ‘tourists’ will probably leave, so you must keep hiring to keep your team numbers up.
After enduring these struggles and financial expenditures, you’ll finally have your software development team in place, but they will most likely not be the ‘rock stars’ you had envisioned.
2. Shared resources and knowledge pool
When your in-house team is hired, your entire knowledge and resource pool is limited to the personal experience of those 5–6 people.
On the other hand, a software development company that could provide the exact size of a dedicated team has multiple other in-house experts. Let me provide an example from our company.
Before starting any new project, we call a tech experts meeting. Our three solution architects, with a combined 55 years of experience, sit together for a couple of hours to discuss the technology stack. We may also include specialized technology experts from other teams if we need extra help deciding the direction.
This collaborative process is replicated during the product design phase, where, in addition to the designated product designer, we invite our lead product designers to refine and choose the design approach. Should the lead designer exceed the project’s budget constraints, we appoint a base designer, yet the lead continues to monitor the project’s progression.
Software development companies possess a wealth of niche expertise and capabilities that a non-tech company may not even recognize as necessary, including areas such as backup solutions, deployment strategies, cybersecurity, email campaign automation, domain reputation management, SEO, payment processing, and cloud optimization.
3. Professional development
Owners of non-tech businesses often overlook this important point. In the fast-moving world of software development, teams need to learn constantly. Their skills can become outdated in just a year or two if they don’t. More prominent companies have experienced and well-paid roles like engineering or development managers. Their job is to set learning goals, organize training sessions, and encourage their team to experiment with new technologies.
On the other hand, non-tech companies that hire their teams to save money typically don’t have these kinds of roles. They think just paying salaries and maybe setting aside a little money for training is enough. But that’s not how things work in the IT field.
Consider the scenario of an iOS developer working on a fintech project who is the sole iOS expert in their company, spending three years enhancing a single app. Meanwhile, a counterpart in a major software firm engaged with the same type of app benefits from being part of a larger ecosystem. This developer interacts bi-weekly with a mobile development team, exchanging challenges, discussing solutions, and staying up-to-date with emerging technologies. Over two years, the disparity in their technical skills could be significant.
That’s why ambitious developers often choose not to work for non-tech companies.
4. Cost saving
When talking to these non-tech business owners about why they want to hire in-house, it’s not surprising that the first argument is to keep costs low. However, outsourcing is a much cheaper alternative for teams of up to 10 people.
Software development agencies operate in a highly competitive market with an average 20% profit margin. They optimize their expenses year by year by sharing them across multiple projects, so beating them in price will be very hard.
- Due to their increased attractiveness as employers, software companies may offer salaries that are, on average, 20% lower than non-tech companies. Conversely, employees seeking offers from non-tech companies typically request much higher salaries, potentially exceeding their usual expectations.
- Software development companies also train and educate their staff, which helps to reduce costs.
- Another critical point is that the cost of top management and specialized senior staff is shared across multiple projects, leading to a cost-effective approach. For example, a single engineering manager can efficiently manage a team of 5 to 25 employees, and each employee’s cost would reflect a prorated share of the manager’s salary, typically ranging from 1/5 to 1/25.
5. Focus on your business
Many outside the tech industry may not fully appreciate the extensive efforts we invest to sustain a vibrant and efficient work setting. Concentrating on your core business activities, free from the hassles of overseeing a software development team, offers significant benefits.
Consider the scenario where your primary and only mobile developer resigns. Such an event could halt your entire product development, with the recruitment and integration of a new developer potentially extending over several months. In contrast, software agencies maintain a reserve of skilled developers and continually recruit, enabling them to manage any necessary personnel transitions seamlessly.
Team Buy-Out and transfer
If you aim to establish an in-house development team eventually, I would still recommend starting with a software development agency. They can help assemble the team, establish development processes, and lay a strong foundation for your product before you consider buying out the team. Discussing these terms upfront is beneficial, but you can still reach an agreement later if necessary. There are several successful case studies and established business models where acquiring a team involves paying a certain percentage of the team’s annual costs.
Here are my tips:
- Inform your vendors about your long-term intentions early on. This clarity helps set the right expectations with the team, minimizing resistance later.
- Financially, buying out a team becomes more viable when the total team size exceeds 10 members, which makes investing in IT management worthwhile.
- Offering salary increases and additional benefits instead of requiring team members to commit to staying for a specific duration is more effective. This approach avoids the need for binding contracts.
What’s the cost to acquire a team?
Market best practices suggest a cost of around 50–60% of the team’s annual expenses. However, establishing this intention from the start can lead to cost reductions over time, potentially dropping up to 10% after five years.
I hope this article will help business owners conserve their time and effort, enabling them to dedicate themselves entirely to their business pursuits.
Share this post