Hiring full-time talent to complete a project is a risky move. Before making the decision to take on a new employee, it’s crucial to be aware of all the possible risks related to this move. In this article, I want to shed some light on what may go wrong. I will also suggest some alternatives and explain why sometimes hiring a software consulting agency may be a better idea.
In today’s fast-moving world, many companies need services of professional developers. Some of them decide to hire full-time talents and build their own teams. The decision is made on the basis of the stereotype that having an employee in house means more control and better communication. It’s not true. It may surprise you but the number of risks related to hiring a full-time professional may actually outweigh the number of advantages.
Risks of Building an In-house Team
1.You will get buried under organisational stuff and hidden costs
First of all, hiring a new person means taking care of many mundane things that you may not have time for. A new employee needs a desk, a computer, needs to be managed by somebody, which requires a clear leadership structure. You need to create a proper onboarding process for new hires, and then, sacrifice the new employee’s time for “getting into the groove” of the new responsibilities. And that’s not all. Hiring a developer means that they will go on annual leaves and take sick leaves on top of that. As a result, there will be days when you will not be able to develop your project and you should take it into account while planning it.
2. A newcomer in the team means introducing new habits and ideas into the process
Every employee is different and everybody has their own habits while developing software. Before hiring somebody, you should check whether the person is used to rigorous, frequent and clear commits. They may not be accustomed to having a QA team and be lacking in that aspect. A new developer may seem to be a good fit for your team, but after some time, it may turn out that they have completely different development habits. There is also a chance that they may not be up-to-date with the latest tech stack for your project. Hiring a new person is hard because of the possibility of lacking a team fit when somebody enforces their vision with “brute force”.
3. Realities of hiring full-time talent to complete a project
Hiring full-time development talent is a very tiring, complicated and long-term effort. In the best possible scenario, it takes three months (in the case of our company it has 17 different stages and only 2% of developers pass it). If you really want to approach this process seriously, you will have to spend a lot of money and time. On one hand, the number of new technologies is simply ASTONISHING. On the other hand, however, there are no experts in all of them. You should be aware that you may lack a toolset to evaluate the skills of a new candidate. “Full-stack” developers don’t exist. We can talk only about full-stack teams. A comprehensive and reliable development solution the knowledge of many people pooled together working on one feature. It’s very risky to rely only on one or two people who may not even be aware of their limitations. The worst case scenario is that they do not even inform their stakeholders about the problems resulting from the decisions taken or avoiding certain solutions because of their skillset. As a result, even among the projects we made at Netguru, there is a great number of examples that products had to be rewritten from scratch because they didn’t live up to the client’s expectations.
4. Lack of ability to adjust velocity/stack/toolset/mentality on the fly
Developing software is, or at least should be, very flexible and should react very fast to what’s happening on the market. If you have an in-house dev team, it’s impossible to change the speed of development without firing or hiring somebody. You cannot add or remove certain skills needed for your project in a given moment without preparing beforehandedly. As a stakeholder, you’re doomed to the WYSIWYG (what you see is what you got) scenario. The truth is that the more people there are in your development team, the more helpless the company is in this aspect. Sad but true.
5. To assess the project’s potential success and current velocity you need experience and benchmarks
All product owners want their products to succeed, but only a few of them will become really successful. Nobody likes to work on something which will be a total failure right from the start. But to be able to assess the project’s REAL potential, you need a lot of experience and benchmarks. In addition to that, a project’s team is NOT a simple sum of the talents that it consists of. All great software development is more about team process and less about individuals involved. What’s more, the developers tend to get bored and burned out in projects if they are deprived of certain stimuli. Rotating talents or a creation of a talent team may be a solution for this problem, but the ability to see that stuff coming and react accordingly is very often overlooked.
Although hiring a talent to your in-house team may seem to be the most popular solution, it’s definitely not the best one. Before making this decision, it’s very important to assess all potential benefits and risks because the result may affect the whole project. The question whether to hire full-time talent or maybe rely on external software development agency remains as a question of personal choice of the product owners. An extremely important one.