Update: We’ve written a 2020 salary article comparing developer salaries in Johannesburg, Cape Town and Pretoria. Take a look.
A developer’s earning potential is affected by various factors - experience is just one of many. We’ve analysed this before by comparing developer salaries in Johannesburg and Cape Town as well as salary differences between programming languages.
This time, we’ve decided to focus solely on the top earning developers to find out how they’ve managed to out-earn the rest. In the hope of finding interesting insights on trends and demand, we’ve looked at the top 5% of highest earning developers that found jobs through OfferZen.
We’ve realized that few extremely high salary outliers tend to skew the view on average salaries in the industry, often creating unrealistic expectations for developers with similar amounts of experience. It’s important to remember that 95% of developers are still earning less than those analysed in this study. The following simply relates to the top end of the spectrum:
The top 5 % of highest earning junior developers make up to a whopping 45k a month in their first job
Some junior devs are earning nearly double the average salary of their experience bracket - and that with little to no work experience. This raises the question whether there are other factors coming into play when companies decide to pay a premium price for a fresh graduate or junior developer.
Interestingly, the experience bracket of 1 to 2 years doesn’t differ much: Both groups show average salaries of R24 700 and R25 000 respectively, and outlier salaries of R46 000 and R45 000 per month. This could indicate that one year of work experience is not enough to drastically increase the top 5% of salaries.
Top earners with 2 to 4 years of experience earn between R50 000 and R60 000 a month, 82% more than the average of R33 000. Similarly, whilst developers with 4 to 6 years experience earn an average of R40 000, outliers make up to R75 000, about 88% more. From 6+ years of experience, we see a steeper gradient in the average, as well as in the top salaries.
One could presume that the career decisions made up until the 6th year of work experience have exponential effects on salary increases from then onwards. The top earning developers with more than 6 years of experience are earning up to R135 000, compared to the average of R58 000 a month. As the 6+ experience bracket is very wide, it is natural that the top earners largely comprise of developers with over 10 years of experience.
Across all of these ranges, the top salary outliers are earning around 1.8 times the average salary of their peers.
Given the findings above, we looked at the commonalities between these outliers. The most impactful factors seem to be:
- Tertiary education
- Programming language and
- Type of company
Let’s look at each of these in detail:
University degrees matter (at first)
On OfferZen, between 80% and 90% of the highest earning junior developers have university degrees in engineering, computer science or maths-related fields. 71% of the highest earning developers with no work experience have an honours degree. Furthermore, most of these outliers went to high-ranking universities. Since they have limited to no work experience to otherwise influence high salary negotiations, it would make sense that this would be a determining factor.
The reason why developers without university degrees do not fall into the top portion of earners at this point, is that they might not have had enough time to prove their skills in a working environment yet.
While the percentage of top earning developers with computer science related degrees remains high at around 85% for junior and mid-level experienced devs, the importance of honours degrees seems to decrease with years of experience, as seen above. It could be argued that a year of work experience with in-demand technology has the potential to give developers similar leverage for a salary increase as a year of honours studies will.
The importance of university degrees diminishes over the years, as other factors, such as choice of programming languages and types of companies worked for, take over.
The top earning senior outliers are earning between R90 000 and R135 000 a month. Interestingly, only half of these outliers have tech-related university degrees, and only 15% have an honours. Most of the remaining portion of high earning outliers not accounted for above, have completed a wide variety of software development and IT related diplomas and courses. They also have proven experience coding in their spare time - some having even started their own small ventures.
This could act as a motivation for self-taught developers, reiterating that formal education is but one element in determining the compensation of a developer. After 6 years, developers would have had the chance to gain industry experience and make strategic career decisions, reducing the interconnection of a university degree and the potential of earning a high salary.
Junior outliers: Python popularity peaks, Java remains steady
Which technologies used by grads and junior devs are bringing in the big bucks? Analysis of the top earning 5% of junior developers between 0 and 2 years of experience reveals that Python is the most prevalent programming language in around 75% of cases. Python’s popularity is on the rise and junior developers are jumping on the opportunity to use it while they are still in a position to figure out their preferred tech stack.
The reason for Python’s popularity could be due to tech giants such as Google, Youtube, Facebook, Instagram and Reddit. Python is also widely used as a scientific language in Machine Learning and Artificial Intelligence - a common interest noted amongst nearly all of the highest earning junior developers in this analysis. Java is on the heels of Python: It’s a popular language amongst 72% of the outliers.
Java is also the most prevalent of all the languages across all years of experience. There is a slight decline in Java use amongst the 6+ experienced devs - possibly due to a larger distribution of skills and languages compared to junior candidates.
As experience increases, so does C# and .Net popularity. This is potentially due to senior developers working at corporate companies utilizing these languages. The scarcity of these two languages amongst the junior high paid outliers could indicate future decline in adoption and popularity.
It should be noted that although the demand for Ruby developers is still extremely high, they remain scarce. This could be the reason for Ruby’s lower prevalence amongst top earners.
67% of junior and mid-level top earners are employed by tech start-ups
The above graph accounts for developers within the 0 to 6 years experience range. It might come as a surprise that 67% of the of highest paid developers are employed at companies with less than 100 employees. Furthermore, 26% work at micro tech start-ups with less than 15 employees.
Only 14% of highest earning devs can be attributed to large companies with over 500 employees. It has been a general idea that larger companies have more resources and capital to offer high salaries to top candidates. It is, however, an industry insight that smaller tech companies and start-ups are often willing to pay generous salaries for developers with in-demand or scarce skills. This is due to the major impact on growth that one employee could have on a small company with less than 15 employees.
The types of companies employing top earning senior developers are slightly different:
Compared to the 14% of junior and mid-level devs, half of high earning senior developers are employed by large corporates. The reason for this could be that large companies require senior team leads with more than 6 years of experience. They are also better equipped to pay salaries that rise above the already high market-related salaries of developers with 6+ years experience.
It is refreshing to note that small tech companies and start-ups are actively investing in skilled developers based on what they can bring to the table - hopefully encouraging growth of the South African tech industry as a whole.
The Silver Lining
The metrics for compensation of software developers in South Africa are changing. It seems that companies are becoming more and more willing to invest in developers based on their technical skills. Not having a degree in computer science isn’t a life-sentence to earning an average salary. It’s in fact just one factor that might play a role in the very early stages of a developer’s career. Tech startups are recruiting the cream of the crop with healthy salary offers, and there is still a definite demand for senior developers in large corporates.
Following the exact trends displayed by the top 5% of highest earning developers might not result in earning double the average market salary, but realizing that there are many different factors that influence a developer’s success in the industry might get you one step closer.
Leave a comment below if you have any questions or suggestions for a future analysis. If you’re in the market for a developer, UX, data science or product management job, check out OfferZen to get offers from over 700 of South Africa’s top tech companies.