Salary amounts vary quite a lot in South Africa, they aren't as evenly balanced as they are in more established markets like the US or EU.
We’ve found that companies in South Africa take several factors into account when determining a job offer.
Where you're looking to work affects what companies are willing to pay, especially whether you want to work remotely, in-office or follow a hybrid model.
Your skills and experience level and how well that will translate into value for the company. If your skills are a great fit then you may receive a better offer than if you'll need to take time learning new technologies: but keep in mind that being flexible gives you more options and is often a better over a long-term. Experienced polyglot developers generally have a better fundamental understanding of software development and are more sought after.
The amount of responsibility you're looking to take on. In general, devs with managerial experience receive higher salaries.
Performance in interviews such as how well you relate to the interviewers and how much enthusiasm you show for the business. This is generally where companies decide whether or not you're a "culture fit".
Your salary expectations. If you have high expectations, companies will be looking for exceptional reasons to hire you and you may get less final offers than if your expectations are lower. They might also expect you to deliver to a higher standard and ramp up more quickly in the role, with less support.
How your salary expectations compare against their employees at a similar skill / experience.
Many companies will ask you to provide a current pay slip and factor this into their offer. This is an unfortunate reality and you should be prepared for this.