How to hire a contract software developer in South Africa: contracts, vetting and red flags
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.
- Time and materials. A day or hourly rate, billed monthly, for a defined role. Right when the scope is evolving, which is nearly always.
- Fixed scope. A price for a written deliverable. Right for a small, fully specified piece of work. Wrong for anything the client has not specified to the paragraph, because every unspecified detail becomes a negotiation.
- Retainer. A fixed number of days a month, used or not. Right for ongoing maintenance and for fractional leadership roles, covered in what a fractional CTO does.
Vet in one interview
A senior contractor can be assessed in an hour if you ask the right things.
- Show me something you built that is running now. A live URL, an app store listing, a repository. Not a portfolio slide.
- 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.
- What would you do in the first week? The right answer starts with reading the code and the infrastructure, not with proposing a rewrite.
- 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.
- 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.
- Intellectual property assignment on payment. The client owns the code once the invoice for it is paid. Not before, and not "on completion of the project", which is a date nobody can agree on.
- Change orders. Any change to a fixed scope goes through a written change order that amends the schedule. A signed schedule is never edited in place.
- Payment terms and late-payment interest. Thirty days is standard in South Africa. Interest from day thirty-one is the only clause that makes the terms real.
- Termination notice. Thirty days either side for time and materials. Anything longer locks both parties into a relationship that has already failed.
- Confidentiality and non-solicitation. Mutual. A contractor should not poach your staff and you should not hire theirs.
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
- Proposes a rewrite before reading the existing code.
- Cannot name a system they built that is still running.
- Wants to own the cloud account, the domain or the repository.
- Quotes a fixed price against a one-paragraph brief.
- 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.