Softwiro
Commissioning a system

Software company, freelancer or in-house team: how to decide

A side-by-side comparison on risk, continuity, cost shape, speed, ownership and support, with a seven-question decision test.

9 min read
Several developers sit at shared desks with laptops and monitors in a bright office with large windows.
Photo: cottonbro studio · Pexels

You need software built, and you are deciding who should build it: a software company (شركة سوفت وير or شركة برمجيات), a freelancer, or your own in-house developers. This guide does not repeat how to pick between software companies, what a system costs or how to keep ownership; those have their own articles, linked where they matter. It gives you something they do not: a side-by-side comparison of the three options on six dimensions, and a short test that points you to one of them.

First, what you are really deciding

The three options are three different ways of holding the same four things: the people who write the code, the knowledge of how the system works, the responsibility when it breaks, and the ownership of the result. Every difference below comes from who holds what.

  • A freelancer holds all four in one person.
  • A software company holds them in an organisation, with several people, a process and a contract.
  • An in-house team holds them inside your own business, as employees you manage.

None is best in general. The right one depends on what you are building, how long it must live and how much management you can supply.

The comparison on six dimensions

1. Risk

Freelancer. The main risk is dependence on one person: illness, a better job offer, a full calendar, or simply going quiet. Quality varies enormously, and you may be the only reviewer of the work. A good freelancer on a bounded task is low risk; the same freelancer carrying your whole business system is high risk.

Software company. Risk is spread across people, but you carry a different one: a company that over-promises, hands you to a junior team after the sale, or is too big or too small for your project. The article on how to choose a software company covers testing for that, and early signs a project is going wrong covers what to watch once it starts.

In-house. Hiring risk comes first: a developer who turns out weaker than the interview suggested is still a salary, and removing them is slow. A one- or two-person team is also exposed to resignation, and a new hire's first months produce little.

2. Continuity

Ask: if the main person leaves next month, what happens?

Freelancer. The honest answer is that you must plan for it from day one: documentation, access to the code and servers in your name, and a second developer who has read the code. Without these, a departure can mean starting again.

Software company. Other staff already know the project, so a departure rarely stops work. Continuity is also a contract matter: what the company owes you after delivery, for how long and at what cost.

In-house. You have continuity only if you have more than one developer, or if the knowledge is written down. A single in-house developer is a freelancer with a payroll, and the same planning applies.

3. Cost shape

Price differs in shape more than in size, and shape matters for cash planning. The article on what a custom system costs explains why estimates differ; here is the shape for each option (the numbers in the worked example later are illustrative).

Freelancer. Usually a project price or an hourly rate. Low overhead, and low fixed commitment. Costs can rise when the one person is not enough, or when you must pay a second person to review or take over.

Software company. A project price or a team-month rate, often with a monthly support fee afterwards. The rate looks higher because it includes management, testing, design and the cost of someone else covering absence. Ask for the price of the first release and of year two separately.

In-house. A monthly salary and associated employment costs, whether or not there is enough work that month. It is cost-effective when the work is continuous and expensive when it is occasional. Remember management time, equipment, software licences and the time you spend recruiting.

For the full picture over several years see what business software really costs over five years.

4. Speed

Freelancer. Fastest to start on a clear, small task: no procurement, one conversation. It slows when the task needs design, a backend, a mobile app and testing at once, because one person does them in sequence.

Software company. Slower to begin, with a discovery phase and a contract, then faster on larger work because several people work in parallel. Be wary of any company that promises to be both cheap and fast on a large system.

In-house. Slowest to start, since you must recruit and onboard. Then fastest for continuous change, because the team sits with your operations and can adjust the system the day the business changes.

5. Ownership

The principle is the same for all three: ownership is what the paper says, not what everyone assumes. The article on owning and controlling your custom software covers the practical checklist. Two Egypt-specific notes from the Intellectual Property Law No. 82 of 2002:

  • Computer programs are protected as works under the copyright part of the law (Article 140).
  • A transfer of the author's economic rights is valid only if it is in writing and expressly and in detail identifies each right, its scope, purpose, term and territory, and the author keeps any economic right not expressly assigned (Article 149).

In practice this means that for a freelancer or a company, a one-line "all rights belong to the client" may not be enough: the contract should list what is transferred (source code, designs, documentation), for how long and where. For employees, confirm with a lawyer how the law treats work done as part of employment and put the point in the employment contract. This is general information, not legal advice.

6. Support

Freelancer. Support depends on their availability and your agreement. Agree response times in writing, and agree what happens when they are unavailable.

