How to hire a contract software developer in South Africa: contracts, vetting and red flags

Zayin Krige, 2024-01-11. 4 min read.

Hiring a contract software developer in South Africa comes down to three decisions: how you vet them, what the contract says, and who owns what when the engagement ends. Get those right and a contractor is the fastest way to add senior capacity to a team. Get them wrong and you inherit code you cannot maintain and a dispute over who owns it. This guide is written from both sides: I have contracted through Apex Technology since 2001 and I have hired and managed contractors for clients throughout.

Decide what you are buying

Three engagement types are routinely confused.

Vet in one interview

A senior contractor can be assessed in an hour if you ask the right things.

  1. Show me something you built that is running now. A live URL, an app store listing, a repository. Not a portfolio slide.
  2. Walk me through a production incident you caused. Everyone with real experience has one. Someone who does not is either junior or not being straight with you.
  3. What would you do in the first week? The right answer starts with reading the code and the infrastructure, not with proposing a rewrite.
  4. Read a pull request with them. Take a real PR from your codebase and ask what they would comment. This tells you more than any coding test.
  5. Ask for two client references and call them. Ask each one whether the contractor is still working for them. Long engagements are the strongest signal in the industry.

What the contract must contain

I publish the contract I use with clients as an open-source template, freelancer_contract on GitHub. Whatever template you use, check for these clauses.

Who owns the accounts

Every cloud account, domain, app store listing, repository and third-party service is created in the client's name with the client as the owner and the contractor as a collaborator. This is the single most common mistake I am called in to fix: a company whose production AWS account belongs to a developer who left. Do it on day one and the exit is a permission change.

Working with a remote contractor

Most South African contractors work remotely, and the best ones work for clients in the UK, Europe and the United States because the exchange rate makes South African senior rates attractive there. That competition means you are unlikely to get a strong contractor at a rate that would not be competitive internationally. Expect a written weekly update, a demo every two weeks, and code in your repository from the first week. A contractor who wants to work in their own repository and hand over at the end is a red flag.

Red flags

  1. Proposes a rewrite before reading the existing code.
  2. Cannot name a system they built that is still running.
  3. Wants to own the cloud account, the domain or the repository.
  4. Quotes a fixed price against a one-paragraph brief.
  5. Has no contract of their own and is happy to sign anything.

Rates

I do not publish a rate table because it would be wrong within a quarter. The useful rule is that a senior South African contractor's day rate sits between a South African permanent salary and a UK contractor's rate, and the position on that line depends on how much of their work is international. Ask for the rate, ask what it includes, and compare it to the cost of the same person being unavailable for a month.

I take on fractional CTO and senior architecture contracts through Apex Technology, working remotely. Email info@zayinkrige.com or read the full CV.