One of the main issues when starting a new development project is how to build your team. Generally speaking, there are three main options:
- Building your in-house development team;
- Hiring freelance developers; or
- Contracting an external development company.
So, when should companies choose hiring remote developers instead of recruiting an in-house developer group? In which cases is best to outsource? Which option is most flexible and cost-effective? It really depends on the project and the company in question. It’s up to the management team to consider all the aspects of the project, and decide which approach is the best.
Here we’ll discuss briefly the three basic options mentioned above, and share our own experience with building successful remote development teams.
Building your in-house development team
It's commonly believed that the first approach has most advantages to it, at least as far as quality is concerned. Building an in-house development team, however, is the most expensive option of all. On the one hand, it requires significant financial resources for the recruitment of a base team of say 3 or 4 programmers and their monthly pay over a relatively long period of time (during which the product will be developed). On the other hand, an in-house developer group also involves certain project management resources from the client (for managing and communicating current tasks with the team). So, the yearly costs for such a team can easily exceed several hundred thousand dollars/pounds/euros.
And apart from being high cost, this approach is also less flexible. In-house developers might have experience in some areas and lack of abilities in others, so companies need more employees to cover all aspects a project might require, which will of course make the project even more costly. Besides, in-house developers usually work on a permanent employment contract, so it’s more difficult to instantly terminate the contracts in case of any conflict.
Hiring freelance developers
Hiring freelance developers nowadays doesn’t seem much different from permanent employment of programmers which typically means 40-hour week, standard working hours, paid annual leave, certain additional payments such as social and health insurance (depending on the applicable laws), etc.
A growing number of companies, from well-established software firms like Automattic (the creators of the popular software Wordpress), to successful start-ups like Loom and Invision, hire people under the slogan ‘Work from everywhere’. That said, many companies still limit themselves to hiring employees from certain countries because they prefer abiding by local laws and regulations.
Finding the right freelance programmers for your project might seem like an easy task with specialized marketplace websites where anyone can place an advertisement with the respective requirements for the developers wanted for their project. But hiring the freelancers is only a part of the process. Even if you do have a detailed specification and comprehensive wireframes, you still need a manager with solid technical background to supervise developers’ work and understand what is everyone doing and why they’re doing it this way or another. Sometimes it’s really hard to tell a good programmer from a “fake” one. Some people are very good at presentations and might get you into thinking that they’re "rockstar developers", while in fact they’re not. In other words, you may lose a lot of time and money in sifting out the quality freelance developers from the mediocre ones.
Hiring quality employees is a real problem in web development and that is why freelance developer platforms like Toptal, Gigster and Youteam keep springing up like mushrooms after the rain. These platforms facilitate the recruitment process as freelancers undergo some sort of selection and verification of their professional qualities.
Contracting an external development company (outsourcing)
If you choose this option, most problems related to hiring freelance or in-house programmers are solved by themselves. For example:
- It's less likely to make mistakes when hiring new developers.
The cost of hiring a new programmer and the onboarding process can easily reach several thousand euros. And given that in most cases a new staff member becomes a fully functional team member 6 months after he or she was hired, it’s easy to calculate that the price for each unsuccessful employment varies in the range of 30 to 50% of his or her annual salary.
Even if all your newly-hired staff members are ok, these people will have to learn how to work as a team. And when you use an outsourcing company, you are supposed to get a fully functional team of professionals who have worked together for a long time.
- Another advantage of this approach is flexibility - it’s relatively easy to increase or reduce the number of the team members. And what you get is not only developers.
When starting a new project, most outsourcing web development companies (including MTR Design) usually form a small team of 1 – 3 programmers, who work full-time on this assignment only. Other experts working part-time are being included in the project where necessary - DevOps engineer, technical project manager, UX designer. Thus, the client pays the agreed price per hour for 2, 3 or 4 people for example, but virtually gets access to all the resources needed. Besides, the core team can grow relatively quickly where necessary.
- You get the full stack of services that are needed for the entire web development process, including back-end development, front-end development, project management, and more. The outsourcing company can go hand by hand with you or your customers in the entire process to the delivery.
Considering what we have listed above regarding outsourcing, we may conclude that this approach guarantees faster and more efficient development process. Now, we are far from thinking that everything always goes smoothly when using an external development company. Actually, the major challenge here is choosing the right contractor company for each project. But we will discuss this issue in a separate article, because it’s rather complex and there are various aspects to it.
Building effective web development teams is no easy task, but the good news is that the options for remote work in the IT sphere open up a lot of possibilities for employees and employers alike.
Even before the COVID-19 pandemic messed up the way almost all businesses function it was all too clear that the remote work trend is steadily going up. What is more, offsite work may be on its way to become the new normal.
If you are looking to hire a web developer, there may not be many available in your city or region and willing to move. However, if you broaden your search for a web developer worldwide, the options grow enormously. So why would employers limit themselves to the local labor market, which may be costly or limited anyway, when they can hire a remote developer and even reduce office space costs?
And in regards to employees, the advantages of working remotely are even more obvious. Why lose your time in commuting and traffic jams, when you can work from your home or wherever you please?
I am far from thinking that in a few years all or the majority of people will work remotely. There are still companies that are waiting for the government restrictions (imposed to limit the spread of the coronavirus) to be lifted in order to return to their normal existence. But in order to survive and prosper in the long run, every business must get the job done in the most efficient way. And this is most easily achieved when the inhouse people are used most efficiently, and are supplemented when needed with alternative work hires without long term commitment.