Software company. Support can be a defined service with response times, monitoring and a rota. It costs money, and it is worth checking that the people who support the system are the ones who know it.

In-house. Support is the closest to the business: the developer is a message away. But it is limited by the team's size, so holidays and illness leave gaps.

Security and data are part of support. Under Egypt's Personal Data Protection Law No. 151 of 2020, a processor holding personal data on your behalf must notify the Personal Data Protection Center within 72 hours of becoming aware of a breach (Article 7). Whoever you choose, agree in writing who tells whom, and how fast. If you want a vocabulary for asking a supplier about secure development, the U.S. National Institute of Standards and Technology publishes the Secure Software Development Framework (SP 800-218), which its supply-chain guidance describes as a common vocabulary for acquirers dealing with suppliers; asking whether a supplier follows it is a reasonable question, even outside the United States.

A decision test

Answer the questions below for your project. Count which column fits most answers.

  1. How long must the software live? A campaign, event or prototype under six months points to a freelancer. A system your operations run on for years points to a company or an in-house team.
  2. How continuous is the work? Constant changes every week point to in-house. A build and then occasional changes point to a company or freelancer.
  3. How many skills do you need at once? One skill (a website, a plug-in) suits a freelancer. Several (backend, mobile, design, hosting) suit a company or team.
  4. Who will manage the work? If nobody on your side can review it, a freelancer is risky; a company with a project manager carries that load. An in-house team needs a manager, who may be you.
  5. What does an outage cost per day? If a day of downtime is expensive, you need defined support and a second person who knows the system.
  6. How sensitive is the data? Customers' personal data or finances points to a party that can show security practice and sign data obligations.
  7. How fast must you start? Within days, a freelancer. Within weeks, a company. Within months, in-house.

If your answers split across columns, a common pattern is a company for the first build and support, then an in-house developer or freelancer for small ongoing changes once the documentation is complete. The opposite also works: a freelancer prototype to test the idea, then a company to rebuild what proved useful.

A worked example (illustrative)

A distributor wants an ordering app for 300 customers plus a link to its accounting system. It needs the app for years, wants several skills (mobile, backend, integration), nobody internally can review code and orders flow daily. By the test, the answers point to a software company: long life, many skills, no internal reviewer, daily dependence. The distributor still insists on three things in the contract: written assignment of source code and documentation, a stated support level, and access to the code repository in its own account from the first week. After a year, small changes are handled by a part-time freelancer who reads the documentation before touching anything.

Questions to ask whichever option you pick

  • Show me a system you built that is running today, and who maintains it.
  • Where will the source code live, and in whose account?
  • If you are unavailable for two weeks, who can fix a problem, and how do they get access?
  • What is the price of the first release, and what is the monthly cost of keeping it running after that?
  • What do you need from me, and how often will you want my time?
  • What will you do in the first 30 days, and how will I see it working?

The next step

Write your project on one page: what it does, how long it must live, how often it will change and what a day of downtime costs. Then run the seven-question test and note which option wins. Softwiro is itself a software company, so weigh our view with that in mind; if the test points to a company and you want a second opinion on scope, send us the page and we will tell you honestly whether a freelancer or an in-house hire would suit you better.

Sources

Questions this raises

Should I hire a software company or a freelancer?

Choose a freelancer for a short, bounded task that needs one skill, and a software company when the system must run for years, needs several skills at once or you have nobody to review the work. In both cases, agree ownership of the source code, documentation and access in writing.

When is an in-house development team better than outsourcing?

When the work is continuous, with frequent changes to the system as your business changes, and you can recruit, manage and keep more than one developer. For occasional work, or when you need many skills briefly, an in-house team is usually more expensive than a company or freelancer.

How do I protect myself if my freelancer disappears?

Keep the code repository, hosting and domain in accounts you own from day one, require written documentation, and have a second developer read the code before you depend on it. Agree response times and a fallback in the contract.

Who owns software built for me in Egypt?

Under Egypt's Intellectual Property Law No. 82 of 2002, computer programs are protected works, and a transfer of the author's economic rights is valid only if it is written and specifies each right, scope, term and territory. So the contract should list what is transferred. This is general information, not legal advice.

How do I choose between software companies in Egypt?

Open systems the company runs today, ask who does the work after the sale and what it owes you after delivery, and compare quotes by what is included rather than by price alone. The article on choosing a software company covers this step by step.

Have a system to build?

Softwiro designs, builds, and operates production systems. Describe what you need and we will come back with a scope rather than a slogan.

Start a project