How to choose a software development company in Johannesburg

Search for a software development company in Johannesburg and you will get agency pages, directory listings, freelancer profiles and "top 10" lists. They all say roughly the same things. Agile. Experienced. Client-focused.

That makes choosing hard, and choosing badly is expensive. A failed software project costs you the build fee, the months you spent on it, and the staff goodwill you burned on a system nobody wanted to use.

This guide is a practical way to compare developers in Johannesburg and around Gauteng, written from the side of the table that builds the software.

Start with the problem, not the company

Before you contact anyone, write half a page on what you need. Not features. The problem.

  • What process is causing the pain? Quoting, dispatch, stock across branches, approvals, bookings?
  • Who is involved, and what tools do they use now? Excel, WhatsApp, Sage or Pastel, paper job cards?
  • What would "fixed" look like three months after launch?
  • What must it connect to?

This does two things. It lets you tell quickly whether a company understands operational software or mainly builds marketing websites. And it gives every company the same brief, so their responses are comparable.

The kinds of software providers you will come across

Type Usually good for Watch out for
Freelancer Small, well-defined tools; tight budgets One person covering design, backend, testing and hosting; what happens if they get sick or take a full-time job
Small studio SME operational systems; direct access to the people building Capacity if they are stretched; check they can support you after launch
Large consultancy Big corporate programmes, large teams SME projects can end up with junior staff and layers of account management
Offshore team Well-specified work at scale Time zones, less feel for SA context such as POPIA, Sage/Pastel, local payment gateways and load-shedding
Product vendor A packaged product that already fits They are selling their product; "customisation" may mean configuration only

None of these is automatically right or wrong. Match the type to the size and risk of your project.

What to check before you shortlist

Live systems, not just screenshots

Ask to see software that is running in a real business today, ideally something similar in complexity to what you need. A polished design mock-up tells you they can design. A live system with real users, roles and reports tells you they can deliver.

Ask what was hard about that project and what they would do differently. Good teams have honest answers.

Who you will actually work with

Find out who will be in your meetings and who will write the code. Are they the same people? Will the person who scoped the project stay on it? If requirements pass through a salesperson and a project manager before a developer hears them, details get lost.

How they scope and plan

A good company wants to understand your workflow before it prices anything. Expect questions about exceptions, month-end, approvals, who sees what, and what happens when something goes wrong. Be wary of anyone who gives a firm price after one short call.

Ask how they break work into phases. For most SMEs, a first release that fixes one painful workflow, used daily before the next phase starts, is safer than one big launch.

Ownership, data and POPIA

Ask plainly: who owns the code, who owns the data, and how do I get my data out if we part ways? Different companies use different models. Some hand over the code; some, including ThinkinCode for most projects, run the system as a managed platform where you keep ownership of your data and can export it. Neither is wrong, but you should know which one you are signing up for.

If the system will hold personal information, the developer or host may be processing it on your behalf. Section 21 of POPIA requires a written contract making sure that processor maintains proper security measures. Ask how they handle that.

What happens after launch

Software needs hosting, updates, backups and fixes. Ask what support looks like, how fast they respond to a critical fault, and how changes are charged. A company that cannot answer this clearly has not thought about the long run.

For a full list of questions to take into meetings, see our sibling post "Questions to ask before you hire a custom software partner".

Does it matter that they are local?

Not always. Plenty of good software is built remotely. But for operational systems in SA businesses, a local team has practical advantages:

  • Same working hours and public holidays, so questions get answered the same day.
  • Familiarity with local tools: Sage and Pastel, local payment gateways, WhatsApp Business, SA courier services.
  • An understanding of POPIA and of real conditions like load-shedding and patchy mobile data.
  • The option of sitting in your workshop, yard or branch for a morning to see how work actually happens.

Being in Johannesburg is useful if you are in Sandton, Midrand, the East Rand or Pretoria and want in-person workshops. For the build itself, clear communication matters more than distance.

Red flags

  • A fixed price before they understand your workflow.
  • No live systems they can show, only design concepts.
  • Vague answers on who owns the code and data.
  • No mention of testing with your staff.
  • "We can build anything" with no questions back to you.
  • Support after launch described as "we'll sort it out".
  • Pressure to sign quickly or pay most of the fee upfront with no milestones.

A simple scoring sheet

Score each shortlisted company from 1 to 5 on each line. Weight the lines to suit your project.

Criterion What a 5 looks like
Understanding of your problem They asked about exceptions, roles and reports you had not mentioned
Relevant live work Showed a running system of similar complexity
Team access You met the people who will build it
Scoping approach Proposed discovery and a phased plan
Transparency of quote Itemised: discovery, design, build, integrations, testing, migration, support
Ownership and data terms Clear, written, easy to understand
Support after launch Defined response times and change process
Local context Has handled POPIA, Sage/Pastel or local integrations before

The highest total is not automatically the winner, but a company that scores low on understanding or transparency is a risk regardless of price.

What a good first meeting looks like

You should do a lot of the talking in the first meeting. A good developer will ask you to walk through a normal day, then an awkward one. They will want to know which spreadsheets matter, which WhatsApp groups carry decisions, and what reports you use. By the end, they should be able to describe your problem back to you more clearly than you described it.

What they should not do is jump to technology choices or a price. That comes after scoping.

Frequently asked questions

How do I find a software development company in Johannesburg?

Start with a short written brief of the problem, then build a shortlist from referrals, directories and search. Check each for live systems similar to what you need and a team you can speak to directly. Give every shortlisted company the same brief so you can compare responses.

Should I hire a local or remote software development team?

Either can work. Local teams make same-day communication, on-site workshops and SA-specific integrations easier. Remote teams can suit well-specified work. For operational systems that depend on understanding how your business runs, local access is a real advantage.

How do I know if a software development company is reputable?

Ask to see live systems and speak to a current client if possible. Check how clearly they explain ownership, data export and support. Reputable companies are comfortable putting scope, milestones and support terms in writing.

What certifications should a software development company have?

There is no single certification required to build software in South Africa. Focus on evidence of delivery instead. If your procurement policy requires a B-BBEE certificate or affidavit, or specific security standards, ask for them at the start.

Is it cheaper to build software in-house or use an agency?

In-house makes sense when software is a permanent, full-time need and you can hire and keep a team. For most SMEs, a development partner is cheaper and faster because you get design, development, testing and hosting skills without hiring each one.

What should I expect in the first meeting with a software development company?

Expect lots of questions about how your business works today, where the pain is, and what must connect. A good first meeting ends with a shared understanding of the problem and a proposed next step, not a price on the spot.

Talk to a Johannesburg team

ThinkinCode is a Johannesburg-based software studio building operational systems for SA SMEs, delivered nationwide. You speak with senior engineers who stay on the project from discovery to launch. You can read more about us, see our case studies, or look at how we approach software development in South Africa.

When you are ready, email [email protected] to book a Discovery call.

Ready when you are

Book a Discovery call

Tell us what you are trying to fix. We will tell you honestly whether custom software is the right next step.

Contact ThinkinCode More insights