Any business decision needs to be made in full awareness of the budget aspect. Even when the company is doing well, that’s no excuse for overspending. This is why, very understandably, when your firm needs some IT services, the Excel spreadsheets and calculators quickly come out.
The three main options that you have: building an in-house programming team, hiring a software house or collaborating with some freelancers differ not only in the specifics of the services but also in their price. To put things into perspective (albeit over-simplifying quite a bit), creating an in-house team would probably be the most expensive decision, while working with freelancers has the potential to save you the most. Hiring a software house falls somewhere in the middle, depending on where your business operates and loads of other factors. But is that always the case, especially in the long run?
The short answer is… no. Let’s dig deeper.
While the initial decision to start working with a freelancer on a programming project is often met with some backlash, it isn’t necessarily deserved. On the contrary, outsourcing work to an independent contractor makes a lot of sense in many situations.
The most obvious advantage has to do with finances. Due to freelancers’ nature of work (usually handling a few projects at the same time and only focusing on coding without getting involved in the company’s operations) the costs are relatively low (especially in certain areas of the world). Sites such as Upwork have made it a very competitive market and you can literally filter the candidates using your assumed budget.
The other financial benefit comes with paying per work hour, without additional costs such as social benefits etc. You should take into account though that these costs could be easily hidden in the hourly rate itself — just because they aren’t listed on the invoice, doesn’t mean you won’t cover them. On the other hand, think about the time and energy saved on things you have to do for your own employees, eg. getting private healthcare packages or organizing after-work meetings.
A definite upside is also the relative ease of doing business with freelancers. There are no twenty-pages-long contracts to negotiate or (dare we say sometimes questionable) labour laws interfering with a simple service-for-money exchange. That also means that whenever there is a pause in the project you can quickly cut the development costs and, once again, save a lot of money.
The downsides to collaboration with freelancers come from the same place as the upsides: the nature of their work. Freelancers don’t really have it in their job description to invest a lot of time into researching your business well. For the same reason you can forget about injecting your company’s values into a team of freelancers — they won’t (want to) have much to do with each other.
There are also quite a lot of risks that come with outsourcing your project to freelancers, especially if you try to build a distributed team. First of all, the possible time zone, language and cultural differences could seem unharmful at first, only to prove extremely taxing later. The little amount of legal paperwork, while advantageous in many ways, is also a big threat — you hear stories about freelancers dropping projects and vanishing from the face of the earth left and right. Not to mention poor intellectual property (IP) protection, over which you’ll have very little control.
The flexibility of the cooperation with freelancers often means that the person (people) who work on the project change regularly. This is where a lot of the aforementioned advantages will get cancelled out, as you’ll need to invest additional time into finding and training the new specialists, as well as spend money on them during this period before they start to produce any valuable results.
Costs of hiring freelancers vs a software house
Collaborating with freelancers is inherently different from hiring a software company, as the second one assumes a much longer and closer business partnership. Therefore it would be harmful to talk about costs without taking into account this aspect. Saying that if you have a small budget you need to go with the first option is a massive oversimplification and could damage your long term goals quite a bit.
We encourage you to analyze your particular situation very consciously. It surely is tempting to hire freelancers, especially if you’re just starting out in the IT service market and don’t have a lot of money to spend. Here are some things that might impact the final costs to consider though:
- A freelancer is an isolated professional who works alone. That means not only that you have to rely solely on reviews (if they have any and you deem them trustworthy) when selecting the right individual to work with, but also that in case anything bad happens to them (knock on wood) or they decide to drop your project halfway through, you’ll be left hanging. That’s not only a stressful and time-consuming situation to find yourself in, but also a big financial strain. First of all, any money paid in advance might be extremely hard to recover, but more importantly, looking for the next specialist and then updating them on the project could eat up a huge chunk of your budget.
- Lots of projects start out simple and short, but things often escalate quickly. Even if you don’t plan to scale your startup you don’t want to put a ceiling on your goals from the get-go. Before you know it, one freelancer may not be able to cover all your needs and you’ll be back to square one: investing time and money into finding and training the right person. But what if the situation repeats and you’ll realize you must have a whole team of programmers at your disposal? At that point, starting to build an in-house team or hiring a software house will put a financial burden on your budget on top of all the money you’ve already invested in freelancers. Also, new specialists will again need some time to get to know the project and… you’ve heard that before. Or, worse, they’ll tell to that it’s impossible to work on code that was previously developed chaotically by several people and you’ll have to start from scratch.
- There might be a lot of issues to pick up after a freelancer, since they often don’t pay too much attention to proper documentation. Because they usually focus on their part of work only as opposed to the project as a whole, it’s hard to prepare it well and make it stand the test of time — especially when we’re talking about top-level documents with a complicated architecture.
- The hidden cost of having people who don’t work closely with your business creating your product or solution could lie in the lack of understanding of your goals. This isn’t a problem when you only need some features implemented or several bugs fixed, but if the project is starting to get bigger and more complex the issue will quickly become obvious. No software should ever be developed for the case of developing it (unless you do it solely for fun), it always needs to answer directly to the business plan and goals of the client. Freelancers rarely have the capacity to focus on your project long and intensely enough in order to gain this understanding, so the final product of their work could have little potential for ultimate success on the market.
As you can see, even though the invoice you receive from freelancers will probably be lower than one from a software house, the overall cost might actually be higher in a lot of instances. Oftentimes, selecting a partner that’s able to provide more comprehensive services and put a lot of emphasis on your overall business goals (such as a software house) is a better choice. Again, it all depends on your individual situation.
Does that mean that working with freelancers is never a good business decision? Not at all! Even though they are often software house’s competition we’d be the first to tell you that if you came to us with a project.
So when do freelancers make more sense? There are two such instances:
- First of all, if you need a simple, isolated task done. In situations of complete certainty that the task won't evolve into a project in a full sense of that word, it usually doesn’t make sense to involve a software house, let alone actually hire someone to your company. If the task is easy, relatively short and doesn’t require a good knowledge of your business then by all means, freelancers are the way to go.
- The second situation would be a very unstable development process, in which you need to scale your manpower up or down really quickly. In a volatile business setting (eg the early stages of a dynamic startup) that could be necessary in order to stay afloat financially and adjust to the conditions in real time. Neither an in-house team, nor an external software house (although in this case it comes down to the contract) can allow for such extreme flexibility.
And there you go! Hopefully that’s made things a little bit clearer. In case of further questions, don’t hesitate to hit me up for a free consultation. No worries, we won’t push our services on you if we feel like you might do better elsewhere — in fact, we often redirect potential clients to other solutions so that they can reach their business goals more effectively.