Software engineers or software developers are some of the best paid people in the world.
They build the systems that literally run the world, and are responsible for the biggest companies in the world.
Apple, Facebook, Google (Alphabet), Amazon and Microsoft are collectively known as the Big Five, or as some ‘fondly’ call them, ‘Big Tech’. They control our daily lives and police large parts of the internet. They all have something in common; they owe their existence to software engineers.
These companies have produced the richest billionaires in the world, but behind the cameras, they’ve also produced very well paid individuals. Software engineers in these companies earn way above average salaries.
But what is the situation in South Africa?
What is a Software Engineer’s Salary in South Africa?
A Software engineering job is one of those that you cannot b*llsh*t your way into. You are either skilled or very skilled.
Salaries in the industry range widely, but the biggest driving force is how good you are at your job. Seniority and experience is not as determining a factor as other industries. Someone’s starting salary can be much higher than more experienced coders, if he/she is a star in the field.
However, once the average is calculated, this career is one of the best paying in South Africa and beyond.
According to Best Jobs SA, the average base salary for a software engineer is R62.571 per month.
As with other jobs, Cape Town and Johannesburg offer higher salaries than other cities.
Also, the salaries will differ depending on what the engineer is specializing in. For instance, there may be a higher demand for Python coders, which will likely command a higher salary.
Are Software Engineers in Demand in South Africa?
In report after report, South Africa has been ranked the top country on the continent for tech related industries. The country is home to the most tech and innovation hubs in Africa, only rivaled by Nigeria and Egypt.
In terms of venture capital money raised, South Africa also performs better than most African countries, appearing in the top 4 in all reports. Only Nigeria, Egypt and Kenya seem to perform better in this regard. But this can be explained in their relative under-development compared to South Africa, which would require significant capital investment for most ventures.
This compilation by TechCrunch shows that in 2019, South Africa received anywhere from $73 million to $205 million in venture capital funding.
What these numbers tell us is that the demand for software engineers is only going up.
Most of his capital is going into industries that require a lot of coding work, for example: Fintech, AI, Cybersecurity, Gaming, Crypto and eCommerce. So that pretty much answers the demand question.
How to Become a Software Engineer in South Africa
Software engineering is a wide net, and many in the field go by different titles depending on what they majored in and are actively pursuing.
These can be relatively wider categories like Game developer, AI engineer, Security engineer, Mobile developer etc. to more specific roles like Front-End Engineer, Back-End Engineer, QA Engineer etc.
Most if not all of these require a course in Computer Science or something related. Some universities like the University of South Africa (UNISA) opt to adopt the name, just referring to it as a BSc in Software Engineering.
Some universities may include some aspects of software design and development under a general IT degree.
Basically, you will be hard pressed not to find a major university in South Africa today that does not offer a Computer science of software engineering-related course, at least at the Bachelor level.
To get into university for a software engineering course, above average performance overall is required, and particularly in Mathematics. The University of Pretoria for instance requires an NSC/IEB grade 5, or an AS Level – C in mathematics.
When it comes to your future specialization, eg. game development or mobile development, most of this will be self-taught.
Software engineering is extremely flexible and the resources available online are virtually unlimited. Within the industry, you can really be anything you want as long as you understand the building blocks.
How Long Does it Take To Become a Software Engineer in South Africa?
Software engineering is a very unique career path. Unlike many professional qualifications where you need years of training and multiple certifications, anyone at any age can become a software engineer. Or more correctly, become as good as any software engineer.
Many of the richest people on earth who made their money in tech, like Bill Gates and Elon Musk, started coding at 10 or so years. They had built incredible programs and softwares long before joing college.
It has only gotten better since then, in that the sheer number of resources available online today can transform any focused person into a very skilled software developer. And the good thing with most software companies is that they are more interested in talent and skills, rather than paper qualifications.
Elon Musk has even said that you don’t need a college degree to work at Tesla.
Software Engineers, unlike doctors or lawyers, are very privileged in this front.
However, if you want to take the traditional path, you will have to spend at least 3 years in university for a Bachelors degree.
Alternatively you can take a specialized short course that can last 3 or 6 months.