07 February 2019
Pros & cons: in-house, freelance or software development company
In this article, I’ll explain why different projects require a completely different approach and what to look for when choosing between in-house, freelance or software development company. Imagine you’ve got an idea for a very innovative application and you’re absolutely sure that it will break the internet. Guy Kawasaki, the well-known tech marketing specialist, said that “a good idea is about ten percent and implementation and hard work, and luck is 90 percent.” While you go on an epic adventure in search of a lucky four-leaf clover, someone has to cover the “implementation and hard work” part. Meaning: CEO and CTO can’t do everything themselves – you need a developer. Actually, you might even need a whole team. Outsource or hire, that is the question.
Key considerations while choosing developers
There are a few things you need to think about before you start looking for developers.
A suitable solution for your company might be a waste of resources for another one. Think about the whole spectrum of the project and the knowledge of your team: do you have a definite list of all technical requirements, features, design, and many, many more? Do you know what you’re doing or do you need additional advice? Is your office big enough to fit more people? Will you manage the developers alone, or will you need a Project Manager to help you with this task? How many users will the application have? Do you have enough experience? Have you done a project like this before? What tools are you going to use? That’s just a tip of the iceberg…
Basically, it’s the lifespan of the project. Do you need a simple application that works or a complex platform with custom features that will need constant maintenance and expanding? While the first might take one developer a few weeks to prepare, the latter is definitely a long-term project for a whole team and will need constant attention and support.
If money is not an issue, by all means, go crazy. Unfortunately, that’s a comfort very few can afford. Most of us in the tech business are rather careful with money but are willing to pay for high quality and results. Remember, that sometimes being cheap will make you pay double or triple for the same service if you end up in the arms of an amateur who promised results and delivered disappointment. A simple project on a tiny budget can still be very successful if you invest your money right.
Every company has its own workflows, values and policies. If you hate video calls, remote conversations and outsiders poking around your project, and prefer face-to-face contact – then outsourcing may not be the best idea. The same goes for different languages, time-zones and cultures. However, considering that English is an international language in IT and global cooperation is easier and tighter than ever, most companies don’t consider that problematic at all.
If your word of the day/month/year is “ASAP”, you need developers who prefer to work outside the office hours. There are ways to operate around the clock without forcing people to work until silly-o’clock every day. Choose a software house from a different time zone or freelancers who’d rather code at night or over the weekend.
Some industries, e.g. Healthcare, Finance and Banking, Insurance, process confidential data and customer information. The data owners are often concerned about security and require strict access control and privacy rules. You need to make sure what safety measures, including policies, know-how, or reliable data masking tools, are used by the developers to secure fragile information. After all, you do not want the top secrets ending up into the wrong hands and pay massive fines from breaking GDPR regulations.
What’s on the menu?
Before I present our options, a disclaimer to avoid any bad judgement. As I’ve mentioned in the previous paragraph, every project and company needs something different: some want roadrunner speed and low price, while others are willing to pay loads for a security stronghold to process their data. What seems a bad choice for you, might be a perfect match for somebody else.
As far as software development is concerned, there are three the most popular options: hire regular employees in-house, use services of various freelancers, or cooperate with a software development company. All very exciting, all risky (then again, leaving the house in the morning is risky too), all with pros and cons. Let’s start with…
The situation here is pretty straight-forward: you post a job offer, interview the candidates and pick the one you like best. You have full quality control over their work, you see them every day, and in case of an emergency, you can call a face-to-face meeting. The in-house developer is super familiar with the product, which is good for big, long-term projects requiring constant attention. There are no third parties involved, so crisis management becomes efficient, and security measures are under control. Moreover, their work – the source code, belongs to the company only (full ownership rights).
On the other hand, that option is the most exhausting. Hiring an in-house developer means paying for their salary, equipment, licences, tools, office space, taxes, benefits, medical, insurance, training, etc. The recruitment process, apart from being time-consuming, is also pretty costly. And, even if you have enough money to spare for a very good developer, there’s no guarantee that you will actually find one.
For example, in Nordic countries it’s so hard to hire an experienced developer that it’s like looking for a needle in a haystack – mission nearly impossible.
Rarity makes them extremely expensive and while the price can be paid by global corporations entering local markets (like Google), smaller companies and fresh start-ups have no chance of competing with that. Now, imagine the cost and struggle, when you don’t need one developer, but dozen with different specialities. This brings us to option number two: freelance outsourcing.
The independent contractors who appear when they’re needed (Batman?). They are relatively easy to find on social media groups and “gimme-a-job” websites. They are perfect for irregular, short-term, and ASAP projects. Some of them have all the time in the world which makes them flexible. They usually have a fresh eye for a project and will offer some insights.
Great news for the low-budget companies: freelancers are by far the cheapest option.
Unfortunately, that comes with some inconveniences. Freelance developers are fickle and will have more than just one client, that’s how they earn their money. Sometimes they might be swamped with other tasks and unavailable for you, that’s why you need to pre-plan everything. Freelancers usually have no commitment to long-term projects. When they get bored or receive a better offer, they can just drop out in the middle of the project, and you go back to the start. There’s little control over the quality of work since you can’t expect them to write code and test it themselves too. Some companies complain about poorer response time (again: time zones) and a language barrier. Finally, full-stack developers exist, but you can’t really expect from one person to do it all: frontend, backend, QA, mobile, UX/UI design… Forming a Freelance League (again: Batman?) might be a little problematic when you can feel deadlines breathing down your neck. If you don’t have time for all this hustle, consider a partnership with a software house.
Software development company
Industry’s creme de la creme – software houses offer a coordinated, disciplined and problem-solving teams, represented by Project Managers and overseen by CTOs. Every developer is experienced in their field, knows their specific tasks and have been cooperating with their teammates for ages, efficiently fixing each other’s bugs. There are plenty of software development companies on the market – both small and large, specialising in particular technology or industry, with ready-made solutions or preparing a customisable one just for you. A respectable software house has a vast portfolio and offers all kinds of services: from the analysis, consultations, brainstorming new ideas, to testing, fixing and maintenance. What is more, as a client you have every right to own the work a software house does on your behalf. I understand that this is a very sensitive issue for many companies that are afraid to lose the source code after the project is finished. In reality, agreements are usually constructed in such a way that the customer has full ownership rights to the source code.
Software companies always use up-to-date technology, follow market trends and use appropriate tools. They choose mostly long-term projects to keep the continuity of development processes. Software houses have a reputation to maintain, so they have crisis management in their little finger. You don’t have to worry about a thing: a team dedicated to your project will have everything under control, report the results on a daily/weekly basis, and give you more time on focus on other responsibilities in need of your attention.
In short: leave it to the professionals, they’ll be worth your while. You just need to ask yourself, how much are your peace of mind and the success of your project worth.
That comes with a price, and depending on the software house’s reputation and effectiveness, it might be a pretty penny. It will definitely cost most more than freelancers. If you need it now and you need it done, there’s no quicker option. However, some software development companies “don’t like” short-term or easy projects, and prefer to be challenged, so don’t get discouraged that some of them won’t be as excited about your project as you are. You just need to find a perfect match. In order to do that, you might start outsourcing outside your country. When outsourcing abroad – let’s say to Central and Eastern Europe which is a pretty hot outsourcing destination now – it can be cheaper than operating the same team in-house in your country. Of course, you need to keep in mind that there’s a possibility of time-zone difficulties, but as Dave Hecker from SourceSeek believes, “the importance of time zones is often exaggerated and, in most cases, a few hours of overlap are enough”.
Summary: in-house, freelance or software development company?
Outsource or hire?
There isn’t one definite answer to this question. If you need a simple app, supporting a bigger project, there’s absolutely no need to hire anyone, and you can leave it in hands of freelancers. However, if you’re planning a big, long-term project with possibilities to grow, it will require constant attention and care. Handling freelancers in this situation could be tricky.
So it’s between a software development company (when you have no time and limited technical knowledge to lead the project) or hiring in-house (when your budget is big, you know exactly what to do and what to expect from employees).
Here in The Software House, we don’t want to be just another outsourcing company. We want our clients to feel like we’re a part of their team, and their projects become our daily lives. We care about development process continuity, that is why we always delegate a separate team for every client. Our developers have the freedom to choose their own projects, so you can be sure that people who are going to work with you are not only interested in what you do but also specialise in a particular field, ready to share their expertise. Five-star reviews from our clients suggest that this is a good tactic.
So if you’re looking for a partner to make your idea become reality, search no more. The Software House is here to help!